本文编写于 362 天前,最后修改于 362 天前,其中某些信息可能已经过时。

简单记录一下如何从0开始搭建ss,文章是从别处搬运的,也就是我学到的搭建方法。
原链接:CentOS7.4搭建shadowsocks,以及配置BBR加速

首先是VPS

这个比较好弄,简单说就是买买买搞定,至于速度啥的,灵活一点测试配置就成。

我目前使用的vultr,以下是我的分享链接:

https://www.vultr.com/?ref=7234461(支持支付宝)

然后是ss安装配置

基本上照着操作,成功率99.99%,已经很傻瓜式了,加油!

安装 pip

pip是 python 的包管理工具。在本文中将使用 python 版本的 shadowsocks,此版本的 shadowsocks 已发布到 pip 上,因此我们需要通过 pip 命令来安装。

在控制台执行以下命令安装 pip:

[root@server ~]# curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
[root@server ~]# python get-pip.py

安装配置 shadowsocks

在控制台执行以下命令安装 shadowsocks:

[root@server ~]# pip install --upgrade pip
[root@server ~]# pip install shadowsocks

安装完成后,需要创建shadowsocks的配置文件/etc/shadowsocks.json,编辑内容如下:

[root@server ~]# vim /etc/shadowsocks.json
{
  "server": "0.0.0.0",
  "local_address": "127.0.0.1",
  "local_port": 1080,
  "port_password": {
    "8080": "填写密码",
    "8081": "填写密码"
  },
  "timeout": 600,
  "method": "aes-256-cfb"
}

说明:
method为加密方法,可选aes-128-cfb, aes-192-cfb, aes-256-cfb, bf-cfb, cast5-cfb, des-cfb, rc4-md5, chacha20, salsa20, rc4, table
port_password为端口对应的密码,可使用密码生成工具生成一个随机密码
以上两项信息在配置 shadowsocks 客户端时需要配置一致,具体说明可查看 shadowsocks 的帮助文档。

如果你不需要配置多个端口的话,仅配置单个端口,则可以使用以下配置:

{
  "server": "0.0.0.0",
  "server_port": 8080,
  "password": "填写密码",
  "method": "aes-256-cfb"
}

说明:
server_port为服务监听端口
password为密码
同样的以上两项信息在配置 shadowsocks 客户端时需要配置一致。


配置自启动

编辑shadowsocks 服务的启动脚本文件,内容如下:

[root@server ~]# vim /etc/systemd/system/shadowsocks.service
[Unit]
Description=Shadowsocks

[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/ssserver -c /etc/shadowsocks.json

[Install]
WantedBy=multi-user.target

执行以下命令启动 shadowsocks 服务:

[root@server ~]# systemctl enable shadowsocks
[root@server ~]# systemctl start shadowsocks

检查 shadowsocks 服务是否已成功启动,可以执行以下命令查看服务的状态:

systemctl status shadowsocks -l

如果服务启动成功,则控制台显示的信息应该类似这样:
CentOS7.4搭建shadowsocks,以及配置BBR加速

确认服务启动成功后,配置防火墙规则,开放你配置的端口,不然客户端是无法连接的:

[root@server ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
success
[root@server ~]# firewall-cmd --zone=public --add-port=8081/tcp --permanent
success
[root@server ~]# firewall-cmd --reload
success

附上一键安装脚本代码:

#!/bin/bash
# Install Shadowsocks on CentOS 7

echo "Installing Shadowsocks..."

random-string()
{
    cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-32} | head -n 1
}

CONFIG_FILE=/etc/shadowsocks.json
SERVICE_FILE=/etc/systemd/system/shadowsocks.service
SS_PASSWORD=$(random-string 32)
SS_PORT=8388
SS_METHOD=aes-256-cfb
SS_IP=`ip route get 1 | awk '{print $NF;exit}'`
GET_PIP_FILE=/tmp/get-pip.py

# install pip
curl "https://bootstrap.pypa.io/get-pip.py" -o "${GET_PIP_FILE}"
python ${GET_PIP_FILE}

# install shadowsocks
pip install --upgrade pip
pip install shadowsocks

# create shadowsocls config
cat <<EOF | sudo tee ${CONFIG_FILE}
{
  "server": "0.0.0.0",
  "server_port": ${SS_PORT},
  "password": "${SS_PASSWORD}",
  "method": "${SS_METHOD}"
}
EOF

# create service
cat <<EOF | sudo tee ${SERVICE_FILE}
[Unit]
Description=Shadowsocks

[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/ssserver -c ${CONFIG_FILE}

[Install]
WantedBy=multi-user.target
EOF

# start service
systemctl enable shadowsocks
systemctl start shadowsocks

# view service status
sleep 5
systemctl status shadowsocks -l

echo "================================"
echo ""
echo "Congratulations! Shadowsocks has been installed on your system."
echo "You shadowsocks connection info:"
echo "--------------------------------"
echo "server:      ${SS_IP}"
echo "server_port: ${SS_PORT}"
echo "password:    ${SS_PASSWORD}"
echo "method:      ${SS_METHOD}"
echo "--------------------------------"

配置客户端

我用的是Mac和手机,挺简单的,按照下面的地址下载使用最新的版本即可。

Windows客户端下载地址:

https://github.com/shadowsocks/shadowsocks-windows/releases

Mac客户端下载地址:

https://github.com/shadowsocks/ShadowsocksX-NG/releases

Android客户端下载地址:

https://github.com/shadowsocks/shadowsocks-android/releases

iOS没有直接的客户端安装,较为麻烦,需要的可以单独联系。