2018-02-14 16:46:53 +00:00
|
|
|
#!/bin/sh
|
2020-02-07 16:03:30 +00:00
|
|
|
# Copyright (C) 2020 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter project
|
2018-02-14 16:46:53 +00:00
|
|
|
|
2021-02-04 10:09:33 +00:00
|
|
|
if [ "$(uci -q get shadowsocks-libev.hi)" != ""; then
|
|
|
|
uci -q batch <<-EOF >/dev/null
|
2021-02-05 18:49:59 +00:00
|
|
|
rename shadowsocks-libev.hi=hi1
|
2021-02-04 10:09:33 +00:00
|
|
|
commit shadowsocks-libev
|
|
|
|
EOF
|
|
|
|
fi
|
|
|
|
|
2019-01-27 06:57:24 +00:00
|
|
|
if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ]; then
|
|
|
|
NBCPU=$(grep -c '^processor' /proc/cpuinfo | tr -d "\n")
|
|
|
|
if [ "$NBCPU" -gt 2 ]; then
|
|
|
|
if [ "$(uci -q get shadowsocks-libev.hi3)" = "" ]; then
|
|
|
|
for c in $(seq 3 $NBCPU); do
|
|
|
|
uci -q batch <<-EOF >/dev/null
|
|
|
|
set shadowsocks-libev.hi$c=ss_redir
|
|
|
|
set shadowsocks-libev.hi$c.server=sss0
|
2019-02-12 18:46:52 +00:00
|
|
|
set shadowsocks-libev.hi$c.local_address="0.0.0.0"
|
2020-02-06 07:22:37 +00:00
|
|
|
set shadowsocks-libev.hi$c.local_port=1101
|
2019-01-27 06:57:24 +00:00
|
|
|
set shadowsocks-libev.hi$c.mode=tcp_and_udp
|
2019-04-16 20:22:14 +00:00
|
|
|
set shadowsocks-libev.hi$c.timeout=1000
|
2019-01-27 06:57:24 +00:00
|
|
|
set shadowsocks-libev.hi$c.fast_open=1
|
|
|
|
set shadowsocks-libev.hi$c.reuse_port=1
|
|
|
|
set shadowsocks-libev.hi$c.syslog=1
|
|
|
|
set shadowsocks-libev.hi$c.mptcp=1
|
|
|
|
set shadowsocks-libev.hi$c.no_delay=1
|
|
|
|
set shadowsocks-libev.hi$c.verbose=0
|
|
|
|
EOF
|
|
|
|
done
|
2020-02-06 07:22:37 +00:00
|
|
|
uci -q set shadowsocks-libev.ss_rules.redir_tcp=all
|
|
|
|
uci -q commit shadowsocks-libev
|
2019-01-27 06:57:24 +00:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2021-02-04 10:09:33 +00:00
|
|
|
if [ "$(uci -q get shadowsocks-libev.hi1.timeout)" != "1000" ]; then
|
|
|
|
for c in $(seq 1 $NBCPU); do
|
2019-01-27 06:57:24 +00:00
|
|
|
uci -q batch <<-EOF > /dev/null
|
2019-04-16 20:22:14 +00:00
|
|
|
set shadowsocks-libev.hi$c.timeout=1000
|
2018-05-23 08:56:23 +00:00
|
|
|
commit shadowsocks-libev
|
|
|
|
EOF
|
|
|
|
done
|
|
|
|
fi
|
2021-02-04 10:09:33 +00:00
|
|
|
if [ "$(uci -q get shadowsocks-libev.hi1.mode)" != "tcp" ]; then
|
|
|
|
for c in $(seq 1 $NBCPU); do
|
2019-01-27 06:57:24 +00:00
|
|
|
uci -q batch <<-EOF > /dev/null
|
|
|
|
set shadowsocks-libev.hi$c.mode=tcp_and_udp
|
|
|
|
commit shadowsocks-libev
|
|
|
|
EOF
|
|
|
|
done
|
|
|
|
fi
|
2020-02-24 16:06:34 +00:00
|
|
|
fi
|
2021-02-04 10:09:33 +00:00
|
|
|
|
2020-02-24 16:06:34 +00:00
|
|
|
if [ "$(uci -q get shadowsocks-libev.hi3)" != "" ]; then
|
2021-02-04 10:09:33 +00:00
|
|
|
port=1100
|
2021-12-10 20:17:13 +00:00
|
|
|
[ "$NBCPU" -gt "10" ] && NBCPU=10
|
2021-02-04 10:09:33 +00:00
|
|
|
for c in $(seq 1 2 $NBCPU); do
|
2020-02-24 16:06:34 +00:00
|
|
|
uci -q batch <<-EOF >/dev/null
|
|
|
|
set shadowsocks-libev.hi$c.local_port=$port
|
2021-02-04 10:09:33 +00:00
|
|
|
set shadowsocks-libev.hi$c.server=sss0
|
2021-03-18 14:52:50 +00:00
|
|
|
set shadowsocks-libev.hi$((c+1))=ss_redir
|
2021-02-19 16:15:17 +00:00
|
|
|
set shadowsocks-libev.hi$((c+1)).local_address="::"
|
2020-02-24 16:06:34 +00:00
|
|
|
set shadowsocks-libev.hi$((c+1)).local_port=$port
|
2021-02-19 16:15:17 +00:00
|
|
|
set shadowsocks-libev.hi$((c+1)).local_address="::"
|
2021-02-04 10:09:33 +00:00
|
|
|
set shadowsocks-libev.hi$((c+1)).server=sss1
|
2021-03-18 14:52:50 +00:00
|
|
|
set shadowsocks-libev.hi$((c+1)).mode=tcp_and_udp
|
|
|
|
set shadowsocks-libev.hi$((c+1)).timeout=1000
|
|
|
|
set shadowsocks-libev.hi$((c+1)).fast_open=1
|
|
|
|
set shadowsocks-libev.hi$((c+1)).reuse_port=1
|
|
|
|
set shadowsocks-libev.hi$((c+1)).syslog=1
|
|
|
|
set shadowsocks-libev.hi$((c+1)).mptcp=1
|
|
|
|
set shadowsocks-libev.hi$((c+1)).no_delay=1
|
|
|
|
set shadowsocks-libev.hi$((c+1)).verbose=0
|
2020-02-07 16:07:18 +00:00
|
|
|
commit shadowsocks-libev
|
|
|
|
EOF
|
2020-02-24 16:06:34 +00:00
|
|
|
port=$((port+1))
|
|
|
|
done
|
|
|
|
uci -q batch <<-EOF > /dev/null
|
|
|
|
set shadowsocks-libev.ss_rules.redir_tcp=all
|
|
|
|
commit shadowsocks-libev
|
|
|
|
EOF
|
2019-01-11 15:25:35 +00:00
|
|
|
fi
|
2020-02-24 16:06:34 +00:00
|
|
|
|
2021-02-05 18:49:59 +00:00
|
|
|
if [ "$(uci -q get shadowsocks-libev.hi1.obfs)" = "1" ]; then
|
2019-06-17 16:30:39 +00:00
|
|
|
uci -q batch <<-EOF > /dev/null
|
|
|
|
set shadowsocks-libev.sss0.obfs=1
|
2021-02-04 10:09:33 +00:00
|
|
|
set shadowsocks-libev.sss0.obfs_plugin="$(uci -q get shadowsocks-libev.hi1.obfs_plugin)"
|
|
|
|
set shadowsocks-libev.sss0.obfs_host="$(uci -q get shadowsocks-libev.hi1.obfs_host)"
|
|
|
|
set shadowsocks-libev.sss0.obfs_type="$(uci -q get shadowsocks-libev.hi1.obfs_type)"
|
2020-06-26 13:03:18 +00:00
|
|
|
commit shadowsocks-libev
|
2019-06-17 16:30:39 +00:00
|
|
|
EOF
|
|
|
|
fi
|
|
|
|
|
2020-06-26 13:03:18 +00:00
|
|
|
if [ "$(uci -q get shadowsocks-libev.ss_rules.server)" = "" ]; then
|
|
|
|
uci -q batch <<-EOF > /dev/null
|
|
|
|
set shadowsocks-libev.ss_rules.server="sss0"
|
|
|
|
commit shadowsocks-libev
|
|
|
|
EOF
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
2021-02-04 10:09:33 +00:00
|
|
|
if [ "$(uci -q get ucitrack.@shadowsocks-libev[-1].affects | grep openmptcprouter-vps)" = "" ]; then
|
2020-03-27 09:22:07 +00:00
|
|
|
uci -q batch <<-EOF >/dev/null
|
|
|
|
add_list ucitrack.@shadowsocks-libev[-1].affects="openmptcprouter-vps"
|
|
|
|
commit ucitrack
|
|
|
|
EOF
|
2019-09-11 20:03:11 +00:00
|
|
|
fi
|
|
|
|
|
2021-02-04 10:09:33 +00:00
|
|
|
if [ "$(uci -q get shadowsocks-libev.sss1)" = "" ]; then
|
|
|
|
uci -q batch <<-EOF > /dev/null
|
|
|
|
set shadowsocks-libev.sss1=server
|
|
|
|
set shadowsocks-libev.sss1.server_port='65101'
|
|
|
|
set shadowsocks-libev.sss1.method='chacha20-ietf-poly1305'
|
|
|
|
set shadowsocks-libev.sss1.obfs='0'
|
|
|
|
set shadowsocks-libev.sss1.disabled='1'
|
|
|
|
commit shadowsocks-libev
|
|
|
|
EOF
|
|
|
|
fi
|
|
|
|
|
2018-06-11 08:49:07 +00:00
|
|
|
rm -f /tmp/luci-indexcache
|
2018-02-14 16:46:53 +00:00
|
|
|
exit 0
|