Selim
ae14e28999
ServerName rotation ( #158 )
...
* inital servername rotation
* Move MockDomainList to LocalConnConfig as the list doesn't need to be sent to the remote
* Use CSPRNG to pick the next candidate of MockDomains
Co-authored-by: Andy Wang <cbeuw.andy@gmail.com>
3 years ago
Andy Wang
91106f3c49
Prevent terminal msg from being overwritten to later concurrent writes
3 years ago
Andy Wang
32494b8d86
Prevent recvBufferSizeLimit from overflowing signed 32-bit integer
3 years ago
Andy Wang
f27889af11
Allow partial json to be POSTed to admin/user/{UID} for only updating select fields
3 years ago
Andy Wang
a643402e11
Remove redundant lazy allocation
3 years ago
Andy Wang
2bcb4a406d
Fix RecvDataFromRemote benchmark
3 years ago
Andy Wang
603b614009
Control flow optimisation in picking switchboard strategy
3 years ago
Andy Wang
b4d65d8a0e
Use sync.Map for lock free pickRandConn
3 years ago
Andy Wang
8ab0c2d96b
Redo the implementation of switchboard and remove the need for connId
3 years ago
Andy Wang
4a2eac51fe
Cleanup some tests using testify/assert
3 years ago
Andy Wang
8dd4ae4bef
Better conform message data length to TLS standards
3 years ago
Andy Wang
439b7f0eb3
Improve encapsulation
3 years ago
Andy Wang
65443da872
Merge branch 'master' into obfs-fix
3 years ago
Andy Wang
2c709f92df
Correctly assign payloadCipher to Obfuscator field, and add test for this issue
3 years ago
Andy Wang
eee8209195
Revert "Refactor obfuscate and deobfuscate functions to reduce a layer of indirection"
...
This reverts commit 415523f1
See issue #149
3 years ago
Andy Wang
5cb54aa3c9
Correctly fallthrough to fix client configuration compatibility
3 years ago
Andy Wang
fd695db044
Reduce unnecessary test bloat
3 years ago
Andy Wang
c60c6d8ddb
Avoid assigning functions to variables in hot path
3 years ago
Andy Wang
661db9d083
Correctly copy frame payload in frame sorter
3 years ago
Andy Wang
f322f8b47f
Randomise echo test data
3 years ago
Andy Wang
8fbb2dd8cc
Add more data reception tests
3 years ago
Andy Wang
23b32b603f
Latency benchmark
3 years ago
Andy Wang
e0b97db7cc
Add unordered benchmark for RecvDataFromRemote
3 years ago
Andy Wang
57bb437802
Log timestamp
3 years ago
Andy Wang
d1b05ee9e5
Add new encryption method option aes-128-gcm
3 years ago
Andy Wang
cbd71fae6d
Control flow optimisations
3 years ago
Andy Wang
3ad04aa7e9
Add latency benchmark
3 years ago
Andy Wang
2d08e88efb
Use a sync.Pool to remove the global random bottleneck in picking a random conn
3 years ago
Andy Wang
415523f10a
Refactor obfuscate and deobfuscate functions to reduce a layer of indirection
3 years ago
Andy Wang
2f17841f85
Use Compare-And-Swap for atomic booleans indicating session and switchboard closed
3 years ago
Andy Wang
4f34e69006
Use pooled buffer for session closing frame
3 years ago
Andy Wang
881f6e6f9d
Use sync.Pool for obfuscation buffer
3 years ago
Andy Wang
5933ad8781
Replace bytes.Buffer with vanilla []byte in tls wrapper
3 years ago
Andy Wang
4209483a48
Reduce memory pressure in tests
3 years ago
Andy Wang
3b24c33e78
Remove incorrect concurrent uses of testing.T.Fatal
3 years ago
Andy Wang
70a9723377
Temp fix to testing reading after closing a stream
3 years ago
Andy Wang
a97f5759c0
Fix race condition in tests
3 years ago
Andy Wang
0209bcd977
Fix race condition in steam closing. Fall back to temp buffer allocation
3 years ago
Andy Wang
53f0116c1d
Fix race condition in the use of assert.Eventually
3 years ago
Andy Wang
9108794362
Fix race condition in allocating obfsBuf
3 years ago
Andy Wang
5c5e9f8c14
Prevent unnecessary allocation in stream closing
3 years ago
Andy Wang
3e737717bd
Use assert.Eventually to correctly handle more timing sensitive tests
3 years ago
不确定
dc030fbb47
Implement UDP stream timeout. ( #148 )
...
* Implement UDP stream timeout.
* Correctly delete streams from map after closing
Co-authored-by: Andy Wang <cbeuw.andy@gmail.com>
3 years ago
Andy Wang
4d1612774f
Use a buffer pool to reduce contentions in tls wrapper
3 years ago
Andy Wang
35f41424c9
Use default hashmap to store streams. Avoid allocating a stream object on receiving every single frame
3 years ago
Andy Wang
fd5005db0a
Fix a timing sensitive test on reading data after actively closing a stream
3 years ago
Andy Wang
ff503b06a8
Only allocate and copy frame object into sorter heap when necessary (out of order frame)
3 years ago
Andy Wang
5a3f63f101
Reduce allocation of frame objects on receiving data
3 years ago
Andy Wang
104117cafb
Fix one instance of not accessing recvBuf via the getter
3 years ago
Andy Wang
4bc80af9a1
Lazily allocate stream receiving buffer
3 years ago