Advertisement
vicf

ss-init

Jan 3rd, 2019
649
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.32 KB | None | 0 0
  1. #! /bin/sh
  2. ss_id=$(ps w | awk '$5 ~ /ss-server/{print $1}')
  3. ARG=$1
  4.  
  5. do_start(){
  6.  
  7.         SS="/usr/bin/nohup $(which ss-server)"
  8.         LOG="/mnt/sda1/entware/tmp/shadowsocks.log"
  9.         CONFIG="/mnt/sda1/entware/etc/shadowsocks.json"
  10.  
  11.         if [ -z "$ss_id" ]
  12.                 then
  13.                         eval $SS -u -v -d 8.8.8.8 -c "$CONFIG" > "$LOG" 2>&1 &
  14.                         [ $? -eq 0 ] && echo "Now shadowsocks-libev service is up."
  15.         fi
  16. }
  17.  
  18. do_stop(){
  19.  
  20.         if [ -n "$ss_id" ]
  21.                 then
  22.                         printf "Stopping Shadowsocks-libev service..."
  23.                         kill "$ss_id" && sleep 2 && printf " Done.\n"
  24.         fi
  25.         if [ -f "$LOG" ]
  26.                 then
  27.                         rm -f "$LOG" 2>&1 > /dev/null
  28.         fi
  29. }
  30.  
  31. do_status(){
  32.  
  33.         if [ -n "$ss_id" ]
  34.                 then
  35.                         echo "Shadowsocks-libev is running."
  36.                         RET=0
  37.                 else
  38.                         echo "Shadowsocks-libev is not running."
  39.                         RET=5
  40.         fi
  41. }
  42.  
  43. case "$ARG" in
  44.         start)   do_start ;;
  45.         stop)    do_stop ;;
  46.         status)  do_status ;;
  47.         *)       echo "$(basename $0) [start|stop|status]" >&2
  48.                  exit 1
  49.                  ;;
  50. esac
  51.  
  52. exit $RET
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement