130 lines
3.4 KiB
Bash
130 lines
3.4 KiB
Bash
#!/bin/bash
|
||
# author :ym2011
|
||
# date : 2019-10-08
|
||
# version : 1.0
|
||
# target : After restored Snapshots to the machine, the script helps to correct the configuration easily.
|
||
|
||
default_install(){
|
||
#Recover the backup configuration for shadowsocks
|
||
echo
|
||
echo_Yellow "# ======================================="
|
||
echo_GreenBG "Stop Shadowsocks service "
|
||
systemctl stop shadowsocks
|
||
# open ports for ss server
|
||
echo
|
||
echo_Yellow "# ======================================="
|
||
echo_GreenBG "Add ports of shadowsocks to system firewall "
|
||
firewall-cmd --zone=public --add-port=25/tcp --permanent
|
||
firewall-cmd --zone=public --add-port=2019/tcp --permanent
|
||
firewall-cmd --reload
|
||
# Get public IP address
|
||
echo_GreenBG "Change the ip in Configuration for shadowsocks"
|
||
IP=$(/sbin/ifconfig eth0 | egrep -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' |head -n 1)
|
||
# change the IP for current machine
|
||
sed -i '3s/^.*$/"server": "'$IP'",/g' /etc/shadowsocks.json
|
||
# reload
|
||
echo
|
||
echo_Yellow "# ======================================="
|
||
echo_GreenBG "Show the status for Shadowsocks "
|
||
systemctl daemon-reload
|
||
systemctl start shadowsocks
|
||
systemctl status shadowsocks -l
|
||
}
|
||
|
||
|
||
restart_service(){
|
||
echo
|
||
echo_Yellow "# ======================================="
|
||
echo_GreenBG "restart Shadowsocks "
|
||
systemctl stop shadowsocks
|
||
systemctl start shadowsocks
|
||
echo_GreenBG "Show the status for Shadowsocks "
|
||
systemctl status shadowsocks -l
|
||
}
|
||
|
||
|
||
show_status(){
|
||
echo
|
||
echo_Green "# ======================================="
|
||
echo_GreenBG "show the status for bbr "
|
||
lsmod | grep bbr
|
||
echo
|
||
echo_Green "# ======================================="
|
||
echo_GreenBG "show the status for Shadowsocks "
|
||
systemctl status shadowsocks -l
|
||
}
|
||
|
||
|
||
display_conf(){
|
||
echo
|
||
echo
|
||
echo_Green "# ======================================="
|
||
echo_GreenBG "#Shadowsocks Server Configuration: /etc/shadowsocks.json"
|
||
cat /etc/shadowsocks.json
|
||
echo
|
||
echo_Green "# ======================================="
|
||
echo_GreenBG "#bbr Server Configuration: /etc/sysctl.conf"
|
||
cat /etc/sysctl.conf | grep bbr
|
||
|
||
}
|
||
|
||
|
||
# Setting Menu
|
||
start_menu(){
|
||
clear
|
||
echo
|
||
echo_Green "# ======================================="
|
||
echo "Firstly, creating the machine and Restored Snapshot."
|
||
echo "Secondly, We should correct the configuration for shadowsocks."
|
||
echo "Finally, Following the guide, it can help you do it easily!!!"
|
||
echo
|
||
echo_Green "# ======================================="
|
||
echo_SkyBlue "> 1. Default Option, Recover Shadowsocks and bbr automatically "
|
||
echo_SkyBlue "> 2. Restart Shadowsocks service "
|
||
echo_Green "> 3. Display status for Shadowsocks and bbr "
|
||
echo_Green "> 4. Display Shadowsocks and bbr Configuration "
|
||
echo_Yellow "> 5. Exit"
|
||
read -p "Please Enter the Number to Choose (Press Enter to Default):" num
|
||
case "$num" in
|
||
1)
|
||
default_install
|
||
;;
|
||
2)
|
||
restart_service
|
||
;;
|
||
3)
|
||
show_status
|
||
;;
|
||
4)
|
||
display_conf
|
||
;;
|
||
5)
|
||
exit 1
|
||
;;
|
||
*)
|
||
default_install
|
||
;;
|
||
esac
|
||
}
|
||
|
||
|
||
# Definition Display Text Color
|
||
Green="\033[32m" && Red="\033[31m" && GreenBG="\033[42;37m" && RedBG="\033[41;37m"
|
||
Font="\033[0m" && Yellow="\033[0;33m" && SkyBlue="\033[0;36m"
|
||
|
||
echo_SkyBlue(){
|
||
echo -e "${SkyBlue}$1${Font}"
|
||
}
|
||
echo_Yellow(){
|
||
echo -e "${Yellow}$1${Font}"
|
||
}
|
||
echo_Green(){
|
||
echo -e "${Green}$1${Font}"
|
||
}
|
||
echo_GreenBG(){
|
||
echo -e "${GreenBG}$1${Font}"
|
||
}
|
||
|
||
|
||
start_menu
|