-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathShadowsocks.sh
More file actions
93 lines (75 loc) · 2.24 KB
/
Copy pathShadowsocks.sh
File metadata and controls
93 lines (75 loc) · 2.24 KB
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#!/usr/bin/env bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
#=================================================================#
# Description: Shadowsocks Server #
# System Required: Centos 8 x86_64 #
# Thanks: clowwindy #
#=================================================================#
clear
echo
echo "#############################################################"
echo "# Shadowsocks Server #"
echo "# System Required: Centos 8 x86_64 #"
echo "# Github: <https://github.com/madeye> #"
echo "# Thanks: madeye #"
echo "#############################################################"
echo
# Info
get_char(){
SAVEDSTTY=`stty -g`
stty -echo
stty cbreak
dd if=/dev/tty bs=1 count=1 2> /dev/null
stty -raw
stty echo
stty $SAVEDSTTY
}
echo
echo "Press Enter to continue...or Press Ctrl+C to cancel"
char=`get_char`
# Install Shadowsocks-libev
sudo yum install epel-release
sudo yum install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
sudo snap install core
sudo snap install shadowsocks-libev
# Config shadowsocks
cat > /snap/bin/config.json<<-EOF
{
"server":"0.0.0.0",
"server_port":443,
"password":"ilovess",
"method":"xchacha20-ietf-poly1305",
"nameserver":"8.8.8.8",
"mode":"tcp_and_udp",
"timeout":60
}
EOF
# 开机自启
cat > /etc/systemd/system/shadowsocks.service<<-EOF
[Unit]
Description=Shadowsocks Server
After=network.target
[Service]
ExecStart=/snap/bin/shadowsocks-libev.ss-server -c /snap/bin/config.json
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable shadowsocks
# 启动
systemctl start shadowsocks
# 检查启动
do_check(){
pid=`ps -ef | grep -v grep | grep -v ps | grep -i "ss-server" | awk '{print $2}'`
if [ -z $pid ]; then
echo "Sorry,something went wrong!"
else
echo "Congratulations!You can enjoy Shadowsocks now..."
fi
}
do_check
# 清理
rm -rf /root/Shadowsocks.sh