Commit Graph

48 Commits

Author SHA1 Message Date
name e696b18187 format using goimports 2023-03-07 17:09:18 +08: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 c60c6d8ddb
Avoid assigning functions to variables in hot path 2020-12-28 01:25:22 +00:00
Andy Wang d1b05ee9e5
Add new encryption method option aes-128-gcm 2020-12-27 13:26:45 +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 5a3f63f101
Reduce allocation of frame objects on receiving data 2020-12-22 14:45:29 +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 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 c5276df32e Check payload AEAD's size in relation to frame header's size 2020-10-18 21:41:30 +01:00
Andy Wang e141323c9d Fix obfsBuf being too small on closing frame 2020-10-18 21:37:41 +01:00
Andy Wang 3e133090f0 Give more descriptive names to multiplex objects 2020-10-15 22:51:36 +01:00
Andy Wang 4a81683e44 Code cleanup and move stuff around 2020-04-14 14:14:51 +01:00
Andy Wang 53c0c6bafe Explicitly allow buf overlap in obfs 2020-04-13 22:48:28 +01:00
Andy Wang f0e8b4556e Eliminate some bounds check 2020-04-12 16:10:48 +01:00
Andy Wang a51d45f41a Avoid unnecessary pass by pointer 2020-04-10 16:09:05 +01:00
Andy Wang e41394c83c Set frame size limit through multiplexer 2020-04-09 16:37:46 +01:00
Andy Wang 7bfae8accd Refactor client side transport (breaks server) 2020-04-08 20:53:09 +01:00
Andy Wang 43ae82ec0e Fix test, improve err message and fix nil interface casting 2020-04-08 15:58:46 +01:00
Andy Wang 1de5045003 Use errors from io 2020-04-08 14:59:09 +01:00
Andy Wang 01e5d15d20 Code cleanup 2020-04-08 12:18:20 +01:00
Andy Wang c1f3408c2c Make key lengths explicit 2020-04-07 21:15:28 +01:00
Andy Wang 517a6d6e57 Handle error and retry for Crypto.rand 2020-02-01 23:46:46 +00:00
Andy Wang 339b324946 Working direct WebSocket transport 2019-09-01 20:23:45 +01:00
Andy Wang 4fb1f55e2d Use 64bit frame Seq to prevent nonce reuse 2019-08-27 15:06:28 +01:00
Andy Wang 87a7684e10 More comments 2019-08-20 22:43:04 +01:00
Andy Wang c276f504b5 Use ENUM constants for encryption methods 2019-08-16 23:44:40 +01:00
Qian Wang 572fe8486a Rename a variable and modify a test 2019-08-07 19:08:37 +01:00
Qian Wang 586cc5ebb6 Optimise deobfs 2019-08-07 17:53:34 +01:00
Qian Wang e3de2b9852 Fix a potential make len<0 2019-08-07 17:22:40 +01:00
Qian Wang acb999ee64 Force aead key sizes as 32 bytes due to chacha20-poly1305 2019-08-07 00:15:55 +01:00
Qian Wang 640f81461c Buffer reuse in obfs 2019-08-04 10:38:49 +01:00
Qian Wang 9fa37e327f Use exclusively salsa20 for header encryption 2019-08-03 22:05:06 +01:00
Qian Wang 0684f5df40 Refactor payload cipher 2019-08-01 00:43:33 +01:00
Qian Wang 2735de4f96 Fix bad cryptography 2019-08-01 00:16:33 +01:00
Qian Wang 73c0b8567e Memory optimisation 2019-07-28 00:15:27 +01:00
Qian Wang ef185b00f0 Solve a data race 2019-06-15 11:52:46 +10:00
Qian Wang 589900fe52 I just did a joint and I need to commit before things go wrong 2019-06-14 23:08:28 +10:00
Qian Wang 00069b7a69 Support Chaha20-Poly1305 2019-06-14 20:26:26 +10:00
Qian Wang 078a382963 Improve the security of header obfuscation 2019-06-14 19:48:59 +10:00
Qian Wang 8168b9e2e7 Use AES-GCM instead of CTR 2019-06-10 00:03:28 +10:00
Qian Wang 0dd52d8570 Add optional encryption 2019-06-09 21:05:41 +10:00
Qian Wang 24cdf274dd Change the stream header format and reduce overhead 2019-01-13 21:28:57 +00:00
Qian Wang d906541497 Redo the header obfuscation. Fix hiccups caused by short packets 2019-01-06 01:40:27 +00:00
Qian Wang 36a743c3ca Client using AdminUID can now use the proxy without adding themselves to the db 2018-12-11 23:26:05 +00:00
Qian Wang ed1253ff4c Refactor MakeObfs and MakeDeobfs 2018-12-09 23:45:06 +00:00