A framework for building composable proxy protocol stack.
APACHE-2.0 License
Bot releases are hidden (Show)
$ npm install -g [email protected]
js-sha3
to 0.8.0
.winston
to 3.1.0
, winston-daily-rotate-file
to 3.4.1
.ws
to 6.1.0
.merge
dependency.ws
to 6.0.0
.jest
and fix test environment.MaxListenersExceededWarning
s.libsodium-wrappers
on demand.TypeError: Cannot read property 'push' of null
.$ npm install -g [email protected]
ws
to 5.2.2
and winston-daily-rotate-file
to 3.3.0
.multiplexing
.http2
module.$ npm install -g [email protected]
aes-128-ccm
, aes-192-ccm
and aes-256-ccm
) to ss-aead-cipher
.semver
to compare versions.Pipe
.core/speed-tester.js
to utils/speed-tester.js
.ws
transport.http2session
for h2
transport.drain
event from other bounds.ws
and wss
.tcp
.Hub
.MuxRelay
.$ npm install -g [email protected]
ws
to v5.2.1, winston-daily-rotate-file
to v3.2.3.$ npm install -g [email protected]
http2
transport is added in version. For usage please refer to examples/http2.
$ npm install -g [email protected]
https
support.Test Using curl
.$ npm install -g [email protected]
wss
(WebSocket/TLS).If you encounter the following warning, and the certificate is self-signed
, please add "tls_cert_self_signed": true
to client configuration and provide server certificate in "tls_cert"
as well:
warn: [xxx:outbound] [x.x.x.x:xxxxx] self signed certificate
--- a/blinksocks.client.old.json
+++ b/blinksocks.client.new.json
{
"service": "socks5://127.0.0.1:1081",
"server": {
"service": "tls://localhost:1082",
"key": "AuM3R$]Pnj^Cqg^9",
"presets": [
@@ -18,11 +17,10 @@
"mux": false,
"mux_concurrency": 10,
"tls_cert": "cert.pem",
+ "tls_cert_self_signed": true
},
"dns": [],
"dns_expire": 3600,
"timeout": 300,
tls_cert_self_signed
option."tls_cert_self_signed": true
if use self-singed
certificate.$ npm install -g [email protected]
For security reason, executables are no longer uploaded in the following releases, we only publish npm packages.
install-run-debian.sh
.pathname
support for websocket.socks
or http
protocol.$ npm install -g [email protected]
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. โจ
$ 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]