Installing and configuring Shadowsocks on an Ubuntu machine involves several steps, including updating the system, installing necessary dependencies, downloading and setting up Shadowsocks, and configuring it to run as a service. Here’s a step-by-step guide to help you through the process:
Step 1: Update the System
First, ensure your system is up to date:
sudo apt update sudo apt upgrade -y
Step 2: Install Necessary Dependencies
Shadowsocks requires Python and pip (Python package manager). Install them with:
sudo apt install python3 python3-pip -y
Step 3: Install Shadowsocks
Use pip to install Shadowsocks:
sudo pip3 install shadowsocks
Step 4: Configure Shadowsocks
Create a configuration file for Shadowsocks. The default location for the configuration file is /etc/shadowsocks/config.json
. You might need to create the directory first:
sudo mkdir -p /etc/shadowsocks
Then create the configuration file:
sudo nano /etc/shadowsocks/config.json
Here’s a sample configuration:
{ "server": "0.0.0.0", "server_port": 8388, "local_address": "127.0.0.1", "local_port": 1080, "password": "your_password", "timeout": 300, "method": "aes-256-cfb", "fast_open": false }
Replace "your_password"
with a strong password. You can also adjust the "server_port"
and "method"
as needed.
Step 5: Run Shadowsocks
To start Shadowsocks manually, use the following command:
sudo ssserver -c /etc/shadowsocks/config.json
Step 6: Configure Shadowsocks to Run as a Service
To ensure Shadowsocks starts automatically on system boot, create a systemd service file:
sudo nano /etc/systemd/system/shadowsocks.service
Add the following content to the file:
[Unit] Description=Shadowsocks Proxy Server After=network.target [Service] ExecStart=/usr/local/bin/ssserver -c /etc/shadowsocks/config.json Restart=on-failure [Install] WantedBy=multi-user.target
Save and close the file. Then, enable and start the Shadowsocks service:
sudo systemctl enable shadowsocks sudo systemctl start shadowsocks
Step 7: Verify the Service
Check the status of the Shadowsocks service to ensure it is running correctly:
sudo systemctl status shadowsocks
If everything is set up correctly, the status should indicate that Shadowsocks is active and running.
Additional Configuration
For enhanced security and performance, consider configuring additional settings such as:
Firewall Rules: Allow the Shadowsocks server port through the firewall.
sudo ufw allow 8388/tcp sudo ufw allow 8388/udp sudo ufw enable
- Optimizations: Adjust TCP settings or use
fast_open
if your kernel supports it.
By following these steps, you should have a fully functional Shadowsocks server running on your Ubuntu machine.
Read more from Shadowsocks documentation