一个脚本快速搭建SS服务

服务器安装 socket 脚本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash

# 生成相关的文件夹地址
mkdir /usr/local/shadowsocks

# shadowsocks 安装

# 进入目标地址
cd /usr/local/shadowsocks
# 下载 socket 服务端应用
wget https://github.com/shadowsocks/go-shadowsocks2/releases/download/v0.1.5/shadowsocks2-linux.gz
# 解压
gzip -d shadowsocks2-linux.gz
# 增加可执行权限
chmod +x shadowsocks2-linux

# 生成运行 shadowsocks 应用的 shell 脚本
echo "#!/bin/bash

nohup ./shadowsocks2-linux -s 'ss://AES-128-GCM:password@:28800' -verbose > log 2>&1 &
" > ./start.sh

# 运行这个脚本
sh ./start.sh

# 生成关闭 shadowsocks 应用的 shell 脚本
echo '#!/bin/bash

PID=`ps -ef | grep shadowsocks2-linux | grep -v grep | awk "{print $2}"`
if [[ "" !=  "$PID" ]]; then
echo "killing $PID"
kill -9 $PID
fi' > ./stop.sh

# 防火墙  开放shadowsocks端口
firewall-cmd --zone=public --add-port=28800/tcp --permanent
firewall-cmd --reload

服务器 kcptun 脚本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash

mkdir /usr/local/kcptun

# kcptun
cd /usr/local/kcptun
wget https://github.com/xtaci/kcptun/releases/download/v20190905/kcptun-linux-amd64-20190905.tar.gz
tar -xzvf kcptun-linux-amd64-20190905.tar.gz

echo '{
  "listen": ":29900",
  "target": "127.0.0.1:28800",
  "mode" : "fast",
  "nocomp" : true,
  "key" : "password",
  "crypt" : "aes",
  "datashard" : 10,
  "mtu" : 1350,
  "parityshard" : 3,
  "dscp": 0
}' > ./config.json

echo '#!/bin/bash

./server_linux_amd64 -c config.json > log 2>&1 &
' > ./start.sh

# 不运行 kcptun
sh start.sh

echo '#!/bin/bash

PID=`ps -ef | grep server_linux_amd64 | grep -v grep | awk "{print $2}"`
if [[ "" !=  "$PID" ]]; then
  echo "killing $PID"
  kill -9 $PID
fi' > ./stop.sh

# 防火墙
firewall-cmd --zone=public --add-port=28800/tcp --permanent
firewall-cmd --reload

后言

如果只是运行 ss 服务,连接到服务器运行第一个 socket 脚本 就可以了。

服务器连接时使用 shell 脚本中的信息
ss://AES-128-GCM:password@:28800
加密方式: aes-128-gcm
密码: password
端口: 28800

如果需要修改端口时 记得也要修改 防火墙中的端口

防火墙 centos

1
2
# 关闭
systemctl stop firewalld

防火墙 ubuntu

1
2
3
4
# 查看状态
sudo ufw status
# 开启/关闭
sudo ufw enable|disable