Commit Graph

221 Commits

Author SHA1 Message Date
micooz
d26d71af5f lint: fix 2018-11-03 11:22:19 +08:00
Micooz
e0d86ed328 core,presets: load libsoduium-wrappers on demand 2018-07-28 21:16:25 +08:00
Micooz
c236329079 presets(ss-aead-cipher): add aes-128-ccm, aes-192-ccm and aes-256-ccm 2018-07-07 18:48:27 +08:00
Micooz
1e61c6dab0 presets: export * from defs.js as well 2018-07-07 10:21:15 +08:00
Micooz
33cbd02976 presets: fail() should return undefined 2018-06-24 13:31:41 +08:00
Micooz
d223c7b002 core: refactor multiplexing 2018-06-24 13:30:03 +08:00
Micooz
b4abe01b20 presets: refactor index.js 2018-06-02 09:55:11 +08:00
Micooz
2733305df9 hub: add _udpCleanerTimer 2018-05-05 15:51:13 +08:00
Micooz
133bf07ffc presets: remove actions.js, move to src/constants.js 2018-05-04 22:08:36 +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
748ebe9aaa presets: use increment* helpers to increase nonce 2018-04-25 22:49:13 +08:00
Micooz
d126b3c4db presets: add chacha20-ietf support for ss-stream-cipher 2018-04-25 22:46:20 +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
d1dedef8e6 presets: use onInitTargetAddress() instead of onNotified() to get target address 2018-04-15 19:59:39 +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
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
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
48c3a2d70e core,transports: remove global object 2018-02-16 17:01:36 +08:00
Micooz
7426a5d3ab presets/mux: prevent print non-ascii characters to log 2018-02-06 21:29:54 +08:00
Micooz
80bb1ede28 presets/mux: change cid to a random and discrete structure 2018-02-04 22:33:01 +08:00
Micooz
8d0fa29891 core: add mux-relay and refactor multiplexing 2018-02-03 21:38:47 +08:00
Micooz
d2cefa4756 presets/mux: check hostname and port of CMD_NEW_CONN frame 2018-01-18 18:03:01 +08:00
Micooz
95fc5cb208 src: extract several constants to constants.js 2018-01-18 18:00:56 +08:00
Micooz
298a65bb3c presets/mux: use strict length check 2017-12-26 16:00:18 +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
733aa9e4b2
presets,test: remove base-auth-stream and base-with-padding 2017-12-19 11:24:21 +08:00
Micooz
161b300af0
presets/ss-stream-cipher: add "none" method 2017-12-13 11:51:08 +08:00
Micooz
d91c725fbd presets/auto-conf: protocol changed 2017-11-25 12:44:00 +08:00
Micooz
1fa922b71d presets/auto-conf: refactor 2017-11-25 11:48:25 +08:00
Micooz
d129e6b56a
presets/auto-conf: refine payload of CHANGE_PRESET_SUITE action 2017-11-24 17:33:05 +08:00
Micooz
0b978668bf
presets/auto-conf: check if suites are loaded properly 2017-11-24 14:23:58 +08:00
Micooz
1bd4cf5276
presets: monkey patch onInit() and checkParams() 2017-11-24 14:22:37 +08:00
Micooz
8558de98dc
presets: allow to load suites from remote 2017-11-24 13:04:13 +08:00
Micooz
45893d2736
core,utils: (new Date()).getTime() -> Date.now() 2017-11-24 10:59:55 +08:00
Micooz
8f2688a87e
docs: add suites instructions 2017-11-10 10:49:46 +08:00
Micooz
5c29c34de0 presets: refactor and add udp support for "auto-conf" 2017-11-09 22:18:37 +08:00
Micooz
dc894496a2 presets: minor fix for tracker 2017-11-09 21:02:49 +08:00
Micooz
6424498fad
core: display a warning when provide redundant presets 2017-11-09 15:49:37 +08:00