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)
Warning: HTTP only provides a moderate (but lightweight) traffic obfuscation. Cautious users should refrain from using this mode.
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 (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"
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
.
certRaw
to pass certificate
Use 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.