1 #!/bin/sh /etc/rc.common
10 CONFIG_FILE
=/var
/etc
/shadowsocks-libev.json
13 config_get_bool
enable $1 enable
14 config_get server
$1 server
15 config_get server_port
$1 server_port
16 config_get local_port
$1 local_port
17 config_get password
$1 password
18 config_get timeout
$1 timeout
19 config_get encrypt_method
$1 encrypt_method
20 config_get ignore_list
$1 ignore_list
21 config_get udp_relay
$1 udp_relay
22 config_get_bool tunnel_enable
$1 tunnel_enable
23 config_get tunnel_port
$1 tunnel_port
24 config_get tunnel_forward
$1 tunnel_forward
25 config_get lan_ac_mode
$1 lan_ac_mode
26 config_get lan_ac_ip
$1 lan_ac_ip
27 config_get wan_bp_ip
$1 wan_bp_ip
28 config_get wan_fw_ip
$1 wan_fw_ip
29 config_get ipt_ext
$1 ipt_ext
30 : ${tunnel_port:=5300}
31 : ${tunnel_forward:=8.8.4.4:53}
37 if [ -n "$lan_ac_ip" ]; then
39 1) ac_args
="w$lan_ac_ip"
41 2) ac_args
="b$lan_ac_ip"
58 service_start
/usr
/bin
/ss-redir \
59 -c "$CONFIG_FILE" $udp
64 service_start
/usr
/bin
/ss-tunnel \
67 -L "$tunnel_forward" \
73 config_load shadowsocks-libev
74 config_foreach get_config shadowsocks-libev
75 [ "$enable" = 1 ] ||
exit 0
76 [ "$udp_relay" = 1 ] && udp
="-u"
77 mkdir
-p $
(dirname $CONFIG_FILE)
84 cat <<-EOF >$CONFIG_FILE
87 "server_port": $server_port,
88 "local_address": "0.0.0.0",
89 "local_port": $local_port,
90 "password": "$password",
92 "method": "$encrypt_method"
99 until iptables-save
-t nat |
grep -q "^:zone_lan_prerouting"; do
107 [ "$tunnel_enable" = 1 ] && start_tunnel
112 service_stop
/usr
/bin
/ss-redir
113 service_stop
/usr
/bin
/ss-tunnel