Commit Graph

32 Commits

Author SHA1 Message Date
micooz
d26d71af5f lint: fix 2018-11-03 11:22:19 +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
5d0fc5ac6e src: fix crush when onConnected() is triggered after ss-base destroyed 2018-03-29 19:42:23 +08:00
Micooz
48d6e777dd *: reformat code 2018-02-17 12:19:31 +08:00
Micooz
4b7c2e091c src,test: isolate config among 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 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
a013986b05 presets: expose headSize() interface in ss-base 2017-10-31 22:26:08 +08:00
Micooz
cc0278d243 src: compatible with shadowsocks udp addessing 2017-10-26 22:28:47 +08:00
Micooz
68aa678925
presets: implement udp based protocols 2017-10-26 17:59:09 +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
d7e348b592
presets: improve performance and reduce memory usage 2017-09-08 10:47:36 +08:00
Micooz
fff076711f
*: fix mode 2017-08-31 18:01:28 +08:00
Micooz
f88e107f37
presets: change SOCKET_CONNECT_TO_REMOTE to CONNECT_TO_REMOTE 2017-08-31 13:01:34 +08:00
Micooz
9fb6500d06 presets: refine SOCKET_CONNECT_TO_REMOTE action 2017-08-19 19:48:17 +08:00
Micooz
26fbce6b44 presets: extract tunnel mode from "proxy" to "tunnel"
close: #91
2017-08-18 15:31:55 +08:00
Micooz
e5bb2dfea9 presets: fix buffer staging issue 2017-08-11 17:18:56 +08:00
Micooz
5d4bd8c3a9 core,presets: switch to use SOCKET_CONNECT_TO_REMOTE 2017-08-10 22:09:00 +08:00
Micooz
47c2455b1a core,presets: refactor application proxy logic, take advantages of "proxy" preset 2017-08-09 14:54:31 +08:00
Micooz
4e16d5b88e presets: fix class name 2017-08-08 15:53:00 +08:00
Micooz
2675bd486b fix(ss-base): ipv6 port parse wrong
close: #68
2017-06-19 16:30:16 +08:00
Micooz
4b1c2ac06a docs(presets): clarify ss-base.js and ss-stream-cipher.js 2017-06-15 15:05:57 +08:00
Micooz
3e13603e59 fix(core): http message parsing
close: #59
2017-06-13 22:20:53 +08:00
Micooz
fffca228e7 refactor(utils): bring blinksocks-utils back to blinksocks 2017-06-11 22:55:46 +08:00
Micooz
cf11f0b1d1 fix(core): host display issue 2017-06-10 16:23:12 +08:00
Micooz
a333eb1408 refactor(utils): use "blinksocks-utils" package instead 2017-04-23 19:47:05 +08:00
Micooz
2699070903 fix(ss-base): stage data before onConnected is called
close: #50
2017-04-17 17:19:31 +08:00
Micooz
f8c6c275b6 refactor(core): now multiple servers can have different configurations
close: #48
2017-04-15 17:01:34 +08:00
Micooz
89932067d0 feat(presets): verify DST.ADDR of presets/ss-base
close: #47
2017-04-14 15:10:33 +08:00
Micooz
0079380d36 refactor(core): robust design for middlewares
close: #40
2017-04-13 16:43:54 +08:00