A framework for building composable proxy protocol stack.
presets/actions.js
to src/constants.js
.preset.js
, implement _write()
in IPreset
.obfs-tls1.2-ticket
.speed-tester.js
, fix speed measurement.$ npm install -g [email protected]
Node.js 10 is supported in this version!
basic authorization
(username/password).IPresetAddressing::onInitTargetAddress()
and IPresetAddressing::resolveTargetAddress()
.chacha20-ietf
method for ss-stream-cipher
, but require Node.js 10.x.IPreset::onNotified()
.auto-conf
preset.Pipe::initTargetAddress()
.uint64ToBuffer()
, incrementLE()
and incrementBE()
.relay::on()
and relay.init()
.server.getConnections()
for ws.$ npm install -g [email protected]
$ npm install -g [email protected]
The minimal version of Node.js required is 8.x now, please upgrade your Node.js if necessary.
$ npm install -g [email protected]
stats
preset.tracker
preset, re-implement in core.access-control
preset, re-implement in core.$ npm install -g [email protected]
After v3, blinksocks no longer support multiple servers and cluster mode, so you should make some changes in your client config.json after upgrade:
--- a/blinksocks.client.old.json
+++ b/blinksocks.client.new.json
{
"service": "socks5://127.0.0.1:1081?forward=127.0.0.1:1083",
- "servers": [{
- "enabled": true,
+ "server": {
"service": "tcp://localhost:1082",
"key": "AuM3R$]Pnj^Cqg^9",
"presets": [
@@ -18,11 +17,10 @@
"mux": false,
"mux_concurrency": 10,
"tls_cert": "cert.pem"
- }],
+ },
"dns": [],
"dns_expire": 3600,
"timeout": 300,
- "workers": 0,
"log_path": "bs-client.log",
"log_level": "debug",
"log_max_days": 1
access-control
preset was removed in v3 as well, if you want to enable ACL on server side, please add acl
and acl_conf
to server.json:
--- a/blinksocks.server.old.json
+++ b/blinksocks.server.new.json
@@ -14,12 +14,13 @@
],
"tls_key": "key.pem",
"tls_cert": "cert.pem",
+ "acl": true,
+ "acl_conf": "acl.txt",
"mux": false,
"dns": [],
"dns_expire": 3600,
"timeout": 300,
"redirect": "",
- "workers": 0,
"log_path": "bs-server.log",
"log_level": "debug",
"log_max_days": 1
TCP/TLS/WS multiplexing is introduced in this version. :sparkles:
$ npm install -g [email protected]
obfs-random-padding
to presets by default.none
method for ssr-auth-chain-*
.undefined
bug when only use service
in configuration.auto-conf
preset.$ npm install -g [email protected]
dynamic protocol is introduced in this version, it's an experimental feature.
To use dynamic protocol, prepare a suites.json
or pick one from the official versions, then change your preset list(on both client and server) to:
"presets": [
{
"name": "auto-conf",
"params": {
"suites": "suites.json"
}
},
// no other presets
]
$ npm install -g [email protected]
$ npm install -g [email protected]
$ npm install -g [email protected]