Commit Graph

45 Commits

Author SHA1 Message Date
NI
2356a7c155 Change static assets and websocket interface to /sshwifty/assets and /sshwifty/socket. This should allow user to map Sshwifty to a subdirectory behind a reverse proxy 2019-12-06 19:05:36 +08:00
NI
4d0b689a7d Two changes to the static file generater: 1) It now imports source file data as literal string, saves runtime conversion cost; 2) image/x-icon will no longer be compressed 2019-10-18 22:33:42 +08:00
NI
da7f06f01b Adjust favicon a bit more 2019-10-01 16:44:58 +08:00
NI
ec5099c111 More detailed debug log 2019-09-24 22:47:32 +08:00
NI
128d24d92d Add the one missing blank line 2019-09-24 22:47:13 +08:00
NI
6349d1ede5 Fixed a bug: That 4096 bytes can all be used to buffer a AES-GCM block 2019-09-20 22:07:09 +08:00
NI
a074586dcb Allowing the entire Stream payload to be relayed to the remote, not just the first part of the payload. 2019-09-19 14:56:48 +08:00
NI
020a1e8eaf Adding timeout detection to both SSH and Telnet command as well. This will prevent a dead remote connection to block backend request processing 2019-09-19 14:54:54 +08:00
NI
6aa585c228 Use more accurate size to verify payload length 2019-09-19 14:48:19 +08:00
NI
c7df33f14f Prevent SetDeadline, SetReadDeadline and SetWriteDeadline from setting up unlimited deadline, and also impose our own timeout retry mechanism. 2019-09-18 18:51:17 +08:00
NI
90db2755cd More robust way to handle write pause and resume 2019-09-16 23:21:02 +08:00
NI
d03ab083d7 Statically save Content-Type in generated files as well. 2019-09-13 14:21:24 +08:00
NI
11d6a58a36 Better Timeout in Socks5 handshake 2019-09-03 21:40:57 +08:00
NI
bf68b88919 Fix the problematic SSH handshake timeout 2019-09-02 22:21:23 +08:00
NI
b1cd29cc27 Close connection when SSH handshake fails. 2019-09-02 12:37:51 +08:00
NI
e414144331 Typo: Authenication => Authentication 2019-08-29 21:38:55 +08:00
NI
3749460d14 SSH: Don't timeout during handshake if we're waiting for user input 2019-08-29 21:36:25 +08:00
NI
8fe5d677ec Add error.html 2019-08-27 17:24:37 +08:00
NI
6cfc5b0e07 Better HTTP caching 2019-08-27 15:43:38 +08:00
NI
0becf0d7fc Rename CommandConfiguration to Configuration 2019-08-19 21:34:25 +08:00
NI
1070c2bcf2 Add timeout for SSH handshake 2019-08-19 21:29:47 +08:00
NI
33076628a4 Don't set the initial deadline if the upper wants to set it 2019-08-19 19:27:22 +08:00
NI
d074eb986f Handle SIGTERM as well. Why not. 2019-08-18 10:26:54 +08:00
NI
541e4b9233 Add a initial read deadline to Socks5 Conn.
This allows us to actually implement the socks5 dial timeout without depend on the timeout setting on the socks5 proxy server.
2019-08-17 10:26:04 +08:00
NI
929c3d4477 Add a delay inside the key verification process. 2019-08-14 17:25:00 +08:00
NI
1c3527a67a Memory usage should be reduced even a bit more, as unused buffer space is now been cut off of decoded static data. 2019-08-14 12:34:22 +08:00
NI
e6c68194ad Change cipherRWBufferSize to match the one on the client, so we don't run cipher that often (Adds overhead). 2019-08-14 08:15:01 +08:00
NI
5e6a774bd8 Fixed typo Passpharse => Passphrase #2
Thanks for reporting.
2019-08-13 17:37:06 +08:00
NI
36ee034bcf Use ReadTimeout*0.8 as max heartBeatTimeout rather than ReadTimeout/2.
Heartbeat is usually returned very quickly, no need to force two heartbeat within one read timeout period.

User can change the configuration to bring back the setting if needed.
2019-08-13 10:55:48 +08:00
NI
f3336d61a0 Make DialTimeout configurable. 2019-08-12 23:50:24 +08:00
NI
d4c297e9ca Remote connection failure should not effect host connection (Returning error will trigger the termination of the host connection) 2019-08-12 12:19:30 +08:00
NI
639af4dba2 Use 128 bit key rather than 192 bit. Because Chrome says it don't support 192 bit AES key. 2019-08-12 11:05:53 +08:00
NI
ee7a6a4703 Support SSHWIFTY_ENV_RENAMED: prefix. When the value of an environment variable is prefixed with SSHWIFTY_ENV_RENAMED:, read another environment variable. For example: if SSHWIFTY_LISTENPORT = SSHWIFTY_ENV_RENAMED:PORT, the final value will be read from $PORT.
This is useful if the application is running on a cloud platform which force application to use their environment variables.
2019-08-11 12:12:44 +08:00
NI
2f670d625a Better value calculation, prevents the zero HeartbeatTimeout problem. 2019-08-10 15:41:22 +08:00
NI
8a9a483dd6 Add Direct configuration loader 2019-08-10 15:02:57 +08:00
NI
fa48b6aa34 Better message 2019-08-10 15:01:11 +08:00
NI
4f0d899346 Calculate HeartbeatTimeout configuration in the right way. 2019-08-10 14:54:18 +08:00
NI
6c3e681d8b Bootup message between HTTP and HTTPS server are now different. One will display "Serving", other one will display "Serving TLS" 2019-08-09 16:27:16 +08:00
NI
5e9e308d8a Fixed a bug causing .WithDefault to reset settings: I forgot to assign values. 2019-08-09 16:25:56 +08:00
NI
fe185389fa Fixed a race condition inside the test. 2019-08-08 08:02:31 +08:00
NI
ebd6a7ad66 Add warning description about the AES-GCM cipher. 2019-08-07 19:17:56 +08:00
NI
539aa71e4e Returning the missing loader name. 2019-08-07 16:49:32 +08:00
NI
7f4cf7bef5 Remove files generated by go generate.
User should generate those files by thenselves during build proccess.
2019-08-07 16:39:21 +08:00
NI
122587c4bd Change word DEPENDENCES to DEPENDENCIES.
See? This is something would happen if you staring at a file that you created like a month ago and start to think "Hey, I wonder whether or not this is a valid English word"
2019-08-07 16:23:13 +08:00
NI
02f14eb14f Initial commit 2019-08-07 15:56:51 +08:00