Andy Wang
b3ec1ab3bc
Make server respond with a TLS 1.3 cipher suite
2024-02-09 15:49:42 +00:00
Andy Wang
eca5f13936
Remove WriteTo from recvBuffer to prevent blocking on external Writer.
...
Fixes #229
2023-11-12 20:47:17 +00:00
Andy Wang
59919e5ec0
Remove gopacket dependency due to pcap
2023-04-23 15:14:14 +02:00
Andy Wang
d04366ec32
Fix padding calculation
2023-04-23 15:09:35 +02:00
Andy Wang
bc67074610
Add Safari browser signature
2023-04-23 11:04:02 +02:00
Andy Wang
641f6b2a9c
Update to Chrome and Firefox 112
2023-04-23 11:04:02 +02:00
name
11e42dd542
Add WebSocket path for CDN mode
...
add new option to README
Change field name and default value of CDNWsUrlPath
2023-03-07 17:13:13 +08:00
name
e696b18187
format using goimports
2023-03-07 17:09:18 +08:00
HirbodBehnam
9614fbc03d
Update firefox fingerprint
2022-03-24 14:14:50 +04:30
HirbodBehnam
f67ae6e644
Update chrome fingerprint
2022-03-23 21:52:17 +04:30
Andy Wang
750340126a
Update browser fingerprint versions (no actual fingerprint change)
2022-02-02 22:00:32 +00:00
Andy Wang
611bad91fd
Minor refactors to remove unnecessary function
2022-02-02 22:00:26 +00:00
Andy Wang
e157e73ade
Check proxy method after checking admin uid to allow admin to have an invalid but unused proxy method
2022-01-26 00:58:52 +00:00
Andy Wang
67dba8c8fa
Return empty slices instead of nil for ListAllUsers
2022-01-26 00:57:18 +00:00
Andy Wang
121c27fe1f
Merge pull request #168 from notsure2/fix-empty-alternative-names
...
Fix incorrect addition of empty name in MockDomainList if the config string contains AlternativeNames=;
2021-07-24 16:38:49 +01:00
notsure2
9d5c663618
Fix incorrect addition of empty name in MockDomainList if the config string contains AlternativeNames=;
2021-07-22 20:05:30 +02:00
notsure2
387b76d426
Support CloudFlare CDN. Fixes #155
2021-07-22 14:52:56 +02:00
Andy Wang
cfdff93a1c
Update Chrome version comment (actual signature remains the same)
2021-04-30 16:00:52 +01:00
Andy Wang
8709bc0b2f
Update Firefox signature to version 88
2021-04-30 15:56:08 +01:00
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>
2021-03-25 20:06:16 +00:00
Andy Wang
91106f3c49
Prevent terminal msg from being overwritten to later concurrent writes
2021-01-12 20:59:30 +00:00
Andy Wang
32494b8d86
Prevent recvBufferSizeLimit from overflowing signed 32-bit integer
2021-01-09 00:15:46 +00:00
Andy Wang
f27889af11
Allow partial json to be POSTed to admin/user/{UID} for only updating select fields
2021-01-05 21:48:02 +00:00
Andy Wang
a643402e11
Remove redundant lazy allocation
2020-12-31 23:53:22 +00:00
Andy Wang
2bcb4a406d
Fix RecvDataFromRemote benchmark
2020-12-31 12:28:40 +00:00
Andy Wang
603b614009
Control flow optimisation in picking switchboard strategy
2020-12-29 23:58:18 +00:00
Andy Wang
b4d65d8a0e
Use sync.Map for lock free pickRandConn
2020-12-29 19:53:14 +00:00
Andy Wang
8ab0c2d96b
Redo the implementation of switchboard and remove the need for connId
2020-12-29 14:24:54 +00:00
Andy Wang
4a2eac51fe
Cleanup some tests using testify/assert
2020-12-29 01:24:32 +00:00
Andy Wang
8dd4ae4bef
Better conform message data length to TLS standards
2020-12-29 00:16:24 +00:00
Andy Wang
439b7f0eb3
Improve encapsulation
2020-12-28 12:15:01 +00:00
Andy Wang
2c709f92df
Correctly assign payloadCipher to Obfuscator field, and add test for this issue
2020-12-28 12:04:32 +00:00
Andy Wang
5cb54aa3c9
Correctly fallthrough to fix client configuration compatibility
2020-12-28 09:15:40 +00:00
Andy Wang
fd695db044
Reduce unnecessary test bloat
2020-12-28 01:27:40 +00:00
Andy Wang
c60c6d8ddb
Avoid assigning functions to variables in hot path
2020-12-28 01:25:22 +00:00
Andy Wang
661db9d083
Correctly copy frame payload in frame sorter
2020-12-28 00:48:41 +00:00
Andy Wang
f322f8b47f
Randomise echo test data
2020-12-28 00:48:16 +00:00
Andy Wang
8fbb2dd8cc
Add more data reception tests
2020-12-28 00:29:56 +00:00
Andy Wang
23b32b603f
Latency benchmark
2020-12-27 22:01:41 +00:00
Andy Wang
e0b97db7cc
Add unordered benchmark for RecvDataFromRemote
2020-12-27 21:40:59 +00:00
Andy Wang
d1b05ee9e5
Add new encryption method option aes-128-gcm
2020-12-27 13:26:45 +00:00
Andy Wang
cbd71fae6d
Control flow optimisations
2020-12-26 16:34:25 +00:00
Andy Wang
3ad04aa7e9
Add latency benchmark
2020-12-26 15:36:38 +00:00
Andy Wang
2d08e88efb
Use a sync.Pool to remove the global random bottleneck in picking a random conn
2020-12-26 13:48:42 +00:00
Andy Wang
415523f10a
Refactor obfuscate and deobfuscate functions to reduce a layer of indirection
2020-12-26 00:49:36 +00:00
Andy Wang
2f17841f85
Use Compare-And-Swap for atomic booleans indicating session and switchboard closed
2020-12-25 23:16:57 +00:00
Andy Wang
4f34e69006
Use pooled buffer for session closing frame
2020-12-24 13:42:22 +00:00
Andy Wang
881f6e6f9d
Use sync.Pool for obfuscation buffer
2020-12-24 11:35:29 +00:00
Andy Wang
5933ad8781
Replace bytes.Buffer with vanilla []byte in tls wrapper
2020-12-24 10:26:53 +00:00
Andy Wang
4209483a48
Reduce memory pressure in tests
2020-12-23 23:58:47 +00:00