Yet another SIP003 plugin for shadowsocks, based on Xray-core
go build
See command line args for advanced usages.
On your server
ss-server -c config.json -p 80 --plugin xray-plugin --plugin-opts "server"
On your client
ss-local -c config.json -p 80 --plugin xray-plugin
On your server
ss-server -c config.json -p 443 --plugin xray-plugin --plugin-opts "server;tls;host=mydomain.com"
On your client
ss-local -c config.json -p 443 --plugin xray-plugin --plugin-opts "tls;host=mydomain.com"
On your server
ss-server -c config.json -p 443 --plugin xray-plugin --plugin-opts "server;mode=quic;host=mydomain.com"
On your client
ss-local -c config.json -p 443 --plugin xray-plugin --plugin-opts "mode=quic;host=mydomain.com"
On your server
ss-server -c config.json -p 443 --plugin xray-plugin --plugin-opts "server;mode=grpc"
On your client
ss-local -c config.json -p 443 --plugin xray-plugin --plugin-opts "mode=grpc"
On your server
ss-server -c config.json -p 443 --plugin xray-plugin --plugin-opts "server;mode=grpc;tls;host=mydomain.com"
On your client
ss-local -c config.json -p 443 --plugin xray-plugin --plugin-opts "tls;mode=grpc;host=mydomain.com"
xray-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.
wget -O- https://get.acme.sh | sh
~/.acme.sh/acme.sh --issue --dns dns_cf -d mydomain.com
Alternatively, you can specify path to your certificates using option cert
and key
.
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.