Commit Graph

106 Commits

Author SHA1 Message Date
Qian Wang
237b9d131b Add and fix some tests 2019-08-02 20:50:08 +01:00
Qian Wang
e0e33e12d6 Fix non random GREASE generation 2019-08-02 20:06:41 +01:00
Qian Wang
05972863b5 Add tests 2019-08-02 20:06:28 +01:00
Qian Wang
53b6b96262 Remove stupid code 2019-08-02 18:03:08 +01:00
Qian Wang
429da0e0d9 Add unit tests 2019-08-02 18:00:27 +01:00
Qian Wang
e75c713385 Refactor session struct's obfs fields 2019-08-02 16:37:48 +01:00
Qian Wang
1a628cb524 Refactor client TLS 2019-08-02 16:02:25 +01:00
Qian Wang
33f232475d Improve logging 2019-08-02 15:45:33 +01:00
Qian Wang
726a405a26 TLS1.3 2019-08-02 01:01:19 +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
0fbb6011fc Remove psudorandom padding 2019-07-31 23:58:15 +01:00
Qian Wang
0f3b2232ab Remove redundant config field 2019-07-31 14:44:34 +01:00
Qian Wang
e1c879a478 Fix CORS and POST handler 2019-07-30 23:49:22 +01:00
Qian Wang
6af97e2c22 Optimise session closing 2019-07-28 23:27:59 +01:00
Qian Wang
059a222394 Use defer to unlock mutexes 2019-07-28 12:52:57 +01:00
Qian Wang
bf8d373f79 Stream optimisations 2019-07-28 11:58:45 +01:00
Qian Wang
0f9830e716 Update test 2019-07-28 11:06:15 +01:00
Qian Wang
73c0b8567e Memory optimisation 2019-07-28 00:15:27 +01:00
Qian Wang
6fc48c5dae Fix a goroutine leak 2019-07-27 21:38:08 +01:00
Qian Wang
1099b558f1 Fix admin mode 2019-07-27 19:55:53 +01:00
Qian Wang
0e08683828 Use a buffered pipe to buffer sorted data 2019-07-27 19:53:16 +01:00
Qian Wang
38f3a4a522 Only start a session after a local connection has been made 2019-07-26 23:12:38 +01:00
Qian Wang
75fecacd20 Change the protocol to solve sessionTicket inconsistency 2019-07-26 17:05:46 +01:00
Qian Wang
592175f73d Close pipe properly 2019-07-25 22:06:33 +01:00
Qian Wang
8f9922b06b Add terminal messages upon session closing 2019-07-25 20:57:02 +01:00
Qian Wang
8ff0f3d17e Rename handlers 2019-07-25 13:09:36 +01:00
Qian Wang
09bdae2584 Add CORS header through middleware 2019-07-25 13:03:32 +01:00
Qian Wang
2ce6f380d1 Implement admin control through a tunneled RESTful API 2019-07-25 12:17:29 +01:00
Qian Wang
98a772b6ee Add server response to status update 2019-07-24 15:25:09 +01:00
Qian Wang
9b552f55a4 Allow an terminal message to be set as a session terminates 2019-07-24 14:25:57 +01:00
Qian Wang
299f08270c make Session implement net.Listener 2019-07-23 11:06:49 +01:00
Qian Wang
29a45bcc1a Rewrite user authentication, credit bookkeeping and db interaction 2019-07-22 13:42:39 +01:00
Qian Wang
c88c3d0084 Timeout unused new sessions 2019-06-16 23:30:35 +10:00
Qian Wang
710fa6835a Reduce the size of UID to 16 bytes 2019-06-16 11:08:51 +10:00
Qian Wang
d781c7b1be Use a sessional ephemeral key as the main key instead of UID for forward security 2019-06-16 00:20:55 +10: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
f525643518 Remove debug log 2019-06-10 00:04:16 +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
3e9855191b Cloak 2: generalising cloak as a universal pluggable transport for arbitary proxies 2019-06-09 16:10:22 +10:00
Qian Wang
425dbc4797 Session times out 30s after all streams have been closed 2019-03-23 23:45:12 +11:00
Qian Wang
99afb1a58b Remove ECDH as an external dependancy and include it as a internal package 2019-01-25 00:24:47 +00:00
Qian Wang
c44b202c27 Regenerate SessionID on reconnection 2019-01-22 21:51:57 +00:00
Qian Wang
9d2e9be1ef Fix a race which causes the server unable to close all the connections in a session 2019-01-22 00:03:38 +00:00
Qian Wang
cb07e446b6 Fix issue which the closing frame padding gets send as acutal data 2019-01-21 21:15:18 +00:00
Qian Wang
a52c3204d1 Fix a stuck RWMutex 2019-01-21 21:13:54 +00:00