Awesome
Yet another SIP003 plugin for shadowsocks, based on V2Ray
Build
go build
- Alternatively, you can grab the latest nightly from Circle CI by logging into Circle CI or adding
#artifacts
at the end of URL like such: https://circleci.com/gh/shadowsocks/v2ray-plugin/20#artifacts
Usage
See command line args for advanced usages.
Shadowsocks over websocket (HTTP)
On your server
ss-server -c config.json -p 80 --plugin v2ray-plugin --plugin-opts "server"
On your client
ss-local -c config.json -p 80 --plugin v2ray-plugin
Shadowsocks over websocket with TLS (HTTPS)
On your server
ss-server -c config.json -p 443 --plugin v2ray-plugin --plugin-opts "server;tls;host=mydomain.me"
On your client
ss-local -c config.json -p 443 --plugin v2ray-plugin --plugin-opts "tls;host=mydomain.me"
Shadowsocks over QUIC
On your server
ss-server -c config.json -p 443 --plugin v2ray-plugin --plugin-opts "server;mode=quic;host=mydomain.me"
On your client
ss-local -c config.json -p 443 --plugin v2ray-plugin --plugin-opts "mode=quic;host=mydomain.me"
Shadowsocks over gRPC
On your server
ss-server -c config.json -p 443 --plugin v2ray-plugin --plugin-opts "server;mode=grpc"
On your client
ss-local -c config.json -p 443 --plugin v2ray-plugin --plugin-opts "mode=grpc"
Shadowsocks over gRPC with TLS
On your server
ss-server -c config.json -p 443 --plugin v2ray-plugin --plugin-opts "server;mode=grpc;tls;host=mydomain.me"
On your client
ss-local -c config.json -p 443 --plugin v2ray-plugin --plugin-opts "tls;mode=grpc;host=mydomain.me"
Issue a cert for TLS and QUIC
v2ray-plugin
will look for TLS certificates signed by acme.sh by default.
Here's some sample commands for issuing a certificate using CloudFlare.
You can find commands for issuing certificates for other DNS providers at acme.sh.
curl https://get.acme.sh | sh
~/.acme.sh/acme.sh --issue --dns dns_cf -d mydomain.me
Alternatively, you can specify path to your certificates using option cert
and key
.
Use certRaw
to pass certificate
Instead of using cert
to pass the certificate file, certRaw
could be used to pass in PEM format certificate, that is the content between -----BEGIN CERTIFICATE-----
and -----END CERTIFICATE-----
without the line breaks.