Commit Graph

770 Commits

Author SHA1 Message Date
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
Andy Wang 651854904f Improve comments 2020-10-21 00:54:36 +01:00
Andy Wang 977f51ce48 Add comments 2020-10-20 01:10:57 +01:00
Andy Wang 5af55d62d8 Update README.md 2020-10-18 23:35:55 +01:00
Andy Wang c564114f76 Allow retries in time sensitive tests 2020-10-18 23:06:49 +01:00
Andy Wang ef040b0115 Fix stream closing tests 2020-10-18 22:56:31 +01:00
Andy Wang 54bca721e8 Add tests for API handlers 2020-10-18 22:50:29 +01:00
Andy Wang c5276df32e Check payload AEAD's size in relation to frame header's size 2020-10-18 21:41:30 +01:00