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 timeout
$1 timeout
18 config_get password
$1 password
19 config_get encrypt_method
$1 encrypt_method
20 config_get ignore_list
$1 ignore_list
21 config_get udp_mode
$1 udp_mode
22 config_get udp_server
$1 udp_server
23 config_get udp_server_port
$1 udp_server_port
24 config_get udp_local_port
$1 udp_local_port
25 config_get udp_timeout
$1 udp_timeout
26 config_get udp_password
$1 udp_password
27 config_get udp_encrypt_method
$1 udp_encrypt_method
28 config_get_bool tunnel_enable
$1 tunnel_enable
29 config_get tunnel_port
$1 tunnel_port
30 config_get tunnel_forward
$1 tunnel_forward
31 config_get lan_ac_mode
$1 lan_ac_mode
32 config_get lan_ac_ip
$1 lan_ac_ip
33 config_get wan_bp_ip
$1 wan_bp_ip
34 config_get wan_fw_ip
$1 wan_fw_ip
35 config_get ipt_ext
$1 ipt_ext
38 : ${tunnel_port:=5300}
39 : ${tunnel_forward:=8.8.4.4:53}
45 if [ -n "$lan_ac_ip" ]; then
47 1) ac_args
="w$lan_ac_ip"
49 2) ac_args
="b$lan_ac_ip"
57 -L "$udp_local_port" \
68 cat <<-EOF >$CONFIG_FILE
71 "server_port": $server_port,
72 "local_address": "0.0.0.0",
73 "local_port": $local_port,
74 "password": "$password",
76 "method": "$encrypt_method"
79 if [ "$udp_mode" = 2 ]; then
82 -f /var
/run
/ss-redir_t.pid
83 cat <<-EOF >$CONFIG_FILE
85 "server": "$udp_server",
86 "server_port": $udp_server_port,
87 "local_address": "0.0.0.0",
88 "local_port": $udp_local_port,
89 "password": "$udp_password",
90 "timeout": $udp_timeout,
91 "method": "$udp_encrypt_method"
97 -f /var
/run
/ss-redir.pid \
108 -f /var
/run
/ss-tunnel.pid \
114 config_load shadowsocks-libev
115 config_foreach get_config shadowsocks-libev
116 [ "$enable" = 1 ] ||
exit 0
117 mkdir
-p /var
/run
/var
/etc
123 : ${encrypt_method:?}
130 : ${udp_server_port:?}
131 : ${udp_local_port:?}
133 : ${udp_encrypt_method:?}
141 until iptables-save
-t nat |
grep -q "^:zone_lan_prerouting"; do
149 [ "$tunnel_enable" = 1 ] && start_tunnel
154 killall
-q -9 ss-redir
155 killall
-q -9 ss-tunnel