Commit Graph

221 Commits

Author SHA1 Message Date
Micooz
17d1e02abb
presets: add access-control.js 2017-09-05 14:34:19 +08:00
Micooz
07a28346bc
core,presets: add 4 actions for traffic control 2017-09-05 09:52:18 +08:00
Micooz
2fd99f6303 presets: check data length after verify for two aead ciphers 2017-09-03 17:16:18 +08:00
Micooz
53577c2fda core: implement PRESET_CLOSE_CONNECTION in relay 2017-09-03 12:23:17 +08:00
Micooz
d904b287aa presets: add convenience methods this.broadcast(...) and this.fail(...) 2017-09-02 22:09:51 +08:00
Micooz
f439713f17 presets: export modules from defs.js 2017-09-02 11:24:34 +08:00
Micooz
fff076711f
*: fix mode 2017-08-31 18:01:28 +08:00
Micooz
2a3e645f14
presets: refactor stats.js using IPresetStatic 2017-08-31 15:57:57 +08:00
Micooz
eafa5e9aff
presets: refine parameters check 2017-08-31 15:31:44 +08:00
Micooz
8850fd0850
presets: add static method checkParams() to IPreset 2017-08-31 14:42:10 +08:00
Micooz
5764a4f2cc
presets,core: add IPresetStatic class, remove checkMiddleware() 2017-08-31 14:41:11 +08:00
Micooz
f88e107f37
presets: change SOCKET_CONNECT_TO_REMOTE to CONNECT_TO_REMOTE 2017-08-31 13:01:34 +08:00
Micooz
0c4aa5aeea
core,presets: replace PROCESSING_FAILED to PRESET_FAILED 2017-08-30 15:07:06 +08:00
Micooz
85342b7dd9
core,presets: add onDestroy() hook for presets 2017-08-30 14:25:56 +08:00
Micooz
49536e9814
presets: fix obfs-random-padding 2017-08-29 12:50:21 +08:00
Micooz
14484038e6
docs: update presets 2017-08-29 11:06:22 +08:00
Micooz
a4b5ab0c05
presets: re-implement obfs-random-padding 2017-08-29 10:57:31 +08:00
Micooz
654b2f9a39 presets: add obfs-random-padding.js 2017-08-28 22:41:45 +08:00
Micooz
e9eca38110 presets: dump details when fail 2017-08-28 22:41:25 +08:00
Micooz
ef704a692c presets: refine stats.js 2017-08-28 19:50:56 +08:00
Micooz
f68ee79319 ci: fix zlib constants for Node.js v6.x 2017-08-28 19:37:52 +08:00
Micooz
8a48e9b3b2
presets: fix stats.js 2017-08-28 18:05:25 +08:00
Micooz
499e23cb93
docs: update 2017-08-28 17:38:50 +08:00
Micooz
479afa070a
presets: add exp-compress.js 2017-08-28 16:54:46 +08:00
Micooz
3ba4ad2a7e presets: fix host verify in exp-base-with-padding.js 2017-08-21 22:15:43 +08:00
Micooz
1ffb7800de utils: refine logger config/import 2017-08-20 22:01:30 +08:00
Micooz
c5a179456e presets: add tracker.js 2017-08-19 19:49:01 +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
bf8450b0c5 core,utils: move logger to utils 2017-08-18 15:15:57 +08:00
Micooz
b9fd4cb71c presets: export preset names in index.js 2017-08-16 12:56:18 +08:00
Micooz
e09804b481 presets: add index.js 2017-08-16 11:47:53 +08:00
Micooz
75810f233a presets: fix buffer staging issue for obfs-tls1.2-ticket 2017-08-11 17:31:29 +08:00
Micooz
e5bb2dfea9 presets: fix buffer staging issue 2017-08-11 17:18:56 +08:00
Micooz
a314f742a9 core,presets: broadcast PRESET_INIT when middlewares are set
close: #85
2017-08-11 10:15:46 +08:00
Micooz
02c7dfb56b presets: finished proxy.js 2017-08-10 22:09:54 +08:00
Micooz
5d4bd8c3a9 core,presets: switch to use SOCKET_CONNECT_TO_REMOTE 2017-08-10 22:09:00 +08:00
Micooz
a981f835f4 presets: [unfinished] proxy.js 2017-08-10 18:04:32 +08:00
Micooz
e6a96c1507 docs: update presets 2017-08-10 17:42:45 +08:00
Micooz
c80dccd224 presets: add stats.js 2017-08-10 14:34:40 +08:00
Micooz
0f20f51428 presets: use next() instead of direct() for better chaining 2017-08-10 14:34:19 +08:00
Micooz
7c2292a2e5 presets: fix address convert for exp-base-* 2017-08-09 17:49:43 +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
df3a8c0166 presets: add proxy preset
close: #76
2017-08-02 12:54:17 +08:00
Micooz
067ee87573 presets: remove aes-xxx-ofb and aes-xxx-cbc from ss-stream-ciphers
close: #74
2017-08-02 09:20:29 +08:00
Micooz
3ec6fd8632 presets: dump error details for obfs-tls1.2-ticket 2017-08-01 13:02:54 +08:00
Micooz
d1479d47cd presets: use different key for calculating HMAC-SHA1 in exp-base-auth-stream preset 2017-08-01 09:55:37 +08:00
Micooz
ff47b82e82 presets: add exp-base-auth-stream.js 2017-07-31 22:52:36 +08:00
Micooz
cc88c002b7 presets: add exp-base-with-padding.js 2017-07-23 22:58:48 +08:00
Micooz
2675bd486b fix(ss-base): ipv6 port parse wrong
close: #68
2017-06-19 16:30:16 +08:00
Micooz
66bf720385 fix(eslint): no-useless-escape 2017-06-18 20:07:06 +08:00
Micooz
9e7fbd96f6 fix(presets): obfs-tls-1.2-ticket, should send New Session Ticket to client 2017-06-15 16:50:36 +08:00
Micooz
879640d573 feat(presets): allow to pass provide a list of sni to obfs-tls1.2-ticket 2017-06-15 16:47: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
c9edb6aac6 Merge branch 'feature-aead-with-random-padding' 2017-06-12 09:14:19 +08:00
Micooz
680748da58 fix(aead-random-cipher): should check whether the factor is an integer 2017-06-12 09:07:12 +08:00
Micooz
fffca228e7 refactor(utils): bring blinksocks-utils back to blinksocks 2017-06-11 22:55:46 +08:00
Micooz
212cf673ef feat(presets): add aead-random-cipher.js 2017-06-11 22:53:58 +08:00
Micooz
cf11f0b1d1 fix(core): host display issue 2017-06-10 16:23:12 +08:00
Micooz
20b84f8ac1 fix(obfs-tls1.2-ticket): should continue to receive when "Application Data" is not enough 2017-04-29 22:51:05 +08:00
Micooz
a333eb1408 refactor(utils): use "blinksocks-utils" package instead 2017-04-23 19:47:05 +08:00
Micooz
a582edb6bf chore(presets): minor fix 2017-04-23 12:10:56 +08:00
Micooz
9970f4ccef docs(presets): document obfs-tls1.2-ticket.js 2017-04-22 21:48:20 +08:00
Micooz
d6eb0dde12 chore(presets): rename http.js -> obfs-http.js 2017-04-22 21:47:39 +08:00
Micooz
e9642a3965 feat(presets): finished obfs-tls1.2-ticket preset
close: #52
2017-04-22 16:43:32 +08:00
Micooz
91acafae75 chore(presets): adjust MIN_CHUNK_SPLIT_LEN to 0x0800 2017-04-22 16:13:47 +08:00
Micooz
de56e2f96d refactor(presets): extract "getUTC", "stb", "hmac" and "HKDF" to utils.js 2017-04-22 14:10:58 +08:00
Micooz
017f3fb6df Merge branch 'feature-obfs-tls1.2-ticket'
* feature-obfs-tls1.2-ticket:
  fix(presets): now obfs-tls1.2-ticket should just work
  feat(middleware,pipe): add "direct" callback to transmit data directly without piping
  refactor(socket): deprecate isPipable()
  chore(presets): temporary add obfs-tls1.2-ticket.js
