forked from nameless3721/nash
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrustss.sh
76 lines (76 loc) · 2.72 KB
/
rustss.sh
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/usr/bin/env bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
CONF="/etc/rustss/rustss-server.json"
SYSTEMD="/etc/systemd/system/rustss.service"
apt-get -y install nano wget
cd ~/
wget --no-check-certificate -O rustss.tar.xz https://github.com/shadowsocks/shadowsocks-rust/releases/download/v1.12.0-alpha.9/shadowsocks-v1.12.0-alpha.9.x86_64-unknown-linux-musl.tar.xz
tar -xvJf rustss.tar.xz
rm -f rustss.tar.xz
chmod +x ssserver
chmod +x sslocal
chmod +x ssmanager
chmod +x ssurl
mv -f ssserver /usr/local/bin/
mv -f sslocal /usr/local/bin/
mv -f ssmanager /usr/local/bin/
mv -f ssurl /usr/local/bin/
if [ -f ${CONF} ]; then
echo "Found existing config..."
else
if [ -z ${PSK} ]; then
PSK=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 16)
echo "Using generated PSK: ${PSK}"
else
echo "Using predefined PSK: ${PSK}"
fi
read -p "输入端口或者23456" port
[ -z "${port}" ] && port='23456'
read -p "输入密码或者随机" rustsspwd
[ -z "${rustsspwd}" ] && rustsspwd=${PSK}
mkdir /etc/rustss/
echo "Generating new config..."
echo "{" >>${CONF}
echo " \"server\": \"0.0.0.0\"," >>${CONF}
echo " \"server_port\": $port," >>${CONF}
echo " \"password\": \"$rustsspwd\"," >>${CONF}
echo " \"timeout\": 60," >>${CONF}
echo " \"mode\":\"tcp_and_udp\"," >>${CONF}
echo " \"method\": \"aes-128-gcm\"" >>${CONF}
echo "}" >>${CONF}
fi
if [ -f ${SYSTEMD} ]; then
echo "Found existing service..."
systemctl daemon-reload
systemctl restart rustss
else
echo "Generating new service..."
echo "[Unit]" >>${SYSTEMD}
echo "Description=Rustss Proxy Service" >>${SYSTEMD}
echo "After=network.target" >>${SYSTEMD}
echo "" >>${SYSTEMD}
echo "[Service]" >>${SYSTEMD}
echo "Type=simple" >>${SYSTEMD}
echo "LimitAS=infinity" >>${SYSTEMD}
echo "LimitRSS=infinity" >>${SYSTEMD}
echo "LimitCORE=infinity" >>${SYSTEMD}
echo "LimitNOFILE=65535" >>${SYSTEMD}
echo "ExecStart=/usr/local/bin/ssserver -c /etc/rustss/rustss-server.json -v" >>${SYSTEMD}
echo "StandardOutput=file:/etc/rustss/rust.log" >>${SYSTEMD}
echo "StandardError=file:/etc/rustss/rust.log" >>${SYSTEMD}
echo "Restart=always" >>${SYSTEMD}
echo "RestartSec=10" >>${SYSTEMD}
echo "" >>${SYSTEMD}
echo "[Install]" >>${SYSTEMD}
echo "WantedBy=multi-user.target" >>${SYSTEMD}
systemctl daemon-reload
systemctl enable rustss
systemctl start rustss
ssurl -e /etc/rustss/rustss-server.json
fi
echo '##########################################################'
echo '#修改配置:nano /etc/rustss/rustss-server.json'
echo '#启动ss:systemctl restart rustss'
echo '#获取url自行改ip:ssurl -e /etc/rustss/rustss-server.json'
echo '##########################################################'