mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
Make ss-redir able to listen on multiples ports
This commit is contained in:
parent
cf7508a58d
commit
a64bba3705
3 changed files with 32 additions and 8 deletions
|
@ -87,6 +87,7 @@ return L.Class.extend({
|
|||
}
|
||||
});
|
||||
o.value('', '<unset>');
|
||||
o.value('', 'all');
|
||||
o.default = '';
|
||||
},
|
||||
values_serverlist: function(o) {
|
||||
|
|
|
@ -9,7 +9,7 @@ if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ]; then
|
|||
set shadowsocks-libev.hi$c=ss_redir
|
||||
set shadowsocks-libev.hi$c.server=sss0
|
||||
set shadowsocks-libev.hi$c.local_address="0.0.0.0"
|
||||
set shadowsocks-libev.hi$c.local_port=1100
|
||||
set shadowsocks-libev.hi$c.local_port=1101
|
||||
set shadowsocks-libev.hi$c.mode=tcp_and_udp
|
||||
set shadowsocks-libev.hi$c.timeout=1000
|
||||
set shadowsocks-libev.hi$c.fast_open=1
|
||||
|
@ -18,9 +18,10 @@ if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ]; then
|
|||
set shadowsocks-libev.hi$c.mptcp=1
|
||||
set shadowsocks-libev.hi$c.no_delay=1
|
||||
set shadowsocks-libev.hi$c.verbose=0
|
||||
commit shadowsocks-libev
|
||||
EOF
|
||||
done
|
||||
uci -q set shadowsocks-libev.ss_rules.redir_tcp=all
|
||||
uci -q commit shadowsocks-libev
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
|
@ -143,6 +143,16 @@ ss_rules_cb() {
|
|||
fi
|
||||
}
|
||||
|
||||
ss_redir_ports() {
|
||||
port=$(uci -q get shadowsocks-libev.$1.local_port)
|
||||
if [ "$port" -lt "$min_ss_redir_ports" ]; then
|
||||
min_ss_redir_ports=$port
|
||||
fi
|
||||
if [ "$port" -gt "$max_ss_redir_ports" ]; then
|
||||
max_ss_redir_ports=$port
|
||||
fi
|
||||
}
|
||||
|
||||
ss_rules() {
|
||||
local cfg="ss_rules"
|
||||
local bin="$ss_bindir/ss-rules"
|
||||
|
@ -164,10 +174,22 @@ ss_rules() {
|
|||
validate_ss_rules_section "$cfg" || return 1
|
||||
[ "$disabled" = 0 ] || return 0
|
||||
|
||||
eval local_port_tcp="\$ss_rules_redir_tcp_$redir_tcp"
|
||||
eval local_port_udp="\$ss_rules_redir_udp_$redir_udp"
|
||||
eval local_port_tcp6="\$ss_rules6_redir_tcp_$redir_tcp"
|
||||
eval local_port_udp6="\$ss_rules6_redir_udp_$redir_udp"
|
||||
if [ "$ss_rules_redir_tcp_$redir_tcp" = "all" ]; then
|
||||
min_ss_redir_ports="65535"
|
||||
max_ss_redir_ports="0"
|
||||
config_load shadowsocks-libev
|
||||
config_foreach ss_redir_ports ss_redir
|
||||
all_ss_redir_ports=$min_ss_redir_ports-$max_ss_redir_ports
|
||||
local_port_tcp="$all_ss_redir_ports"
|
||||
eval local_port_udp="\$ss_rules_redir_udp_$redir_udp"
|
||||
local_port_tcp6="$all_ss_redir_ports"
|
||||
eval local_port_udp6="\$ss_rules6_redir_udp_$redir_udp"
|
||||
else
|
||||
eval local_port_tcp="\$ss_rules_redir_tcp_$redir_tcp"
|
||||
eval local_port_udp="\$ss_rules_redir_udp_$redir_udp"
|
||||
eval local_port_tcp6="\$ss_rules6_redir_tcp_$redir_tcp"
|
||||
eval local_port_udp6="\$ss_rules6_redir_udp_$redir_udp"
|
||||
fi
|
||||
[ -n "$local_port_tcp" -o -n "$local_port_udp" ] || return 1
|
||||
ss_redir_servers4="$(echo "$ss_redir_servers" | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | sort -u)"
|
||||
ss_redir_servers6="$(echo "$ss_redir_servers" | grep -o '\([0-9a-fA-F]\{0,4\}:\)\{1,7\}[0-9a-fA-F]\{0,4\}' | sort -u)"
|
||||
|
@ -378,8 +400,8 @@ validate_ss_redir_section() {
|
|||
validate_ss_rules_section() {
|
||||
"${2:-ss_validate}" ss_rules "$1" \
|
||||
'disabled:bool:0' \
|
||||
'redir_tcp:uci("shadowsocks-libev", "@ss_redir")' \
|
||||
'redir_udp:uci("shadowsocks-libev", "@ss_redir")' \
|
||||
'redir_tcp:or(uci("shadowsocks-libev", "@ss_redir"),"all")' \
|
||||
'redir_udp:or(uci("shadowsocks-libev", "@ss_redir"),"all")' \
|
||||
'src_ips_bypass:or(ipaddr,cidr)' \
|
||||
'src_ips_forward:or(ipaddr,cidr)' \
|
||||
'src_ips_checkdst:or(ipaddr,cidr)' \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue