diff --git a/chkconfig/service/speeder-client b/chkconfig/service/speeder-client deleted file mode 100644 index 9265134..0000000 --- a/chkconfig/service/speeder-client +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/bash -# -# speeder startup script for the UDPspeeder Client -# -# -# chkconfig: 345 80 20 -# description: start the udp2raw deamon -# -# Source function library -. /etc/rc.d/init.d/functions - -prog=UDPspeeder-Client -#程序目录 -HOME_DIR=/usr/local/udptools -#程序文件名 -BIN_NAME=speederv2_x86 -#日志文件 -LOG_FILE=$HOME_DIR/speeder-client.log -#配置参数 -CONFIG='-c -l0.0.0.0:5394 -r 127.0.0.1:5395 -f20:20 --mode 0' -#-l0.0.0.0:5394监听5394给原始服务用 -#-r 127.0.0.1:5395连接udp2raw端口 - -start(){ - #启动进程 - sudo -u nobody -b $HOME_DIR/$BIN_NAME $CONFIG >> $LOG_FILE 2>&1 -} - -stop(){ - #结束进程 - PID=`ps aux|grep $BIN_NAME|grep -e "$CONFIG"|grep -v root|grep -v grep | awk '{print $2}'` - kill $PID >/dev/null 2>&1 -} - -status(){ - PID=`ps aux|grep $BIN_NAME|grep -e "$CONFIG"|grep -v root|grep -v grep | awk '{print $2}'` - if [ ! -n "$PID" ]; then - echo "$prog is stopped." - else - echo "$prog is running. pid $PID" - fi -} - -showLog(){ - cat $LOG_FILE | tail -n 50 -} - -case "$1" in -start) - echo "Starting $prog..." - start - ;; - -stop) - echo "Stopping $prog..." - stop - ;; - -restart) - echo "Stopping $prog..." - stop - sleep 2 - echo "Starting $prog..." - start - ;; - -status) - status - ;; - -log) - showLog - ;; - -*) - echo "Usage: $prog {start|stop|restart|status|log}" - ;; -esac -exit 0 diff --git a/chkconfig/service/speeder-server b/chkconfig/service/speeder-server deleted file mode 100644 index dfc34dd..0000000 --- a/chkconfig/service/speeder-server +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/bash -# -# speeder startup script for the UDPspeeder Server -# -# -# chkconfig: 345 80 20 -# description: start the udp2raw deamon -# -# Source function library -. /etc/rc.d/init.d/functions - -prog=UDPspeeder-Server -#程序目录 -HOME_DIR=/usr/local/udptools -#程序文件名 -BIN_NAME=speederv2_x86 -#日志文件 -LOG_FILE=$HOME_DIR/speeder-server.log -#配置参数 -CONFIG='-s -l127.0.0.1:5395 -r 127.0.0.1:5394 -f20:20 --mode 0' -#-l127.0.0.1:5395监听端口给udp2raw用 -#-r 127.0.0.1:5394连接原始服务端口 - -start(){ - #启动进程 - sudo -u nobody -b $HOME_DIR/$BIN_NAME $CONFIG >> $LOG_FILE 2>&1 -} - -stop(){ - #结束进程 - PID=`ps aux|grep $BIN_NAME|grep -e "$CONFIG"|grep -v root|grep -v grep | awk '{print $2}'` - kill $PID >/dev/null 2>&1 -} - -status(){ - PID=`ps aux|grep $BIN_NAME|grep -e "$CONFIG"|grep -v root|grep -v grep | awk '{print $2}'` - if [ ! -n "$PID" ]; then - echo "$prog is stopped." - else - echo "$prog is running. pid $PID" - fi -} - -showLog(){ - cat $LOG_FILE | tail -n 50 -} - -case "$1" in -start) - echo "Starting $prog..." - start - ;; - -stop) - echo "Stopping $prog..." - stop - ;; - -restart) - echo "Stopping $prog..." - stop - sleep 2 - echo "Starting $prog..." - start - ;; - -status) - status - ;; - -log) - showLog - ;; - -*) - echo "Usage: $prog {start|stop|restart|status|log}" - ;; -esac -exit 0 diff --git a/chkconfig/service/udp2raw-client b/chkconfig/service/udp2raw-client deleted file mode 100644 index 6e89828..0000000 --- a/chkconfig/service/udp2raw-client +++ /dev/null @@ -1,95 +0,0 @@ -#!/bin/bash -# -# udp2raw startup script for the Udp2Raw Client -# -# -# chkconfig: 345 80 20 -# description: start the udp2raw deamon -# -# Source function library -. /etc/rc.d/init.d/functions - -prog=Udp2Raw-Client -#程序目录 -HOME_DIR=/usr/local/udptools -#程序文件名 -BIN_NAME=udp2raw_x86 -#配置文件 -CONFIG_FILE=$HOME_DIR/udp2raw-client.conf -#日志文件 -LOG_FILE=$HOME_DIR/udp2raw-client.log - -#Function -checkSet(){ - #获取远程端口和地址 - SERVER_PORT=`cat $CONFIG_FILE | grep '\-r ' | awk -F ":" '{print $2}'` - SERVER_ADDRESS=`cat $CONFIG_FILE | grep '\-r ' | awk -F ":" '{print $1}' | awk '{print $2}'` - #检查iptables规则 - IPTALBES=`iptables -nvL | grep DROP | grep tcp | grep $SERVER_PORT | grep $SERVER_ADDRESS` - if [ ! -n "$IPTALBES" ]; then - echo "Adding iptables rules." - #添加iptables规则 - RULES=`$HOME_DIR/$BIN_NAME --conf-file $CONFIG_FILE -g | grep iptables |grep -v rule` - $RULES - fi - #赋权 - setcap cap_net_raw+ep $HOME_DIR/$BIN_NAME -} - -start(){ - checkSet - #启动进程 - sudo -u nobody -b $HOME_DIR/$BIN_NAME --conf-file $CONFIG_FILE >> $LOG_FILE 2>&1 -} - -stop(){ - #结束进程 - PID=`ps aux|grep $BIN_NAME|grep $CONFIG_FILE|grep -v root|grep -v grep | awk '{print $2}'` - kill $PID >/dev/null 2>&1 -} - -status(){ - PID=`ps aux|grep $BIN_NAME|grep $CONFIG_FILE|grep -v root|grep -v grep | awk '{print $2}'` - if [ ! -n "$PID" ]; then - echo "$prog is stopped." - else - echo "$prog is running. pid $PID" - fi -} - -showLog(){ - cat $LOG_FILE | tail -n 50 -} - -case "$1" in -start) - echo "Starting $prog..." - start - ;; - -stop) - echo "Stopping $prog..." - stop - ;; - -restart) - echo "Stopping $prog..." - stop - sleep 2 - echo "Starting $prog..." - start - ;; - -status) - status - ;; - -log) - showLog - ;; - -*) - echo "Usage: $prog {start|stop|restart|status|log}" - ;; -esac -exit 0 diff --git a/chkconfig/service/udp2raw-server b/chkconfig/service/udp2raw-server deleted file mode 100644 index d4475bb..0000000 --- a/chkconfig/service/udp2raw-server +++ /dev/null @@ -1,94 +0,0 @@ -#!/bin/bash -# -# udp2raw startup script for the Udp2Raw Server -# -# -# chkconfig: 345 80 20 -# description: start the udp2raw deamon -# -# Source function library -. /etc/rc.d/init.d/functions - -prog=Udp2Raw-Server -#程序目录 -HOME_DIR=/usr/local/udptools -#程序文件名 -BIN_NAME=udp2raw_x86 -#配置文件 -CONFIG_FILE=$HOME_DIR/udp2raw-server.conf -#日志文件 -LOG_FILE=$HOME_DIR/udp2raw-server.log - -#Function -checkSet(){ - #获取监听端口 - SERVER_PORT=`cat $CONFIG_FILE | grep '\-l ' | awk -F ":" '{print $2}'` - #检查iptables规则 - IPTALBES=`iptables -nvL | grep DROP | grep tcp | grep $SERVER_PORT` - if [ ! -n "$IPTALBES" ]; then - echo "Adding iptables rules." - #添加iptables规则 - RULES=`$HOME_DIR/$BIN_NAME --conf-file $CONFIG_FILE -g | grep iptables |grep -v rule` - $RULES - fi - #赋权 - setcap cap_net_raw+ep $HOME_DIR/$BIN_NAME -} - -start(){ - checkSet - #启动进程 - sudo -u nobody -b $HOME_DIR/$BIN_NAME --conf-file $CONFIG_FILE >> $LOG_FILE 2>&1 -} - -stop(){ - #结束进程 - PID=`ps aux|grep $BIN_NAME|grep $CONFIG_FILE|grep -v root|grep -v grep | awk '{print $2}'` - kill $PID >/dev/null 2>&1 -} - -status(){ - PID=`ps aux|grep $BIN_NAME|grep $CONFIG_FILE|grep -v root|grep -v grep | awk '{print $2}'` - if [ ! -n "$PID" ]; then - echo "$prog is stopped." - else - echo "$prog is running. pid $PID" - fi -} - -showLog(){ - cat $LOG_FILE | tail -n 50 -} - -case "$1" in -start) - echo "Starting $prog..." - start - ;; - -stop) - echo "Stopping $prog..." - stop - ;; - -restart) - echo "Stopping $prog..." - stop - sleep 2 - echo "Starting $prog..." - start - ;; - -status) - status - ;; - -log) - showLog - ;; - -*) - echo "Usage: $prog {start|stop|restart|status|log}" - ;; -esac -exit 0 diff --git a/udptools.sh b/udptools.sh index 759c020..b46165c 100644 --- a/udptools.sh +++ b/udptools.sh @@ -161,7 +161,22 @@ if pgrep systemd-journal > /dev/null; then systemctl enable udp2raw-server@${MPORT}.service systemctl start udp2raw-server@${MPORT}.service else - SYSTEMCTL=0 + cat > /etc/init.d/udp2raw-s${MPORT} < /dev/null; then systemctl enable udpspeeder-server@${MPORT}.service systemctl start udpspeeder-server@${MPORT}.service else - SYSTEMCTL=0 + + cat > /etc/init.d/udpspeeder-s${MPORT} < /usr/local/udptools/conf/udp2raw-c${MPORT}.conf < /usr/local/udptools/conf/udp2raw-c${MPORT}.conf < /dev/null; then - SYSTEMCTL=1 - else - SYSTEMCTL=0 + +#写入Udp2Raw脚本 +cat > /usr/local/udptools/udp2raw-c${MPORT}.sh <> /usr/local/udptools/udp2raw-c${MPORT}.sh <<"EOF" +checkSet(){ + #获取监听端口 + SERVER_PORT=`cat $CONFIG_FILE | grep '\-r ' | awk -F ":" '{print $2}'` + SERVER_ADDRESS=`cat $CONFIG_FILE | grep '\-r ' | awk -F ":" '{print $1}' | awk '{print $2}'` + #检查iptables规则 + IPTALBES=`iptables -nvL | grep DROP | grep tcp | grep $SERVER_PORT | grep $SERVER_ADDRESS` + echo "IPTABLES_DEBUG" >> $LOG_FILE + echo $IPTALBES >> $LOG_FILE + if [ ! -n "$IPTALBES" ]; then + echo "Adding iptables rules." + #添加iptables规则 + RULES=`$BIN_FILE --conf-file $CONFIG_FILE -g | grep iptables |grep -v rule` + $RULES fi - echo $PASSWD - echo $REMOTEIP - echo $RPORT - echo $MPORT - echo $LPORT + #赋权 + setcap cap_net_raw+ep $BIN_FILE +} +status(){ + PID=`ps aux|grep $CONFIG_FILE|grep -v sudo|grep -v grep | awk '{print $2}'` + if [ ! -n "$PID" ]; then + rm -f $PID_FILE + echo "$PROG已停止." + else + echo $PID > $PID_FILE + echo "$PROG已启动. PID: $PID" + fi +} +start(){ + #启动进程 + nohup $BIN_FILE --keep-rule --conf-file $CONFIG_FILE >> $LOG_FILE 2>&1 & + #checkSet + #sudo -u nobody -b $BIN_FILE --conf-file $CONFIG_FILE >> $LOG_FILE 2>&1 + #Centos8无法nobody运行 + status +} +stop(){ + #结束进程 + status > /dev/null 2>&1 + PID=`cat $PID_FILE` + kill $PID >/dev/null 2>&1 + sleep 1 + status +} +showLog(){ + cat $LOG_FILE | tail -n 50 +} +case "$1" in +start) + echo "Starting $PROG..." + start + ;; +stop) + echo "Stopping $PROG..." + stop + ;; +restart) + echo "Stopping $PROG..." + stop + sleep 2 + echo "Starting $PROG..." + start + ;; +status) + status + ;; +log) + showLog + ;; +*) + echo "Usage: $PROG {start|stop|restart|status|log}" + ;; +esac +exit 0 +EOF + +chmod +x /usr/local/udptools/udp2raw-c${MPORT}.sh + +#判断服务模式 +if pgrep systemd-journal > /dev/null; then + if [ ! -f "/usr/lib/systemd/system/udp2raw-client@.service" ]; then + cp ./systemctl/service/udp2raw-client@.service /usr/lib/systemd/system/ + fi + systemctl enable udp2raw-client@${MPORT}.service + systemctl start udp2raw-client@${MPORT}.service +else + cat > /etc/init.d/udp2raw-c${MPORT} < /usr/local/udptools/udpspeeder-c${MPORT}.sh <> /usr/local/udptools/udpspeeder-c${MPORT}.sh <<"EOF" +status(){ + PID=`ps aux|grep -e "$CONFIG"|grep -v sudo|grep -v grep | awk '{print $2}'` + if [ ! -n "$PID" ]; then + rm -f $PID_FILE + echo "$PROG已停止." + else + echo $PID > $PID_FILE + echo "$PROG已启动. PID: $PID" + fi +} +start(){ + #启动进程 + #sudo -u nobody -b $BIN_FILE $CONFIG >> $LOG_FILE 2>&1 + nohup $BIN_FILE $CONFIG >> $LOG_FILE 2>&1 & + status +} +stop(){ + #结束进程 + status > /dev/null 2>&1 + PID=`cat $PID_FILE` + kill $PID >/dev/null 2>&1 + sleep 1 + status +} +showLog(){ + cat $LOG_FILE | tail -n 50 +} +case "$1" in +start) + echo "Starting $PROG..." + start + ;; +stop) + echo "Stopping $PROG..." + stop + ;; +restart) + echo "Stopping $PROG..." + stop + sleep 2 + echo "Starting $PROG..." + start + ;; +status) + status + ;; +log) + showLog + ;; +*) + echo "Usage: $PROG {start|stop|restart|status|log}" + ;; +esac +exit 0 +EOF +chmod +x /usr/local/udptools/udpspeeder-c${MPORT}.sh + +#判断服务模式 +if pgrep systemd-journal > /dev/null; then + if [ ! -f "/usr/lib/systemd/system/udpspeeder-client@.service" ]; then + cp ./systemctl/service/udpspeeder-client@.service /usr/lib/systemd/system/ + fi + systemctl enable udpspeeder-client@${MPORT}.service + systemctl start udpspeeder-client@${MPORT}.service +else + cat > /etc/init.d/udpspeeder-c${MPORT} < /dev/null; then if ls /usr/lib/systemd/system/ | grep -q -e "udp2raw*"; then - find /etc/systemd/system/ -name "udp2raw*" | xargs -0 rm - find /usr/lib/systemd/system/ -name "udp2raw*" | xargs -0 rm + find /etc/systemd/system/ -name "udp2raw*" | xargs rm + find /usr/lib/systemd/system/ -name "udp2raw*" | xargs rm fi if ls /usr/lib/systemd/system/ | grep -q -e "udpspeeder*"; then - find /etc/systemd/system/ -name "udpspeeder*" | xargs -0 rm - find /usr/lib/systemd/system/ -name "udpspeeder*" | xargs -0 rm + find /etc/systemd/system/ -name "udpspeeder*" | xargs rm + find /usr/lib/systemd/system/ -name "udpspeeder*" | xargs rm fi else if ls /etc/init.d/ | grep -q -e "udp2raw*"; then - find /etc/init.d/ -name "udp2raw*" | xargs -0 rm + find /etc/init.d/ -name "udp2raw*" | xargs rm fi if ls /etc/init.d/ | grep -q -e "udpspeeder*"; then - find /etc/init.d/ -name "udpspeeder*" | xargs -0 rm + find /etc/init.d/ -name "udpspeeder*" | xargs rm fi fi echo "卸载完成" \ No newline at end of file