Commit Graph

72 Commits

Author SHA1 Message Date
Micooz
7b664cbc12 transports/h2: fix value of HTTP2_HEADER_METHOD 2018-06-17 11:30:50 +08:00
Micooz
2b3cdf7923 transports: http2 now supported 2018-06-16 23:33:39 +08:00
Micooz
f2540497f7 transports/tcp: fix log 2018-06-16 23:32:18 +08:00
Micooz
c0312b4837 src: refactor PRESET_FAILED handling 2018-06-16 22:23:13 +08:00
Micooz
07e3e73426 src: rename "remoteInfo" to "sourceAddress" 2018-06-16 20:18:21 +08:00
Micooz
9c3cf648e8 Merge branch 'master' into feature-http2-transport
* master: (39 commits)
  docs: update
  package: bump to v3.3.1
  bin: should delete more items in simple mode
  docs: add examples
  transports: set handshake timeout of ws to 10s
  lib: regen
  config: fix new URL() default port issue
  lint: fix
  package: upgrade eslint to v5.2.0
  docs: add "Test Using curl"
  docs: update
  src: add client side https proxy support
  package: upgrade winston to v3.0.0
  build: keep comments in lib/*.js
  ci: change NEXT_VERSION to 3.3.1
  docs: update
  lib: regen
  package: bump to v3.3.0
  docs: update
  transports,test: add "wss" transport
  ...

# Conflicts:
#	src/core/config.js
2018-06-15 23:12:07 +08:00
Micooz
138636da69 transports: set handshake timeout of ws to 10s 2018-06-15 10:33:28 +08:00
Micooz
c42c618095 transports,test: add "wss" transport 2018-06-12 18:05:56 +08:00
Micooz
a6b877dd10 bin,src,test: add "tls_cert_self_signed" 2018-06-12 17:47:52 +08:00
Micooz
74ea2eb09f src,test: websocket now support pathname 2018-06-10 15:06:23 +08:00
Micooz
a706f42f7d WIP: http2 transport 2018-05-06 18:34:41 +08:00
Micooz
3e875b1ced transports: refactor 2018-05-04 22:09:30 +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
c3ead00197 core: bubble "_error" and "_connect" events up to Hub 2018-04-09 21:35:38 +08:00
Micooz
6802e21536 src/core: put removeAllListeners() to right place 2018-04-07 14:32:26 +08:00
Micooz
5d0fc5ac6e src: fix crush when onConnected() is triggered after ss-base destroyed 2018-03-29 19:42:23 +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
15be66a6ee src: decrease error rate of multiplexing 2018-03-01 13:07:02 +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
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
326eb29771 core,transports: improve log 2018-02-06 17:30:08 +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
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
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
062c7e9823 transports/websocket: rename websocket.js to ws.js 2018-01-19 22:36:38 +08:00
Micooz
b801c73460 transports/tcp: add onDrain() 2018-01-18 18:03:50 +08:00
Micooz
95fc5cb208 src: extract several constants to constants.js 2018-01-18 18:00:56 +08:00
Micooz
8b69a06d7c transports/tcp: access outbound/inbound via getters when onReceive() 2018-01-15 20:30:07 +08:00
Micooz
30b9ef509e transports/def: add outbound and inbound getters 2018-01-15 20:30:07 +08:00
Micooz
c54e1fc360 core,transports: refactor inbound and outbound closing logic 2017-12-26 21:39:21 +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
e7e607547d
transports/websocket: make data receive throttle work 2017-12-18 14:52:02 +08:00
Micooz
766d767a49
transports/websocket: optimize data send 2017-12-14 15:10:25 +08:00
Micooz
4ec33d2c85
transport: add missing brackets 2017-12-14 14:58:22 +08:00
Micooz
acb2174097
transports: make websocket extends from tcp 2017-12-14 14:46:37 +08:00
Micooz
98a00424c2
transports/tcp: handle half-close correctly 2017-12-13 10:02:28 +08:00
Micooz
10b6644770 core,transports: fix udp relay when use auto-conf 2017-11-25 11:50:13 +08:00
Micooz
61a9aae948
transports: fix RangeError [ERR_SOCKET_BAD_PORT] for udp 2017-11-22 10:46:31 +08:00
Micooz
32012c51e0
transports: just refine websocket 2017-11-22 10:43:18 +08:00