Commit Graph

189 Commits (63f3b4a89f8d83a32685668d63138e3a6dc6949f)

Author SHA1 Message Date
Qian Wang ea5bb44b0a Add and edit some tests 5 years ago
Qian Wang 82fe177c24 Change how timestamp's validity is checked 5 years ago
Qian Wang fc9f227ccf stream.Write now returns the correct amount of data written 5 years ago
Qian Wang 572fe8486a Rename a variable and modify a test 5 years ago
Qian Wang 586cc5ebb6 Optimise deobfs 5 years ago
Qian Wang e3de2b9852 Fix a potential make len<0 5 years ago
Qian Wang b7549c0664 Fix a potential nil pointer 5 years ago
Qian Wang e244340885 Modify some tests 5 years ago
Qian Wang d99b4009b2 Differentiate concrete types of LimitedValve and UnlimitedValve to avoid unnecessary atomic.AddUint64 since it has non-trivial overhead on embedded systems 5 years ago
Qian Wang e7aa4cd04b Fix a stuck mutex 5 years ago
Qian Wang ae4fc917b6 Let the server send a mock encrypted certificate after ChangeCipherSuite to imitate real behaviour more closely 5 years ago
Qian Wang 81f233c226 Update obfs_test 5 years ago
Qian Wang acb999ee64 Force aead key sizes as 32 bytes due to chacha20-poly1305 5 years ago
Qian Wang 581c2332d1 Fix obfs_test as it wasn't really testing encryptionMethod other than aes-gcm 5 years ago
Qian Wang 1d878b3adb Use AEAD to encrypt session key in ServerHello to provide authentication of the identity of the server 5 years ago
Qian Wang 623ca55ab5 Add ecdh test 5 years ago
Qian Wang 3002c87a49 Fix a server crashing null pointer 5 years ago
Qian Wang e15536d7c7 Refactor TLS handshake 5 years ago
Qian Wang 3dc4c6fb3f Add more trace logs 5 years ago
Qian Wang 01036086c7 Change the frame distribution strategy so that each stream is assigned a fixed underlying TCP connection to send its frames to reduce framesorter ooo count 5 years ago
Qian Wang fac381dbca Refactor switchboard 5 years ago
Qian Wang d46fa74924 Refactor frame sorter 5 years ago
Qian Wang 9fcc328797 Fix a mutex deadlock 5 years ago
Qian Wang 76095bde0f Add user bypass feature 5 years ago
Qian Wang a513663a72 Use a fork of ratelimit for unlimited bucket 5 years ago
Qian Wang 640f81461c Buffer reuse in obfs 5 years ago
Qian Wang 9fa37e327f Use exclusively salsa20 for header encryption 5 years ago
Qian Wang f933c7b453 Move pipe to util 5 years ago
Qian Wang bf83273f6e Fix redirection 5 years ago
Qian Wang 64b39d728f Refactor usedrandom 5 years ago
Qian Wang 08cb5d8462 Refactor usermanager 5 years ago
Qian Wang 67521efbd6 Alter composeServerHello function signature slightly 5 years ago
Qian Wang 57fc31a5fc Add tests 5 years ago
Qian Wang 237b9d131b Add and fix some tests 5 years ago
Qian Wang e0e33e12d6 Fix non random GREASE generation 5 years ago
Qian Wang 05972863b5 Add tests 5 years ago
Qian Wang 53b6b96262 Remove stupid code 5 years ago
Qian Wang 429da0e0d9 Add unit tests 5 years ago
Qian Wang e75c713385 Refactor session struct's obfs fields 5 years ago
Qian Wang 1a628cb524 Refactor client TLS 5 years ago
Qian Wang 33f232475d Improve logging 5 years ago
Qian Wang 726a405a26 TLS1.3 5 years ago
Qian Wang 0684f5df40 Refactor payload cipher 5 years ago
Qian Wang 2735de4f96 Fix bad cryptography 5 years ago
Qian Wang 0fbb6011fc Remove psudorandom padding 5 years ago
Qian Wang 0f3b2232ab Remove redundant config field 5 years ago
Qian Wang e1c879a478 Fix CORS and POST handler 5 years ago
Qian Wang 6af97e2c22 Optimise session closing 5 years ago
Qian Wang 059a222394 Use defer to unlock mutexes 5 years ago
Qian Wang bf8d373f79 Stream optimisations 5 years ago
Qian Wang 0f9830e716 Update test 5 years ago
Qian Wang 73c0b8567e Memory optimisation 5 years ago
Qian Wang 6fc48c5dae Fix a goroutine leak 5 years ago
Qian Wang 1099b558f1 Fix admin mode 5 years ago
Qian Wang 0e08683828 Use a buffered pipe to buffer sorted data 5 years ago
Qian Wang 38f3a4a522 Only start a session after a local connection has been made 5 years ago
Qian Wang 75fecacd20 Change the protocol to solve sessionTicket inconsistency 5 years ago
Qian Wang 592175f73d Close pipe properly 5 years ago
Qian Wang 8f9922b06b Add terminal messages upon session closing 5 years ago
Qian Wang 8ff0f3d17e Rename handlers 5 years ago
Qian Wang 09bdae2584 Add CORS header through middleware 5 years ago
Qian Wang 2ce6f380d1 Implement admin control through a tunneled RESTful API 5 years ago
Qian Wang 98a772b6ee Add server response to status update 5 years ago
Qian Wang 9b552f55a4 Allow an terminal message to be set as a session terminates 5 years ago
Qian Wang 299f08270c make Session implement net.Listener 5 years ago
Qian Wang 29a45bcc1a Rewrite user authentication, credit bookkeeping and db interaction 5 years ago
Qian Wang c88c3d0084 Timeout unused new sessions 5 years ago
Qian Wang 710fa6835a Reduce the size of UID to 16 bytes 5 years ago
Qian Wang d781c7b1be Use a sessional ephemeral key as the main key instead of UID for forward security 5 years ago
Qian Wang ef185b00f0 Solve a data race 5 years ago
Qian Wang 589900fe52 I just did a joint and I need to commit before things go wrong 5 years ago
Qian Wang 00069b7a69 Support Chaha20-Poly1305 5 years ago
Qian Wang 078a382963 Improve the security of header obfuscation 5 years ago
Qian Wang f525643518 Remove debug log 5 years ago
Qian Wang 8168b9e2e7 Use AES-GCM instead of CTR 5 years ago
Qian Wang 0dd52d8570 Add optional encryption 5 years ago
Qian Wang 3e9855191b Cloak 2: generalising cloak as a universal pluggable transport for arbitary proxies 5 years ago
Qian Wang 425dbc4797 Session times out 30s after all streams have been closed 5 years ago
Qian Wang 99afb1a58b Remove ECDH as an external dependancy and include it as a internal package 6 years ago
Qian Wang c44b202c27 Regenerate SessionID on reconnection 6 years ago
Qian Wang 9d2e9be1ef Fix a race which causes the server unable to close all the connections in a session 6 years ago
Qian Wang cb07e446b6 Fix issue which the closing frame padding gets send as acutal data 6 years ago
Qian Wang a52c3204d1 Fix a stuck RWMutex 6 years ago
Qian Wang b522d4a407 Fix constant overflow 6 years ago
Qian Wang 8a10949846 Add unit tests 6 years ago
Qian Wang 46c8bc24de Fix wrapping bug 6 years ago
Qian Wang 9793537034 Faster reconnection 6 years ago
Qian Wang 17d024ac16 Remove reundancy and fix a race 6 years ago
Qian Wang a6e16b4f74 Fix memory leak 6 years ago
Qian Wang 935f995954 Fix a user input validation 6 years ago
Qian Wang 735dc64bd1 Stop using custom conversion function 6 years ago
Qian Wang 41da4102ab Syntax cleanups 6 years ago
Qian Wang 24cdf274dd Change the stream header format and reduce overhead 6 years ago
Qian Wang f4a1c21c2c Birng back sequence wrapping 6 years ago
Qian Wang 95c3dbfcf2 Specify when failed to open userinfo database 6 years ago
Qian Wang 0544364a8e Cleanup logs 6 years ago
Qian Wang 310ce1643a Minor Makefile edit and remove FIXME 6 years ago
Qian Wang d906541497 Redo the header obfuscation. Fix hiccups caused by short packets 6 years ago
Qian Wang fb12f096d1 Abandon the frameSeq wrapping 6 years ago
Qian Wang 59c18437e4 Fix a race regarding client keyPairs caching 6 years ago