2017-04-22 10:50:18 +08:00
Micooz
df1a705b73 refactor(utils): extract getChunks() into utils.js, add getRandomChunks() 2017-04-21 17:28:36 +08:00
Micooz
1ee997a044 fix(presets): now obfs-tls1.2-ticket should just work 2017-04-21 15:44:47 +08:00
Micooz
089f80d7fa feat(middleware,pipe): add "direct" callback to transmit data directly without piping 2017-04-21 15:43:07 +08:00
Micooz
e8ba7adabb chore(presets): temporary add obfs-tls1.2-ticket.js 2017-04-20 22:36:55 +08:00
Micooz
a021a7c48f test(ss-base): drop unnecessary tests 2017-04-17 17:30:22 +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
4c8ca1a579 test(presets): add tests for "ss-base" and "ss-stream-cipher" 2017-04-13 16:44:40 +08:00
Micooz
0079380d36 refactor(core): robust design for middlewares
close: #40
2017-04-13 16:43:54 +08:00
Micooz
1ec330addf docs(readme): update 2017-04-07 16:04:19 +08:00
Micooz
24b50701eb refactor(protocol): deprecate aead, aead2, rename ss-aead.js -> aead.js 2017-04-07 15:52:19 +08:00
Micooz
d9d3b57872 refactor(utils): extract md5() and EVP_BytesToKey() to utils.js 2017-04-07 15:19:41 +08:00
Micooz
336802a157 Merge branch 'feature-shadowsocks-aead'
# Conflicts:
#	src/presets/protocol/basic.js
2017-03-28 11:01:33 +08:00
Micooz
f53bfa48db chore(ss-aead): more simple and clean 2017-03-27 22:32:14 +08:00
Micooz
b0bc062886 chore(utils): combine numberToUIntBE and numberToUIntLE to numberToUInt 2017-03-27 22:10:36 +08:00
Micooz
0489579e75 chore(protocol): remove basic.js 2017-03-27 20:06:16 +08:00
Micooz
59b9c6aa03 feat(protocol): add ss-aead.js 2017-03-27 17:32:59 +08:00
Micooz
7824973845 chore(crypto): export EVP_BytesToKey 2017-03-27 17:30:58 +08:00
Micooz
073a026d22 fix(protocol): a typo in none.js 2017-03-26 20:38:54 +08:00
Micooz
4c08ed6379 refactor(openssl): now support original shadowsocks, cheers! 2017-03-23 21:51:25 +08:00
Micooz
9c14333c86 feat(presets): add crypto/ss-openssl.js and protocol/none.js 2017-03-23 18:01:15 +08:00
Micooz
e1ae6d0417 fix(protocol): log 2017-03-18 12:38:33 +08:00
Micooz
3594549082 chore(protocol): turn logger.info to logger.verbose 2017-03-18 12:38:33 +08:00
Micooz
99408ce10d feat(middleware): add 'fail' callback to handle fatal error of presets 2017-03-08 22:11:09 +08:00
Micooz
81bc49266d chore(presets/protocol): better log in aead.js 2017-03-06 22:19:31 +08:00
Micooz
7c46337fc0 feat(presets/protocol): add aead v2
close: #19
2017-03-06 22:18:59 +08:00
Micooz
0360b5977e fix(presets/protocol): should not drop buffer if it too short to calc HMAC, should continue to receive 2017-03-05 21:51:40 +08:00
Micooz
e07f1e50c0 refactor(utils): toBytesBE -> numberToUIntBE, hostToAddress -> parseURI 2017-03-05 21:50:12 +08:00
Micooz
e91b83e851 refactor(presets/frame): deprecate pack() and unpack() 2017-03-05 21:48:58 +08:00
Micooz
766924dc81 refactor(utils): deprecate crypto.js, presets now can implement their own crypto logic without limit
close: #16
2017-03-03 22:16:06 +08:00
Micooz
e1385b54b6 fix(aead): aead now will encrypt payload then mac 2017-03-03 18:22:13 +08:00
Micooz
8e6b58724e fix(basic): should not split buffer into chunks 2017-03-02 17:55:06 +08:00
Micooz
d45396d63b fix(aead): should not split buffer into chunks 2017-03-02 17:54:42 +08:00
Micooz
7694ee91a1 feat(presets/protocol): add basic preset 2017-03-01 22:21:00 +08:00
Micooz
da8eaf46e4 refactor(presets/protocol): remove redundant code in aead preset 2017-03-01 22:20:39 +08:00
Micooz
4766606dee chore(presets/protocol): deprecate none preset 2017-03-01 22:17:53 +08:00
Micooz
6e1615cb4c docs(*): update architecture/ and README 2017-03-01 10:50:07 +08:00
Micooz
45bb17c289 chore(presets): log error rather than throw it 2017-02-26 20:39:08 +08:00
Micooz
4fd4c7d83f chore(*): deprecate log4js, use winston instead 2017-02-26 20:13:11 +08:00
Micooz
2b3692c278 docs(presets): update 2017-02-26 16:11:49 +08:00
Micooz
3cf11ee6cf feat(presets): add frame preset, allow to custom the lowest frame 2017-02-26 16:11:05 +08:00
Micooz
8d1837661c refactor(middlewares): deprecate individual middlewares use createMiddleware() to create 2017-02-26 16:07:05 +08:00
Micooz
d1d82ea71d feat(middlewares,presets): add obfs, protocol, crypto middlewares and implementations 2017-02-23 21:41:43 +08:00
Micooz
3c65623604 chore(core): remove and rename some files 2017-02-23 21:39:56 +08:00
Micooz
0ba9ce5a85 fix(obfs): http obfs 2017-02-08 22:54:18 +08:00
Micooz
a076319216 feat(obfs): now can specify obfuscation times per socket for 'http' obfs 2017-02-08 22:25:18 +08:00
Micooz
08899b48ea refactor(Pipe): do more things, simplify Socket, use only one pipe 2017-02-07 23:15:46 +08:00
Micooz
e53caad780 feat(obfs): implemented http obfs 2017-02-06 23:36:33 +08:00
Micooz
8b238c08e4 chore(presets): add obfs presets and fix protocol presets 2017-02-05 23:34:16 +08:00
Micooz
11d96340ae feat(presets): add presets for protocol and obfs middleware 2017-02-04 23:42:36 +08:00