Commit Graph

627 Commits

Author SHA1 Message Date
Andy Wang 275540a793
Fix commandline syntax 2020-12-19 19:21:36 +00:00
Andy Wang 3728622f48
Add github actions 2020-12-19 19:17:18 +00:00
Andy Wang 2e36627a12
Make AdminUID optional and implement better validation on empty config fields 2020-12-19 15:34:17 +00:00
Andy Wang 21bcb53062
Human friendly key and uid generators 2020-12-19 15:24:25 +00:00
Andy Wang a803d20970
Remove sensitive keys from example configs to prevent people from using them 2020-12-19 14:45:55 +00:00
不确定 cfbf0dfcb6
Fix critical bugs in session opening for TCP and UDP in case of Singleplex mode. (#145)
* Fix critical bugs in session opening for TCP and UDP in case of Singleplex mode.

- In case of TCP, don't open the session in the listener accept thread. This
  causes resource exhaustion of the tcp listener backlog queue in case of internet
  connection disruption or timeout.

- In case of UDP, don't create a new session for every UDP packet.

* Fix race in integration test.

* Fix race condition in session maker

* Code style improvements

* Explicit session.Close() call is indeed needed

Co-authored-by: Andy Wang <cbeuw.andy@gmail.com>
2020-12-19 14:42:10 +00:00
notsure2 77f9f6c9a4 Merge branch 'fix-blocking-make-session' into notsure2 2020-12-14 08:56:58 +02:00
notsure2 4dabcd22eb Fix critical bugs in session opening for TCP and UDP in case of Singleplex mode.
- In case of TCP, don't open the session in the listener accept thread. This
  causes resource exhaustion of the tcp listener backlog queue in case of internet
  connection disruption or timeout.

- In case of UDP, don't create a new session for every UDP packet.
2020-12-14 08:52:11 +02:00
Andy Wang 7b6a82b364
Remove StreamTimeout from ckserver's example config 2020-12-13 12:37:25 +00:00
notsure2 566874874d Merge branch 'master' into notsure2 2020-12-12 22:48:41 +02:00
Andy Wang c3ee9f2127
Merge branch 'master' of github.com:cbeuw/Cloak 2020-12-12 20:45:14 +00:00
不确定 a72273096a
Add CdnHttpHost config setting with documentation. (#143)
* Add CdnHttpHost config setting with documentation.

* Rename CdnHttpHost to CDNOriginHost and make README more concise

Co-authored-by: Andy Wang <cbeuw.andy@gmail.com>
2020-12-12 20:40:48 +00:00
notsure2 1e6a348d4e Merge branch 'master' into notsure2 2020-12-12 22:06:56 +02:00
notsure2 e6799b2c1c Merge branch 'add-cdn-http-host-config-setting' into notsure2 2020-12-12 21:39:41 +02:00
Andy Wang 93c355d2a6
Rename CdnHttpHost to CDNOriginHost and make README more concise 2020-12-12 18:17:26 +00:00
Andy Wang d5a003d6d6
Remove StreamTimeout from server completely 2020-12-12 17:51:54 +00:00
不确定 e77fd4c446
Fix regression: termination of long downloads after StreamTimeout seconds (#141)
* Fix termination of long downloads after StreamTimeout seconds.

- Even if not broadcasting in a loop, we still need to update the read deadline.
- Don't enforce the timeout after the first data is written.

* When timeout no longer needs to be enforced, no need to schedule a broadcast.

* Fix Cloak client. Don't enforce read deadline after first read.

* Enforce StreamTimeout on the initial bytes sent by localConn only.

* Revert changes to multiplex module. Remove timeout from caller.
2020-12-12 17:00:46 +00:00
notsure2 273e5a7750 Merge branch 'fix-termination-of-long-downloads' into notsure2 2020-12-12 02:39:56 +02:00
notsure2 9d6ab39a77 Revert changes to multiplex module. Remove timeout from caller. 2020-12-12 02:37:06 +02:00
Andy Wang 57138e84e5
Merge branch 'master' of github.com:cbeuw/Cloak 2020-12-11 19:52:54 +00:00
notsure2 caca33a1a5 Respect user choice of ProxyMethod in shadowsocks plugin mode. 2020-12-11 09:03:48 +00:00
notsure2 cdb7982c75 Merge branch 'add-cdn-http-host-config-setting' into notsure2 2020-12-11 05:10:49 +02:00
notsure2 cd20c62738 Add CdnHttpHost config setting with documentation. 2020-12-11 05:09:18 +02:00
notsure2 c87405377c Merge branch 'fix-termination-of-long-downloads' into notsure2 2020-12-09 05:09:40 +02:00
notsure2 35e1129e05 Enforce StreamTimeout on the initial bytes sent by localConn only. 2020-12-09 02:03:52 +02:00
notsure2 8afc9315e0 Merge branch 'fix-termination-of-long-downloads' into notsure2 2020-12-08 22:45:23 +02:00
notsure2 2a18da037f Fix Cloak client. Don't enforce read deadline after first read. 2020-12-08 22:43:08 +02:00
notsure2 8df83e6ace Merge branch 'allow-different-proxy-method-ss' into notsure2 2020-12-07 22:29:32 +02:00
notsure2 62853681b7 Respect user choice of ProxyMethod in shadowsocks plugin mode. 2020-12-07 22:28:03 +02:00
notsure2 3d103e728c When timeout no longer needs to be enforced, no need to schedule a broadcast. 2020-12-07 14:22:39 +02:00
notsure2 ee5968afee Fix termination of long downloads after StreamTimeout seconds.
- Even if not broadcasting in a loop, we still need to update the read deadline.
- Don't enforce the timeout after the first data is written.
2020-12-06 17:42:22 +02:00
Andy Wang 061b10e802
Improve tests code quality 2020-12-06 11:14:33 +00:00
Andy Wang 61b1031da6
Reduce code duplication in session closing 2020-12-06 10:50:45 +00:00
Andy Wang 46f4235ccb
Update readme 2020-12-06 00:54:22 +00:00
Andy Wang 0482d28f86
Merge pull request #138 from notsure2/explicit-stop-timer
Optimise calls to time.AfterFunc in buffered pipe implemenations to reduce memory usage
2020-12-06 00:53:30 +00:00
Andy Wang 0327d0ffb3
Further reduce the amount of calls to AfterFunc 2020-12-06 00:16:29 +00:00
notsure2 208a7f249f Fix memory leaking by extra timers. 2020-12-06 01:47:52 +02:00
Andy Wang c0040f20c3
Use time.AfterFunc for session inactivity timeout to reduce goroutine count 2020-12-05 21:38:16 +00:00
Andy Wang a3520c1018
Revert "Prevent time.Timer memory leak by using a singleton timer in bufferedPipes. Fix #137"
This reverts commit 4baca256
2020-12-05 21:26:41 +00:00
Andy Wang 4baca256f7
Prevent time.Timer memory leak by using a singleton timer in bufferedPipes. Fix #137 2020-12-05 12:04:55 +00:00
Andy Wang 39c06a6e1d
Update comment 2020-12-04 22:27:24 +00:00
Andy Wang ebce40ce2d
Update README 2020-12-04 22:26:49 +00:00
Andy Wang 347bb0fad5
Tweak CI 2020-12-01 14:06:30 +00:00
Andy Wang f1c656758f
Update azure release script 2020-11-29 12:43:45 +00:00
Andy Wang f19666a6cd
#135 Disable CGO to prevent Go from dynamically linking libc on native compilation 2020-11-29 12:36:20 +00:00
Andy Wang 095471103a
Fix timestamp tests 2020-11-24 19:00:02 +00:00
不确定 b7e7bfb314
Make sure times are UTC and correctly subtract the timestamp window from the server time. (#134) 2020-11-24 18:58:02 +00:00
Andy Wang 0f6e0d37b5 Rename constants to camel case 2020-10-21 16:42:24 +01:00
Andy Wang 11cfeb4fa3 Improve comments 2020-10-21 16:37:32 +01:00
Andy Wang 735975ef88 Fix typo and remove redundant benchmark 2020-10-21 15:53:39 +01:00