Commit Graph

633 Commits

Author SHA1 Message Date
Micooz
2733305df9 hub: add _udpCleanerTimer 2018-05-05 15:51:13 +08:00
Micooz
3e875b1ced transports: refactor 2018-05-04 22:09:30 +08:00
Micooz
0642d97c35 core: refactor 2018-05-04 22:09:06 +08:00
Micooz
133bf07ffc presets: remove actions.js, move to src/constants.js 2018-05-04 22:08:36 +08:00
Micooz
1c5247db1c hub: set a timer to prune udp relays 2018-05-04 22:05:47 +08:00
Micooz
5435494ac3 src: remove preset.js, implement _write() in IPreset 2018-05-02 21:20:00 +08:00
Micooz
db73f0dc57 lib: regen 2018-04-28 11:12:50 +08:00
Micooz
b54914a6b7 presets: use uint64ToBuffer() instead of numberToBuffer() 2018-04-26 13:48:55 +08:00
Micooz
cf83eeebb4 utils,test: add uint64ToBuffer() 2018-04-26 13:48:13 +08:00
Micooz
748ebe9aaa presets: use increment* helpers to increase nonce 2018-04-25 22:49:13 +08:00
Micooz
26041f5659 utils,test: add incrementLE() and increamentBE() 2018-04-25 22:47:03 +08:00
Micooz
d126b3c4db presets: add chacha20-ietf support for ss-stream-cipher 2018-04-25 22:46:20 +08:00
Micooz
b7db7374c2 core/hub: patch server.getConnections for ws 2018-04-22 18:49:50 +08:00
Micooz
8157a19ca0 proxies/http: bug fix 2018-04-22 18:37:29 +08:00
Micooz
ee61845b48 core/preset: inline createPreset() 2018-04-21 21:14:44 +08:00
Micooz
1e8bcbe8a7 core,proxies: use WHATWG URL api instead of legacy URL api 2018-04-21 14:11:00 +08:00
Micooz
1c2c6b9eb8 proxies,test: support http basic authorization 2018-04-21 12:20:12 +08:00
Micooz
7d2cc6a5f4 src: support socks4(a), socks5 username/password authorization 2018-04-20 23:48:49 +08:00
Micooz
55ad5aca3a package,transports: upgrade ws from v3.3.3 to v5.1.1 2018-04-17 23:25:31 +08:00
Micooz
18a91d3b61 presets,test: remove "auto-conf" preset 2018-04-15 21:45:10 +08:00
Micooz
100f1fe48d presets: use this.resolveTargetAddress() instead of broadcast(...) 2018-04-15 20:34:59 +08:00
Micooz
6d392d845c core/preset: inject resolveTargetAddress() to preset instance 2018-04-15 20:34:28 +08:00
Micooz
d1dedef8e6 presets: use onInitTargetAddress() instead of onNotified() to get target address 2018-04-15 19:59:39 +08:00
Micooz
805bf7fb9f core: add Pipe::initTargetAddress() and remove calling onNotified() 2018-04-15 19:58:58 +08:00
Micooz
65dd04ca75 core: fix sequence between calling .on() and .init() of relay 2018-04-11 14:37:44 +08:00
Micooz
c3ead00197 core: bubble "_error" and "_connect" events up to Hub 2018-04-09 21:35:38 +08:00
Micooz
b1366fd7fe core: remove performance.js 2018-04-09 15:42:48 +08:00
Micooz
6802e21536 src/core: put removeAllListeners() to right place 2018-04-07 14:32:26 +08:00
Micooz
742988e5c1 core/tracker: add setSourceAddress(host, port) 2018-04-07 14:27:49 +08:00
Micooz
2753075765 eslint: enable "no-undef" and "object-curly-spacing" 2018-03-30 12:09:48 +08:00
Micooz
5d0fc5ac6e src: fix crush when onConnected() is triggered after ss-base destroyed 2018-03-29 19:42:23 +08:00
Micooz
bbc1ce990c core/config: remove colorize() from logger 2018-03-29 19:18:49 +08:00
Micooz
d4a79dd564 core/pipe: log error stack 2018-03-29 19:17:24 +08:00
Micooz
2f429de44a package: upgrade winston and winston-daily-rotate-file to v3.x, restrict log_path to be a file 2018-03-18 12:50:38 +08:00
Micooz
05b5e120f9 core/hub: add getConnections(), getTotalRead(), getTotalWritten() and getPerformance() 2018-03-11 19:09:10 +08:00
Micooz
627325503c core: add performance.js 2018-03-11 19:03:40 +08:00
Micooz
830f0a0dcc core/hub: start udp server only when local protocol is "socks" or "socks5" 2018-03-03 14:51:53 +08:00
Micooz
85c197f316 core/relay: remove unused function hasListener() 2018-03-02 15:22:21 +08:00
Micooz
d80630635c core/tracker: avoid putting duplicate target address in this._tracks 2018-03-02 14:33:08 +08:00
Micooz
2b49b9f8a8 core/relay: include target address in tracker's abstract when using multiplexing 2018-03-02 14:29:18 +08:00
Micooz
15be66a6ee src: decrease error rate of multiplexing 2018-03-01 13:07:02 +08:00
Micooz
88d0ddc28a core/config: expose getLogFilePath() 2018-02-22 21:11:33 +08:00
Micooz
98d26c3feb core/pipe: fix presets getter 2018-02-22 21:04:45 +08:00
Micooz
86fd05e8f7 core/config: check "acl_conf" only when "acl" is true 2018-02-20 22:24:28 +08:00
Micooz
923688b126 core/hub: handle listen "error" event 2018-02-19 11:41:14 +08:00
Micooz
ba4198a437 test: add test for multiplexing 2018-02-18 21:52:08 +08:00
Micooz
91deff0515 relay: make tracker trace at correct position 2018-02-18 18:41:22 +08:00
Micooz
5864e5df97 pipe: prevent pipe when presets is empty 2018-02-18 18:39:40 +08:00
Micooz
6239d4cedd core,presets: move tracker preset to core 2018-02-18 17:44:12 +08:00
Micooz
a60d3fcc9d core: re-implement ACL in core 2018-02-17 22:10:06 +08:00
Micooz
f18868c800 src,test: rename Middleware -> Preset 2018-02-17 12:20:47 +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
f6a056b88c core: remove balancer 2018-02-16 17:01:36 +08:00
Micooz
d684d27af4 core: remove balancer 2018-02-16 17:01:36 +08:00
Micooz
23b54d0ca1 test: move src/core/__tests__ to test/core 2018-02-16 17:01:36 +08:00
Micooz
cb6e3b5837 test: move src/utils/__tests__ to test/utils 2018-02-16 17:01:36 +08:00
Micooz
1fcf4e2f6c core: fix onCache 2018-02-16 17:01:36 +08:00
Micooz
4b7c2e091c src,test: isolate config among presets 2018-02-16 17:01:36 +08:00
Micooz
89b8392eb3 presets: remove stats.js, implement it later in core 2018-02-16 17:01:36 +08:00
Micooz
9a6ea38777 test: move src/presets/__tests__/* to test/presets/ 2018-02-16 17:01:36 +08:00
Indexyz
d355ed9065 refactor: replace ctx with config
refactor: set static config for preset
2018-02-16 17:01:36 +08:00
Indexyz
d63f0bfddc refactor: replace object with config prototype 2018-02-16 17:01:36 +08:00
Indexyz
6ba9db3ab0 fix: remove commited function 2018-02-16 17:01:36 +08:00
Indexyz
59902609ae refactor(config): dynamic config 2018-02-16 17:01:36 +08:00
Indexyz
48c3a2d70e core,transports: remove global object 2018-02-16 17:01:36 +08:00
Micooz
6249092dd5 core/mux-relay: fix cannot read property 'remoteInfo' of null 2018-02-07 22:56:51 +08:00
Micooz
2ae6d9df80 core: remove Hub::onRelayClose() and Relay::getContext() 2018-02-06 22:50:53 +08:00
Micooz
7426a5d3ab presets/mux: prevent print non-ascii characters to log 2018-02-06 21:29:54 +08:00
Micooz
af5ae5036a core: refactor mux sub relay self-closing 2018-02-06 21:28:59 +08:00
Micooz
326eb29771 core,transports: improve log 2018-02-06 17:30:08 +08:00
Micooz
b2ec6ccaf9 core: refactor mux relay creation on client 2018-02-06 10:44:31 +08:00
Micooz
b785e20612 core,utils: move core/dns-cache.js to utils/, and refactor it 2018-02-05 14:23:26 +08:00
Micooz
b66e14d1cb core: fix sub connection id collision 2018-02-05 11:55:52 +08:00
Micooz
6d2ae7ef15 src/constants: set APP_ID randomly when application startsup 2018-02-04 22:34:31 +08:00
Micooz
80bb1ede28 presets/mux: change cid to a random and discrete structure 2018-02-04 22:33:01 +08:00
Micooz
12a21658b8 src: fix "send() is not a function" when enable mux feature though http proxy 2018-02-04 22:30:46 +08:00
Micooz
db56c0119a transports/mux: handle preset errors 2018-02-04 22:26:54 +08:00
Micooz
172b894ebc src: minor fix 2018-02-03 22:42:58 +08:00
Micooz
8d0fa29891 core: add mux-relay and refactor multiplexing 2018-02-03 21:38:47 +08:00
Micooz
1ec6cfca94 transports: use this.ctx 2018-02-03 21:36:33 +08:00
Micooz
456e5e6ce4 transports: add mux 2018-02-03 21:33:44 +08:00
Micooz
6c92d184e6 core: remove multiplexer.js 2018-02-02 21:44:44 +08:00
Micooz
be1efb80a0 core/hub: hook listening event 2018-01-27 11:47:22 +08:00
Micooz
50dd93526c core/multiplexer: log remaining number of sub connections when a sub connection closed 2018-01-20 23:31:02 +08:00
Micooz
a472e86ff8 core/transports: updatePresets() is now called via event emitter 2018-01-20 20:52:19 +08:00
Micooz
13465b7e60 core/relay: pass down DNSCache instance from relay to outbound 2018-01-20 20:50:02 +08:00
Micooz
f4e49f44d0 core: make injectMethodsToBounds() more explicit 2018-01-20 20:47:07 +08:00
Micooz
062c7e9823 transports/websocket: rename websocket.js to ws.js 2018-01-19 22:36:38 +08:00
Micooz
95c1db7e23 core/multiplexer: improve overall performance 2018-01-18 18:05:41 +08:00
Micooz
b801c73460 transports/tcp: add onDrain() 2018-01-18 18:03:50 +08:00
Micooz
d2cefa4756 presets/mux: check hostname and port of CMD_NEW_CONN frame 2018-01-18 18:03:01 +08:00
Micooz
e288d6fc40 utils/crypto: implement a faster version of randomBytes() 2018-01-18 18:02:11 +08:00
Micooz
95fc5cb208 src: extract several constants to constants.js 2018-01-18 18:00:56 +08:00
Micooz
54e73be92b core/multiplexer: randomly reuse mux connection even if we haven't exceed mux_concurrency 2018-01-15 23:34:27 +08:00
Micooz
5b9541bf21 core/relay: log request info on client side when enable mux feature 2018-01-15 22:30:34 +08:00
Micooz
3d1eaa360f core/multiplexer: overwrite outbound/inbound getters when enable mux feature 2018-01-15 20:30:07 +08:00
Micooz
441aee8f4c core/relay: add injectMethodsToBounds() convenience 2018-01-15 20:30:07 +08:00