Commit Graph

154 Commits

Author SHA1 Message Date
Andy Wang
cfa0a97edf Rename a test set 2019-08-30 17:07:08 +01:00
Andy Wang
46c02d17f4 Refactor InitState 2019-08-20 22:48:01 +01:00
Andy Wang
c44a061cbe Remove a redundant argument 2019-08-20 20:25:07 +01:00
Andy Wang
c720b65d69 Change a verbose logging to trace 2019-08-20 17:46:36 +01:00
Andy Wang
eabe113547 Add Stream Timeout 2019-08-19 23:23:41 +01:00
Andy Wang
e28df86a55 Move Unordered field around 2019-08-16 23:20:24 +01:00
Andy Wang
d73462653d Refactor routing 2019-08-14 11:56:55 +01:00
Andy Wang
44a09219f7 Experimental support for UDP 2019-08-14 11:56:55 +01:00
Andy Wang
c19c43f6e8 Server side UDP to proxy server 2019-08-14 11:56:55 +01:00
Andy Wang
83fb53f0d4 Fix wrong condition for isAdmin 2019-08-14 10:49:26 +01:00
Qian Wang
f65a46f4a9 Remove unnecessary state variable IsAdmin 2019-08-12 14:25:24 +01:00
Qian Wang
58cbb73f0f Refactor return value of decryption 2019-08-12 14:21:42 +01:00
Qian Wang
cb672a99de Refactor session configuration 2019-08-12 00:22:15 +01:00
Qian Wang
c3d4057315 Add verbosity arguments 2019-08-09 22:51:17 +01:00
Qian Wang
af0a356000 Print UID in base64 and delete a session properly 2019-08-09 10:35:22 +01:00
Qian Wang
d07312c6d1 Re add goWeb 2019-08-07 19:46:10 +01:00
Qian Wang
d9d8be12dc How tf did I import math/rand as crypto/rand?! 2019-08-06 21:04:47 +01:00
Qian Wang
f96a24f13d Fix nil pointer when the session breaks 2019-08-06 20:11:32 +01:00
Qian Wang
e15536d7c7 Refactor TLS handshake 2019-08-06 15:50:33 +01:00
Qian Wang
3dc4c6fb3f Add more trace logs 2019-08-06 11:19:47 +01:00
Qian Wang
76095bde0f Add user bypass feature 2019-08-04 21:10:59 +01:00
Qian Wang
550c298bc2 Fix admin session 2019-08-03 22:42:26 +01:00
Qian Wang
9fa37e327f Use exclusively salsa20 for header encryption 2019-08-03 22:05:06 +01:00
Qian Wang
f933c7b453 Move pipe to util 2019-08-03 15:01:12 +01:00
Qian Wang
bf83273f6e Fix redirection 2019-08-03 13:26:57 +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
109a78c277 Add default client listening port 2019-07-31 19:27:05 +01:00
Qian Wang
6af97e2c22 Optimise session closing 2019-07-28 23:27:59 +01:00
Qian Wang
1099b558f1 Fix admin mode 2019-07-27 19:55:53 +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
eb68185f3c Remove redundant files 2019-07-25 20:58:00 +01:00
Qian Wang
0695f9df13 pprof now will not require debug build flag 2019-07-25 20:52:15 +01:00
Qian Wang
2ce6f380d1 Implement admin control through a tunneled RESTful API 2019-07-25 12:17:29 +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
0e71b052dc Set ProxyMethod to shadowsocks automatically if started as a shadowsocks plugin 2019-06-16 23:59:49 +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
4a4879ea37 Correct the maximum record size 2019-06-15 11:56:52 +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
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
ebd7e6b1bd Fix a missing IPv6 bracket 2019-03-24 16:24:17 +11:00
Qian Wang
797062aea9 Pointers to credit value should point to two different variables 2019-03-24 00:42:58 +11:00
Qian Wang
aa4f03ddbe Better help message 2019-03-23 23:57:30 +11:00
Qian Wang
2e36acd1f8 Add square brackets to IPv6 2019-03-23 18:02:01 +11:00
Qian Wang
cffee1452a Fix a null pointer 2019-02-22 16:22:40 +11:00
Qian Wang
6d5d43ee6b Fix build constraints 2019-02-15 00:01:47 +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
a1d546dc0b Allow error message to be transmitted to admin client 2019-01-22 00:04:08 +00:00
Qian Wang
3a42ca5983 Client session establishment log 2019-01-21 21:29:18 +00:00
Qian Wang
76369f337f Make client side sessionID consistent with server 2019-01-21 21:27:26 +00:00
Qian Wang
3ee868da6d Make pprof optional to halve the binary size 2019-01-21 21:17:26 +00:00
Qian Wang
3fb8f0656e Make pprof optional 2019-01-21 11:49:01 +00:00
Qian Wang
9793537034 Faster reconnection 2019-01-20 12:13:29 +00:00
Qian Wang
24cdf274dd Change the stream header format and reduce overhead 2019-01-13 21:28:57 +00:00
Qian Wang
9e454babe1 Remove redundant error checking 2019-01-12 17:06:14 +00:00
Qian Wang
0544364a8e Cleanup logs 2019-01-12 15:51:20 +00:00
Qian Wang
d1149f9211 Empty placeholder for admin functions under andorid 2019-01-12 14:19:15 +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
fd7d90e36a Client auto-reconnect 2018-12-30 21:36:44 +00:00
Qian Wang
23a06c6a52 Clarify the code to enter admin mode 2018-12-30 01:15:46 +00:00
Qian Wang
deb5271cef User can now specify the path of db file and backups 2018-12-30 00:18:50 +00:00
Qian Wang
652261af81 Implement SessionsCap and ExpiryTime limitations 2018-12-29 00:54:10 +00:00
Qian Wang
4b6ab1b4d5 Finish the admin control 2018-12-26 00:46:39 +00:00
Qian Wang
73aefdeeeb Done some TODOs 2018-12-22 23:58:03 +00:00
Qian Wang
30c3936154 Fix plugin mode 2018-12-22 22:53:06 +00:00
Qian Wang
6fbd39ea10 Integrate keygen util into ck-server 2018-12-17 22:12:38 +00:00
Qian Wang
c4abb48788 Change keygen behaviour for scripting 2018-12-14 21:50:44 +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
Qian Wang
7919834dfe Better keygen 2018-12-08 14:49:47 +00:00
Qian Wang
4474a74f02 Disallow empty AdminUID 2018-12-03 20:44:08 +00:00
Qian Wang
304f7f38a7 Redo config format 2018-12-03 20:30:06 +00:00
Qian Wang
239647c5b2 Fix a race, some cleanup 2018-11-24 00:55:26 +00:00
Qian Wang
3b656c9360 Use sync.Once to close die ch 2018-11-23 23:57:35 +00:00
Qian Wang
85e0e95a4b User control server and client 2018-11-22 21:56:29 +00:00
Qian Wang
c4048dccea Basic remote control 2018-11-22 21:55:23 +00:00
Qian Wang
0702e37391 Syncing in-memory credit with db regularly 2018-11-11 19:30:40 +00:00
Qian Wang
fe19d31158 Stop duplicate goroutines accepting streams 2018-11-08 19:47:53 +00:00
Qian Wang
3534d05055 QOS and user managing, bug fixes 2018-11-07 21:16:13 +00:00
Qian Wang
6a6b293164 Add bandwidth limiter 2018-10-28 22:51:00 +00:00
Qian Wang
f476650953 Rework switchboard dispatch 2018-10-28 21:22:38 +00:00
Qian Wang
077eb16dba Fix goroutine leak 2018-10-27 15:27:43 +01:00
Qian Wang
0db52a8a26 General improvements 2018-10-23 20:47:58 +01:00
Qian Wang
3f7eef98e3 drop aes encryption of headers 2018-10-20 21:41:01 +01:00
Qian Wang
bd69784443 optimisations 2018-10-20 17:03:39 +01:00
Qian Wang
7487600434 Mostly works 2018-10-20 11:35:50 +01:00
Qian Wang
02fa072964 Fix infinite loop. Baseline 2018-10-16 21:13:19 +01:00