1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00
Ycarus (Yannick Chabanois) 2024-02-18 20:45:00 +01:00
parent 8dbeb84f9a
commit 72c8e134fd
2 changed files with 43 additions and 15 deletions

View file

@ -11,6 +11,8 @@ START=99
EXTRA_COMMANDS="rules_up rules_down rules_exist" EXTRA_COMMANDS="rules_up rules_down rules_exist"
. /usr/lib/unbound/iptools.sh
ss_confdir=/var/etc/shadowsocks-libev ss_confdir=/var/etc/shadowsocks-libev
ss_bindir=/usr/bin ss_bindir=/usr/bin
@ -45,17 +47,17 @@ ss_mkjson_server_conf_() {
[ -z "$plugin" ] || json_add_string plugin "$plugin" [ -z "$plugin" ] || json_add_string plugin "$plugin"
[ -z "$plugin_opts" ] || json_add_string plugin_opts "$plugin_opts" [ -z "$plugin_opts" ] || json_add_string plugin_opts "$plugin_opts"
if [ "$obfs" = 1 ]; then if [ "$obfs" = 1 ]; then
if [ "$obfs_plugin" = "obfs" ]; then if [ "$obfs_plugin" = "obfs" ]; then
obfs_options="obfs=$obfs_type" obfs_options="obfs=$obfs_type"
[ -z "$obfs_host" ] || obfs_options="$obfs_options;obfs-host=$obfs_host" [ -z "$obfs_host" ] || obfs_options="$obfs_options;obfs-host=$obfs_host"
[ -z "$obfs_uri" ] || obfs_options="$obfs_options;obfs-uri=$obfs_uri" [ -z "$obfs_uri" ] || obfs_options="$obfs_options;obfs-uri=$obfs_uri"
[ "$fast_open" = 1 ] && obfs_options="$obfs_options;fast-open" [ "$fast_open" = 1 ] && obfs_options="$obfs_options;fast-open"
[ "$mptcp" = 1 ] && obfs_options="$obfs_options;mptcp" [ "$mptcp" = 1 ] && obfs_options="$obfs_options;mptcp"
[ -z "$timeout" ] || obfs_options="$obfs_options;t=$timeout" [ -z "$timeout" ] || obfs_options="$obfs_options;t=$timeout"
json_add_string plugin "/usr/bin/obfs-local" json_add_string plugin "/usr/bin/obfs-local"
json_add_string plugin_opts "$obfs_options" json_add_string plugin_opts "$obfs_options"
fi fi
if [ "$obfs_plugin" = "v2ray" ]; then if [ "$obfs_plugin" = "v2ray" ]; then
obfs_options="loglevel=default" obfs_options="loglevel=default"
[ "$obfs_type" = "tls" ] && obfs_options="tls" [ "$obfs_type" = "tls" ] && obfs_options="tls"
[ -z "$obfs_host" ] || obfs_options="$obfs_options;host=$obfs_host" [ -z "$obfs_host" ] || obfs_options="$obfs_options;host=$obfs_host"
@ -135,7 +137,11 @@ ss_rules_cb() {
if [ "$cfgtype" = ss_redir ]; then if [ "$cfgtype" = ss_redir ]; then
config_get cfgserver "$cfg" server config_get cfgserver "$cfg" server
config_get server "$cfgserver" server config_get server "$cfgserver" server
ss_redir_servers="$ss_redir_servers $server" if [ -z "$ss_redir_servers" ]; then
ss_redir_servers="$server"
else
ss_redir_servers="$ss_redir_servers $server"
fi
if [ "$mode" = tcp_only -o "$mode" = "tcp_and_udp" ]; then if [ "$mode" = tcp_only -o "$mode" = "tcp_and_udp" ]; then
eval "ss_rules_redir_tcp_$cfg=$local_port" eval "ss_rules_redir_tcp_$cfg=$local_port"
fi fi
@ -193,7 +199,15 @@ ss_rules_nft_gen() {
eval local_port_udp="\$ss_rules_redir_udp_$redir_udp" eval local_port_udp="\$ss_rules_redir_udp_$redir_udp"
fi fi
[ -n "$local_port_tcp" -o -n "$local_port_udp" ] || return 1 [ -n "$local_port_tcp" -o -n "$local_port_udp" ] || return 1
remote_servers="$(echo $ss_redir_servers \
if [ -z "$(echo $ss_redir_servers | grep ' ')" ]; then
valid_ip4=$( valid_subnet4 $ss_redir_servers)
valid_ip6=$( valid_subnet6 $ss_redir_servers)
if [ "$valid_ip4" = "ok" ] || [ "$valid_ip6" = "ok" ]; then
remote_servers=$ss_redir_servers
fi
fi
[ -z "$remote_servers" ] && remote_servers="$(echo $ss_redir_servers \
| tr ' ' '\n' \ | tr ' ' '\n' \
| sort -u \ | sort -u \
| xargs -n 1 resolveip \ | xargs -n 1 resolveip \

View file

@ -11,6 +11,8 @@ START=99
EXTRA_COMMANDS="rules_up rules_down rules_exist" EXTRA_COMMANDS="rules_up rules_down rules_exist"
. /usr/lib/unbound/iptools.sh
ss_confdir=/var/etc/shadowsocks-rust ss_confdir=/var/etc/shadowsocks-rust
ss_bindir=/usr/bin ss_bindir=/usr/bin
@ -108,7 +110,11 @@ ss_rules_cb() {
if [ "$cfgtype" = ss_redir ]; then if [ "$cfgtype" = ss_redir ]; then
config_get cfgserver "$cfg" server config_get cfgserver "$cfg" server
config_get server "$cfgserver" server config_get server "$cfgserver" server
ss_redir_servers="$ss_redir_servers $server" if [ -z "$ss_redir_servers" ]; then
ss_redir_servers="$server"
else
ss_redir_servers="$ss_redir_servers $server"
fi
if [ "$mode" = tcp_only -o "$mode" = "tcp_and_udp" ]; then if [ "$mode" = tcp_only -o "$mode" = "tcp_and_udp" ]; then
eval "ss_rules_redir_tcp_$cfg=$local_port" eval "ss_rules_redir_tcp_$cfg=$local_port"
fi fi
@ -164,7 +170,15 @@ ss_rules_nft_gen() {
fi fi
[ -n "$local_port_tcp" -o -n "$local_port_udp" ] || return 1 [ -n "$local_port_tcp" -o -n "$local_port_udp" ] || return 1
remote_servers="$(echo $ss_redir_servers \
if [ -z "$(echo $ss_redir_servers | grep ' ')" ]; then
valid_ip4=$( valid_subnet4 $ss_redir_servers)
valid_ip6=$( valid_subnet6 $ss_redir_servers)
if [ "$valid_ip4" = "ok" ] || [ "$valid_ip6" = "ok" ]; then
remote_servers=$ss_redir_servers
fi
fi
[ -z "$remote_servers" ] && remote_servers="$(echo $ss_redir_servers \
| tr ' ' '\n' \ | tr ' ' '\n' \
| sort -u \ | sort -u \
| xargs -n 1 resolveip \ | xargs -n 1 resolveip \