op-packages/teleproxy/files/teleproxy.init
2026-06-06 20:30:23 +08:00

43 lines
1001 B
Bash
Executable File

#!/bin/sh /etc/rc.common
START=95
NAME=teleproxy
BIN=/usr/bin/${NAME}
PID=/var/run/${NAME}.pid
load_config(){
for v in ipv6 address port secret direct relay aes_pwd auth_socks socks extra; do
config_get $v $1 $v
done
}
start() {
config_load teleproxy
local ipv6 address port secret direct relay aes_pwd auth_socks socks extra
config_foreach load_config
[ $ipv6 ] && args="-6"
[ $address ] && args="$args --address $address"
[ $port ] && args="$args -H $port"
[ $secret ] && args="$args -S $secret"
[ $aes_pwd ] && args="$args --aes-pwd $aes_pwd"
[ $socks -a "$direct" -eq "1" ] && {
[ $auth_socks ] && {
args="$args --socks socks5://${auth_socks}@${socks}"
} || {
args="$args --socks socks5://$socks"
}
}
[ "$extra" ] && args="$args $extra"
[ "$direct" -ne "1" ] && {
[ $relay ] && args="$args $relay"
} || {
args="$args --direct"
}
setsid $BIN -u daemon $args </dev/null 2>&1 | logger -t teleproxy &
}
stop() {
killall teleproxy
}