shadowsocks-nodejs is a node.js port of shadowsocks.
Deprecated; please use Other versions.
Many people are asking why. Here's why.
The GC of node.js sucks.
Python version handles 5000 connections with 50MB RAM while node.js version handles 100 connections with 300MB RAM. Why should we continue to support node.js?
Download the lastest Node stable release. Don't just use master branch of Node source code from Github! It's not stable.
npm install -g shadowsocks
Create a file named
config.json, with the following content.
Explaination of the fields:
server your server IP (IPv4/IPv6), notice that your server will listen to this IP
server_port server port
local_port local port
password a password used to encrypt transfer
timeout in seconds
method encryption method, "bf-cfb", "aes-256-cfb", "des-cfb", "rc4", etc. Default is table
local_address local binding address, leave it alone if you don't know what it means
cd into the directory of
ssserver on your server. Use Supervisor.
On your client machine, run
Change the proxy setting in your browser into
port: your local_port
You can use args to override settings from
sslocal -s server_name -p server_port -l local_port -k password -m bf-cfb -b local_address
ssserver -p server_port -k password -m bf-cfb -t timeout
ssserver -c /etc/shadowsocks/config.json
Example of multi-user server support can be found in
You can build coffee source code and test it:
npm install -g coffee-script
cake build test
Bugs and Issues
Please visit Issue Tracker
Mailing list: http://groups.google.com/group/shadowsocks
Also see Troubleshooting