Commit Graph

105 Commits

Author SHA1 Message Date
micooz
4d7fc4e272 package: upgrade deps 2019-02-13 13:18:11 +08:00
Micooz
04faf3dd53 bin: should delete more items in simple mode 2018-06-15 14:39:37 +08:00
Micooz
142f8f5d77 src: add client side https proxy support 2018-06-13 20:52:18 +08:00
Micooz
a6b877dd10 bin,src,test: add "tls_cert_self_signed" 2018-06-12 17:47:52 +08:00
Micooz
b4abe01b20 presets: refactor index.js 2018-06-02 09:55:11 +08:00
Micooz
c4487dd915 bin/init: add "isDryRun" option 2018-02-26 13:35:28 +08:00
Micooz
b750ba7cec bin/init: make "acl" default to false 2018-02-20 22:23:15 +08:00
Micooz
923688b126 core/hub: handle listen "error" event 2018-02-19 11:41:14 +08:00
Micooz
a60d3fcc9d core: re-implement ACL in core 2018-02-17 22:10:06 +08:00
Micooz
48d6e777dd *: reformat code 2018-02-17 12:19:31 +08:00
Micooz
c4bb2d1e74 src: bugfixs and improvements 2018-02-16 17:01:37 +08:00
Micooz
cdb2365030 bin,core: mark json.servers as deprecated 2018-02-16 17:01:37 +08:00
Micooz
45ad20a1b6 bin,core: remove workers 2018-02-16 17:01:37 +08:00
Micooz Lee
80a6e69653
Add multiplexing support (#94)
* core,presets,transports: add initial mux support

* core,presets: holy shit

* core,transports: fix fix

* core: some fix to multiplexer

* still not working, too complex

* transports: add mux

* core: pass "extraArgs" as the second parameter during piping

* src: first working version of mux

* core,presets: properly close sub connection from client

* core/multiplexer: fix stuck at the second connection

* core/multiplexer: split class into MuxClient and MuxServer

* core/multiplexer: pick a random mux relay to transfer encoded data on server side

* core,transports: remove "mux" transport and make mux on TLS work

* presets/tracker: only dump result when preset destroyed

* lint: fix

* core: bring preparePresets() to module scope

* transports/tcp: fix inbound destroy behaviour for mux

* utils: fix getRandomInt()

* core/multiplexer: fix getRandomMuxRelay()

* core/multiplexer: distinguish relay self-close and protocol(mux)-close

* test: add test for "mux"

* transports/websocket: prevent calling "on()" on null this._socket

* presets: add class IPresetAddressing

* core: wrap mux protocol inside custom protocol stack

* core: pass remoteInfo to new Relay() to correct remote address in log

* core: fix bugs and improve stability

* src: add/remove TODOs

* core/relay: store remoteInfo rather than context

* core/relay: fix a bug

* docs: update
2017-12-25 16:42:01 +08:00
Micooz
27a1c748fe
bin,core: refactor config.js, remove "dstaddr" 2017-12-19 11:23:04 +08:00
Micooz
5c7cc9d7e1
bin/init: add "obfs-random-padding" to presets by default 2017-12-13 11:50:44 +08:00
Micooz
25130c0489 core/hub: log worker id 2017-11-26 19:39:43 +08:00
Micooz
738bd7367d
bin: fix "--list-presets" 2017-10-27 15:07:18 +08:00
Micooz
c4f423f77c
bin,core: apply lru-cache to udp relays 2017-10-27 12:45:27 +08:00
Micooz
1266316210 package: fix pkg
Signed-off-by: Micooz <micooz@hotmail.com>
2017-10-22 11:42:08 +08:00
Micooz
a0ce91742d package: fix pkg 2017-10-21 22:05:34 +08:00
Micooz
889b2bd6e6 src: refine api interfaces 2017-10-21 11:57:58 +08:00
Micooz
403e75461b
bin: add "-w" to force overwrite previous json files 2017-10-20 13:53:58 +08:00
Micooz
e0a51ab7e8
presets: deprecated base-auth-stream and base-with-padding, add base-auth 2017-10-20 10:56:03 +08:00
Micooz
98b78abfe1 docs: update README.md 2017-10-15 13:30:57 +08:00
Micooz
29791d1972 bin: load libsodium library before run main() 2017-10-14 22:53:02 +08:00
Micooz
8a69b3b4d0 bin: fix TypeError: modules.presets.join is not a function 2017-10-14 13:02:34 +08:00
Micooz
3f61c40a89
bin: generate new format configs 2017-10-13 15:49:48 +08:00
Micooz
4459b44e84
bin,src: refine module exports 2017-10-13 15:48:09 +08:00
Micooz
f9df543327 benchmark: rank by recv bitrate 2017-10-08 12:13:15 +08:00
Micooz
68a595c426
core,bin: add "log_max_days" option 2017-09-26 11:08:55 +08:00
Micooz
a54004c5fa
bin: print legacy presets as well when using "--list-preset" 2017-09-20 13:34:46 +08:00
Micooz
621c692dd5
bin: remove "info" from "ss-aead-cipher" 2017-09-08 10:48:22 +08:00
Micooz
0dcc326428
bin: try to parse first argument as config file 2017-09-06 09:34:46 +08:00
Micooz
c64a4cfe76
bin: update usage 2017-09-05 17:56:00 +08:00
Micooz
947a260285
bin: remove .js support 2017-09-05 14:33:42 +08:00
Micooz
94be72599b
docs,bin,src: remove behaviours 2017-09-05 14:32:40 +08:00
Micooz
fa356e35ac package: bring lib/ back to the project 2017-09-02 11:21:56 +08:00
Micooz
98d6599de1
bin: should ignore "behaviours" in minimal mode 2017-08-28 16:53:58 +08:00
Micooz
86637782b4 core,bin: refine "transport" structure 2017-08-22 10:54:25 +08:00
Micooz
996f118ec1 bin: change "transport" structure 2017-08-21 18:10:25 +08:00
Micooz
0cf13bcc8d bin: generate behaviours option in init 2017-08-20 17:12:55 +08:00
Micooz
1669102819 bin: add "--list-behaviours" option 2017-08-18 15:09:38 +08:00
Micooz
4f90777eb7 bin: add "-m, --minimal" option
close: #90
2017-08-16 13:09:59 +08:00
Micooz
893ae00adc bin: add "-l, --list-presets" option
close: #89
2017-08-16 12:58:13 +08:00
Micooz
4109e5f6ba core: add "log_path" option 2017-08-15 23:05:32 +08:00
Micooz
19c6ffd1b9 bin: fix eslint 2017-08-14 17:42:31 +08:00
Micooz
66aef07e9c core: disable cluster mode by default 2017-08-14 17:39:37 +08:00
Micooz
0f4cc32304 core: allow to disable cluster mode by setting "workers" to zero 2017-08-14 17:25:10 +08:00
Micooz
3c3aa46a2e bin,core: support built-in cluster mode
close: #88
2017-08-14 15:54:19 +08:00