Skip to content

Commit

Permalink
Optimization code
Browse files Browse the repository at this point in the history
  • Loading branch information
loyess committed Nov 15, 2019
1 parent cffe5ad commit cf93789
Show file tree
Hide file tree
Showing 15 changed files with 150 additions and 105 deletions.
2 changes: 1 addition & 1 deletion plugins/cloak_install.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
install_cloak(){
cd ${CUR_DIR}
chmod +x ${cloak_file}
mv ${cloak_file} /usr/local/bin/ck-server
mv ${cloak_file} ${CLOAK_SERVER_BIN_PATH}
if [ $? -eq 0 ]; then
chmod +x ${CLOAK_INIT}
local service_name=$(basename ${CLOAK_INIT})
Expand Down
2 changes: 1 addition & 1 deletion plugins/goquiet_install.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
install_goquiet(){
cd ${CUR_DIR}
chmod +x ${goquiet_file}
mv ${goquiet_file} /usr/local/bin/gq-server
mv ${goquiet_file} ${GOQUIET_BIN_PATH}
if [ $? -eq 0 ]; then
echo -e "${Info} GoQuiet安装成功."
else
Expand Down
8 changes: 4 additions & 4 deletions plugins/kcptun_install.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
install_kcptun(){
cd ${CUR_DIR}
tar zxf ${kcptun_file}.tar.gz
if [ ! -d "$(dirname ${KCPTUN_INSTALL_DIR})" ]; then
mkdir -p $(dirname ${KCPTUN_INSTALL_DIR})
if [ ! -d ${KCPTUN_INSTALL_PATH} ]; then
mkdir -p ${KCPTUN_INSTALL_PATH}
fi
mv server_linux_amd64 ${KCPTUN_INSTALL_DIR}
mv server_linux_amd64 ${KCPTUN_BIN_PATH}
if [ $? -eq 0 ]; then
chmod +x ${KCPTUN_INIT}
local service_name=$(basename ${KCPTUN_INIT})
Expand All @@ -22,6 +22,6 @@ install_kcptun(){
install_cleanup
exit 1
fi
[ -f ${KCPTUN_INSTALL_DIR} ] && ln -fs ${KCPTUN_INSTALL_DIR} /usr/bin
[ -f ${KCPTUN_BIN_PATH} ] && ln -fs ${KCPTUN_BIN_PATH} /usr/bin

}
6 changes: 5 additions & 1 deletion plugins/simple_obfs_install.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
install_simple_obfs(){
cd ${CUR_DIR}

simple_obfs_ver=$(wget --no-check-certificate -qO- https://api.github.com/repos/shadowsocks/simple-obfs/releases | grep -o '"tag_name": ".*"' | head -n 1| sed 's/"//g;s/v//g' | sed 's/tag_name: //g')
[ -z ${simple_obfs_ver} ] && echo -e "${Error} 获取 simple-obfs 最新版本失败." && exit 1

git clone https://github.com/shadowsocks/simple-obfs.git
[ -d simple-obfs ] && cd simple-obfs || echo -e "${Error} git clone simple-obfs 失败."
git submodule update --init --recursive
Expand All @@ -26,6 +30,6 @@ install_simple_obfs(){
install_cleanup
exit 1
fi
[ -f /usr/local/bin/obfs-server ] && ln -fs /usr/local/bin/obfs-server /usr/bin
[ -f ${SIMPLE_OBFS_BIN_PATH} ] && ln -fs ${SIMPLE_OBFS_BIN_PATH} /usr/bin
echo -e "${Info} simple-obfs-${simple_obfs_ver} 安装成功."
}
6 changes: 3 additions & 3 deletions plugins/v2ray_plugin_install.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
install_v2ray_plugin(){
cd ${CUR_DIR}
tar zxf ${v2ray_plugin_file}.tar.gz
if [ ! -d "${SHADOWSOCKS_LIBEV_INSTALL_PATH}" ]; then
mkdir -p ${SHADOWSOCKS_LIBEV_INSTALL_PATH}
if [ ! -d ${V2RAY_PLUGIN_INSTALL_PATH} ]; then
mkdir -p ${V2RAY_PLUGIN_INSTALL_PATH}
fi
mv v2ray-plugin_linux_amd64 ${SHADOWSOCKS_LIBEV_INSTALL_PATH}/v2ray-plugin
mv v2ray-plugin_linux_amd64 ${V2RAY_PLUGIN_BIN_PATH}
if [ $? -eq 0 ]; then
echo -e "${Info} v2ray-plugin安装成功."
else
Expand Down
8 changes: 4 additions & 4 deletions prepare/kcptun_prepare.sh
Original file line number Diff line number Diff line change
Expand Up @@ -254,10 +254,10 @@ install_prepare_libev_kcptun(){
continue
done

# 设置是否关闭数据压缩 nocomp
# 是否关闭数据压缩 nocomp
while true
do
echo -e "设置是否关闭数据压缩(nocomp)"
echo -e "是否禁用数据压缩(nocomp)"
read -p "(默认: n) [y/n]: " yn
[ -z "${yn}" ] && yn="N"
case "${yn:0:1}" in
Expand All @@ -282,10 +282,10 @@ install_prepare_libev_kcptun(){
done

if [[ ${nocomp} = true ]]; then
# 设置是否开启模拟TCP连接 TCP
# 是否开启模拟TCP连接 TCP
while true
do
echo -e "设置是否开启模拟TCP连接(tcp)"
echo -e "是否开启模拟TCP连接(tcp)"
read -p "(默认: n) [y/n]: " yn
[ -z "${yn}" ] && yn="N"
case "${yn:0:1}" in
Expand Down
179 changes: 110 additions & 69 deletions ss-plugins.sh
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,14 @@ SHADOWSOCKS_CONFIG="/etc/shadowsocks/config.json"

# shadowsocks-libev config and init
SHADOWSOCKS_LIBEV_INSTALL_PATH="/usr/local/bin"
SHADOWSOCKS_LIBEV_BIN_PATH="/usr/local/bin/ss-server"
SHADOWSOCKS_LIBEV_INIT="/etc/init.d/shadowsocks-libev"
SHADOWSOCKS_LIBEV_CENTOS="${BASE_URL}/service/shadowsocks-libev_centos.sh"
SHADOWSOCKS_LIBEV_DEBIAN="${BASE_URL}/service/shadowsocks-libev_debian.sh"

# shadowsocks-rust config and init
SHADOWSOCKS_RUST_INSTALL_PATH="/usr/local/bin"
SHADOWSOCKS_RUST_BIN_PATH="/usr/local/bin/ssserver"
SHADOWSOCKS_RUST_INIT="/etc/init.d/shadowsocks-rust"
SHADOWSOCKS_RUST_CENTOS="${BASE_URL}/service/shadowsocks-rust_centos.sh"
SHADOWSOCKS_RUST_DEBIAN="${BASE_URL}/service/shadowsocks-rust_debian.sh"
Expand All @@ -66,17 +68,35 @@ MBEDTLS_FILE="mbedtls-${MBEDTLS_VERSION}"
MBEDTLS_URL="https://tls.mbed.org/download/mbedtls-${MBEDTLS_VERSION}-gpl.tgz"


# v2ray-plugin
V2RAY_PLUGIN_INSTALL_PATH="/usr/local/bin"
V2RAY_PLUGIN_BIN_PATH="/usr/local/bin/v2ray-plugin"


# kcptun
KCPTUN_INSTALL_DIR="/usr/local/kcptun/kcptun-server"
KCPTUN_INSTALL_PATH="/usr/local/kcptun"
KCPTUN_BIN_PATH="/usr/local/kcptun/kcptun-server"
KCPTUN_INIT="/etc/init.d/kcptun"
KCPTUN_CONFIG="/etc/kcptun/config.json"
KCPTUN_LOG_DIR="/var/log/kcptun-server.log"
KCPTUN_CENTOS="${BASE_URL}/service/kcptun_centos.sh"
KCPTUN_DEBIAN="${BASE_URL}/service/kcptun_debian.sh"


# simple-obfs
SIMPLE_OBFS_INSTALL_PATH="/usr/local/bin"
SIMPLE_OBFS_BIN_PATH="/usr/local/bin/obfs-server"


# goquiet
GOQUIET_INSTALL_PATH="/usr/local/bin"
GOQUIET_BIN_PATH="/usr/local/bin/gq-server"


# cloak
CLOAK_INSTALL_PATH="/usr/local/bin"
CLOAK_SERVER_BIN_PATH="/usr/local/bin/ck-server"
CLOAK_CLIENT_BIN_PATH="/usr/local/bin/ck-client"
CLOAK_INIT="/etc/init.d/cloak"
CLOAK_CENTOS="${BASE_URL}/service/cloak_centos.sh"
CLOAK_DEBIAN="${BASE_URL}/service/cloak_debian.sh"
Expand All @@ -86,7 +106,8 @@ CK_SERVER_CONFIG="/etc/cloak/ckserver.json"


# caddy
CADDY_FILE="/usr/local/caddy/caddy"
CADDY_INSTALL_PATH="/usr/local/caddy"
CADDY_BIN_PATH="/usr/local/caddy/caddy"
CADDY_CONF_FILE="/usr/local/caddy/Caddyfile"
CADDY_BASE_URL="https://caddyserver.com/download/linux/amd64"
CADDY_INIT="/etc/init.d/caddy"
Expand Down Expand Up @@ -218,6 +239,70 @@ usage() {
exit $1
}

menu_status(){
local BIN_PATH=$1
local SS_PID=$2

if [[ -e ${BIN_PATH} ]] && [[ -e ${V2RAY_PLUGIN_BIN_PATH} ]] && [[ -e ${CADDY_BIN_PATH} ]]; then
V2_PID=`ps -ef |grep -v grep | grep v2ray-plugin |awk '{print $2}'`
CADDY_PID=`ps -ef |grep -v grep | grep caddy |awk '{print $2}'`

if [[ ! -z ${SS_PID} ]] && [[ ! -z ${V2_PID} ]] && [[ ! -z ${CADDY_PID} ]]; then
echo -e " 当前状态: ${Green}已安装${suffix}${Green}已启动${suffix}"
else
echo -e " 当前状态: ${Green}已安装${suffix}${Red}未启动${suffix}"
fi
elif [[ -e ${BIN_PATH} ]] && [[ -e ${V2RAY_PLUGIN_BIN_PATH} ]]; then
V2_PID=`ps -ef |grep -v grep | grep v2ray-plugin |awk '{print $2}'`

if [[ ! -z ${SS_PID} ]] && [[ ! -z ${V2_PID} ]]; then
echo -e " 当前状态: ${Green}已安装${suffix}${Green}已启动${suffix}"
else
echo -e " 当前状态: ${Green}已安装${suffix}${Red}未启动${suffix}"
fi
elif [[ -e ${BIN_PATH} ]] && [[ -e ${KCPTUN_BIN_PATH} ]]; then
KP_PID=`ps -ef |grep -v grep | grep kcptun-server |awk '{print $2}'`

if [[ ! -z ${SS_PID} ]] && [[ ! -z ${KP_PID} ]]; then
echo -e " 当前状态: ${Green}已安装${suffix}${Green}已启动${suffix}"
else
echo -e " 当前状态: ${Green}已安装${suffix}${Red}未启动${suffix}"
fi
elif [[ -e ${BIN_PATH} ]] && [[ -e ${SIMPLE_OBFS_BIN_PATH} ]]; then
OBFS_PID=`ps -ef |grep -v grep | grep obfs-server |awk '{print $2}'`

if [[ ! -z ${SS_PID} ]] && [[ ! -z ${OBFS_PID} ]]; then
echo -e " 当前状态: ${Green}已安装${suffix}${Green}已启动${suffix}"
else
echo -e " 当前状态: ${Green}已安装${suffix}${Red}未启动${suffix}"
fi
elif [[ -e ${BIN_PATH} ]] && [[ -e ${GOQUIET_BIN_PATH} ]]; then
GQ_PID=`ps -ef |grep -v grep | grep gq-server |awk '{print $2}'`

if [[ ! -z ${SS_PID} ]] && [[ ! -z ${GQ_PID} ]]; then
echo -e " 当前状态: ${Green}已安装${suffix}${Green}已启动${suffix}"
else
echo -e " 当前状态: ${Green}已安装${suffix}${Red}未启动${suffix}"
fi
elif [[ -e ${BIN_PATH} ]] && [[ -e ${CLOAK_SERVER_BIN_PATH} ]]; then
CK_PID=`ps -ef |grep -v grep | grep ck-server |awk '{print $2}'`

if [[ ! -z ${SS_PID} ]] && [[ ! -z ${CK_PID} ]]; then
echo -e " 当前状态: ${Green}已安装${suffix}${Green}已启动${suffix}"
else
echo -e " 当前状态: ${Green}已安装${suffix}${Red}未启动${suffix}"
fi
elif [[ -e ${BIN_PATH} ]]; then
if [[ ! -z ${SS_PID} ]]; then
echo -e " 当前状态: ${Green}已安装${suffix}${Green}已启动${suffix}"
else
echo -e " 当前状态: ${Green}已安装${suffix}${Red}未启动${suffix}"
fi
else
echo -e " 当前状态: ${Red}未安装${suffix}"
fi
}

improt_package(){
local package=$1
local sh_file=$2
Expand Down Expand Up @@ -1057,7 +1142,7 @@ install_main(){
}

install_step_all(){
[[ -e '/usr/local/bin/ss-server' ]] || [[ -e '/usr/local/bin/ssserver' ]] && echo -e "${Info} Shadowsocks 已经安装." && exit 1
[[ -e ${SHADOWSOCKS_LIBEV_BIN_PATH} ]] || [[ -e ${SHADOWSOCKS_RUST_BIN_PATH} ]] && echo -e "${Info} Shadowsocks 已经安装." && exit 1
disable_selinux
install_prepare
if [[ ${SS_VERSION} = "ss-libev" ]]; then
Expand Down Expand Up @@ -1118,7 +1203,9 @@ do_uid(){

is_the_api_open "stop"
else
echo -e " ${Error} 仅支持 ss + cloak 组合下使用,请确认是否是以该组合形式运行."
echo
echo -e "${Error} 仅支持 ss + cloak 组合下使用,请确认是否是以该组合形式运行."
echo
fi
}

Expand All @@ -1129,7 +1216,9 @@ do_link(){
improt_package "utils" "ck_sslink.sh"
get_link_of_ck2 "${CK_UID}"
else
echo -e " ${Error} 仅支持 ss + cloak 组合下使用,请确认是否是以该组合形式运行."
echo
echo -e "${Error} 仅支持 ss + cloak 组合下使用,请确认是否是以该组合形式运行."
echo
fi
}

Expand Down Expand Up @@ -1180,78 +1269,20 @@ do_restart(){
do_start
}

# install status
do_status(){
local mark=$1
if [ "$(command -v ss-server)" ]; then
PID=`ps -ef |grep -v grep | grep ss-server |awk '{print $2}'`
local BIN_PATH=/usr/local/bin/ss-server
local BIN_PATH=${SHADOWSOCKS_LIBEV_BIN_PATH}
local SS_PID=${PID}
elif [ "$(command -v ssserver)" ]; then
RUST_PID=`ps -ef |grep -v grep | grep ssserver |awk '{print $2}'`
local BIN_PATH=/usr/local/bin/ssserver
local BIN_PATH=${SHADOWSOCKS_RUST_BIN_PATH}
local SS_PID=${RUST_PID}
fi

if [[ ${mark} == "menu" ]]; then
if [[ -e ${BIN_PATH} ]] && [[ "$(command -v v2ray-plugin)" ]] && [[ -e "${CADDY_FILE}" ]]; then
V2_PID=`ps -ef |grep -v grep | grep v2ray-plugin |awk '{print $2}'`
CADDY_PID=`ps -ef |grep -v grep | grep caddy |awk '{print $2}'`

if [[ ! -z "${SS_PID}" ]] && [[ ! -z "${V2_PID}" ]] && [[ ! -z "${CADDY_PID}" ]]; then
echo -e " 当前状态: ${Green}已安装${suffix}${Green}已启动${suffix}"
else
echo -e " 当前状态: ${Green}已安装${suffix}${Red}未启动${suffix}"
fi
elif [[ -e ${BIN_PATH} ]] && [[ "$(command -v v2ray-plugin)" ]]; then
V2_PID=`ps -ef |grep -v grep | grep v2ray-plugin |awk '{print $2}'`

if [[ ! -z "${SS_PID}" ]] && [[ ! -z "${V2_PID}" ]]; then
echo -e " 当前状态: ${Green}已安装${suffix}${Green}已启动${suffix}"
else
echo -e " 当前状态: ${Green}已安装${suffix}${Red}未启动${suffix}"
fi
elif [[ -e ${BIN_PATH} ]] && [[ "$(command -v kcptun-server)" ]]; then
KP_PID=`ps -ef |grep -v grep | grep kcptun-server |awk '{print $2}'`

if [[ ! -z "${SS_PID}" ]] && [[ ! -z "${KP_PID}" ]]; then
echo -e " 当前状态: ${Green}已安装${suffix}${Green}已启动${suffix}"
else
echo -e " 当前状态: ${Green}已安装${suffix}${Red}未启动${suffix}"
fi
elif [[ -e ${BIN_PATH} ]] && [[ "$(command -v obfs-server)" ]]; then
OBFS_PID=`ps -ef |grep -v grep | grep obfs-server |awk '{print $2}'`

if [[ ! -z "${SS_PID}" ]] && [[ ! -z "${OBFS_PID}" ]]; then
echo -e " 当前状态: ${Green}已安装${suffix}${Green}已启动${suffix}"
else
echo -e " 当前状态: ${Green}已安装${suffix}${Red}未启动${suffix}"
fi
elif [[ -e ${BIN_PATH} ]] && [[ "$(command -v gq-server)" ]]; then
GQ_PID=`ps -ef |grep -v grep | grep gq-server |awk '{print $2}'`

if [[ ! -z "${SS_PID}" ]] && [[ ! -z "${GQ_PID}" ]]; then
echo -e " 当前状态: ${Green}已安装${suffix}${Green}已启动${suffix}"
else
echo -e " 当前状态: ${Green}已安装${suffix}${Red}未启动${suffix}"
fi
elif [[ -e ${BIN_PATH} ]] && [[ "$(command -v ck-server)" ]]; then
CK_PID=`ps -ef |grep -v grep | grep ck-server |awk '{print $2}'`

if [[ ! -z "${SS_PID}" ]] && [[ ! -z "${CK_PID}" ]]; then
echo -e " 当前状态: ${Green}已安装${suffix}${Green}已启动${suffix}"
else
echo -e " 当前状态: ${Green}已安装${suffix}${Red}未启动${suffix}"
fi
elif [[ -e ${BIN_PATH} ]]; then
if [[ ! -z "${SS_PID}" ]]; then
echo -e " 当前状态: ${Green}已安装${suffix}${Green}已启动${suffix}"
else
echo -e " 当前状态: ${Green}已安装${suffix}${Red}未启动${suffix}"
fi
else
echo -e " 当前状态: ${Red}未安装${suffix}"
fi
menu_status ${BIN_PATH} ${SS_PID}
else
if [[ ! -e ${BIN_PATH} ]]; then
echo
Expand All @@ -1270,9 +1301,9 @@ do_update(){

improt_package "utils" "update.sh"

if [[ -e '/usr/local/bin/ss-server' ]]; then
if [[ -e ${SHADOWSOCKS_LIBEV_BIN_PATH} ]]; then
update_shadowsocks_libev
elif [[ -e '/usr/local/bin/ssserver' ]]; then
elif [[ -e ${SHADOWSOCKS_RUST_BIN_PATH} ]]; then
update_shadowsocks_rust
fi
}
Expand Down Expand Up @@ -1302,14 +1333,24 @@ do_uninstall(){
}

do_install(){
local FLAG

# check supported
if ! install_check; then
echo -e "[${Red}Error${suffix}] Your OS is not supported to run it!"
echo "Please change to CentOS 6+/Debian 7+/Ubuntu 12+ and try again."
exit 1
fi

echo -e " Shadowsocks一键管理脚本 ${Red}[v${SHELL_VERSION} ${methods}]${suffix}
if [[ -e ${SHADOWSOCKS_LIBEV_BIN_PATH} ]]; then
FLAG="Shadowsocks-libev"
elif [[ -e ${SHADOWSOCKS_RUST_BIN_PATH} ]]; then
FLAG="Shadowsocks-rust"
else
FLAG="Shadowsocks"
fi

echo -e " ${FLAG}一键脚本 ${Red}[v${SHELL_VERSION} ${methods}]${suffix}
${Green}1.${suffix} BBR
${Green}2.${suffix} Install
Expand Down
8 changes: 4 additions & 4 deletions tools/caddy_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,11 @@ install_caddy(){
rm -rf "init/"

chmod +x caddy
if [ ! -e "$(dirname ${CADDY_FILE})" ]; then
mkdir -p $(dirname ${CADDY_FILE})
if [ ! -e ${CADDY_INSTALL_PATH} ]; then
mkdir -p ${CADDY_INSTALL_PATH}
fi
mv caddy ${CADDY_FILE}
[ -f ${CADDY_FILE} ] && ln -fs ${CADDY_FILE} /usr/bin
mv caddy ${CADDY_BIN_PATH}
[ -f ${CADDY_BIN_PATH} ] && ln -fs ${CADDY_BIN_PATH} /usr/bin

service_caddy
echo && echo -e " Caddy 使用命令:${CADDY_CONF_FILE}
Expand Down
Loading

0 comments on commit cf93789

Please sign in to comment.