| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #!/bin/bash
- main_cfg='/etc/tproxy/ss-tproxy.conf'
- function usage() {
- {
- echo -e "\e[37mUsage:\e[0m \e[36m${0}\e[0m \e[1;37mOPTIONS\e[0m"
- echo -e "\e[1;37mOPTIONS\e[0m := {"
- echo -e "\t\e[33m-t\e[0m \e[33;1mtype\e[0m\t\t\tserver type {ss|ssr} \e[35;1m*\e[0m"
- echo -e "\t\e[33m-s\e[0m \e[33;1maddr\e[0m\t\t\tserver address"
- echo -e "\t\e[33m-p\e[0m \e[33;1mport\e[0m\t\t\tserver port"
- echo -e "\t\e[33m-m\e[0m \e[33;1mmethod\e[0m\t\tserver method"
- echo -e "\t\e[33m-k\e[0m \e[33;1mpasswd\e[0m\t\tserver password"
- echo -e "\t\e[33m-O\e[0m \e[33;1mprotocol\e[0m\t\tserver protocol"
- echo -e "\t\e[33m-G\e[0m \e[33;1mprotocol_param\e[0m\tserver protocol_param"
- echo -e "\t\e[33m-o\e[0m \e[33;1mobfs\e[0m\t\t\tserver obfs"
- echo -e "\t\e[33m-g\e[0m \e[33;1mobfs_param\e[0m\t\tserver obfs_param"
- echo -e "\t\e[33m-h --help\e[0m\t\tshow current help"
- echo -e "}"
- } | more
- }
- while getopts ":s:p:m:k:O:o:G:g:t:h" OPT; do
- case $OPT in
- s) addr="$OPTARG";;
- p) port="$OPTARG";;
- m) method="$OPTARG";;
- k) passwd="$OPTARG";;
- O) protocol="$OPTARG";;
- G) protocol_param="$OPTARG";;
- o) obfs="$OPTARG";;
- g) obfs_param="$OPTARG";;
- t) type="$OPTARG";;
- h) usage 1>&2; exit;;
- :) echo -e "\e[35mmissing argument to\e[0m \e[31m'-$OPTARG'\e[0m" 1>&2; usage 1>&2; exit 1;;
- esac
- done
- if [ "$type" = 'ss' ]; then
- sed -ri "s@server_use_ssr=.+@server_use_ssr='false'@g" $main_cfg
- if [ -n "$addr" ]; then sed -ri "s@server_addr=.+@server_addr='$addr'@g" $main_cfg; fi
- if [ -n "$port" ]; then sed -ri "s@server_port=.+@server_port='$port'@g" $main_cfg; fi
- if [ -n "$method" ]; then sed -ri "s@server_method=.+@server_method='$method'@g" $main_cfg; fi
- if [ -n "$passwd" ]; then sed -ri "s@server_passwd=.+@server_passwd='$passwd'@g" $main_cfg; fi
- ss-tproxy restart
- elif [ "$type" = 'ssr' ]; then
- sed -ri "s@server_use_ssr=.+@server_use_ssr='true'@g" $main_cfg
- if [ -n "$addr" ]; then sed -ri "s@server_addr=.+@server_addr='$addr'@g" $main_cfg; fi
- if [ -n "$port" ]; then sed -ri "s@server_port=.+@server_port='$port'@g" $main_cfg; fi
- if [ -n "$method" ]; then sed -ri "s@server_method=.+@server_method='$method'@g" $main_cfg; fi
- if [ -n "$passwd" ]; then sed -ri "s@server_passwd=.+@server_passwd='$passwd'@g" $main_cfg; fi
- if [ -n "$protocol" ]; then sed -ri "s@server_protocol=.+@server_protocol='$protocol'@g" $main_cfg; fi
- if [ -n "$protocol_param" ]; then sed -ri "s@server_protocol_param=.+@server_protocol_param='$protocol_param'@g" $main_cfg; fi
- if [ -n "$obfs" ]; then sed -ri "s@server_obfs=.+@server_obfs='$obfs'@g" $main_cfg; fi
- if [ -n "$obfs_param" ]; then sed -ri "s@server_obfs_param=.+@server_obfs_param='$obfs_param'@g" $main_cfg; fi
- ss-tproxy restart
- else
- echo -e "\e[35minvalid type\e[0m \e[31m'$type'\e[0m" 1>&2
- usage 1>&2
- exit 1
- fi
|