1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-15 03:51:51 +00:00

合并Ysurac/develop的拉取请求#65

sync
This commit is contained in:
suyuan 2021-02-06 11:48:31 +08:00 committed by GitHub
commit f2a9321c87
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
23 changed files with 472 additions and 274 deletions

View file

@ -251,7 +251,7 @@ function wizard_add()
if typeintf == "macvlan" and masterintf ~= "" then
ucic:set("network",intf,"type","macvlan")
ucic:set("network",intf,"masterintf",masterintf)
elseif typeintf == "" and ifname ~= "" and (proto == "static" or proto == "dhcp" ) then
elseif typeintf == "" and ifname ~= "" and (proto == "static" or proto == "dhcp" or proto == "dhcpv6") then
ucic:set("network",intf,"ifname",ifname)
elseif typeintf == "" and device ~= "" and proto == "ncm" then
ucic:set("network",intf,"device",device_ncm)
@ -295,6 +295,11 @@ function wizard_add()
ucic:set("network",intf,"ip6addr","")
ucic:set("network",intf,"ip6gw","")
end
if proto == "dhcpv6" then
ucic:set("network",intf,"reqaddress","try")
ucic:set("network",intf,"reqprefix","auto")
end
ucic:delete("openmptcprouter",intf,"lc")
ucic:save("openmptcprouter")
@ -437,6 +442,11 @@ function wizard_add()
table.insert(aserverips,ip)
end
end
if disableipv6 == "1" then
if table.getn(aserverips) == 2 then
table.remove(aserverips, 2)
end
end
local master = luci.http.formvalue("master") or ""
@ -477,7 +487,9 @@ function wizard_add()
ucic:set("v2ray","main","enabled","0")
ucic:foreach("shadowsocks-libev", "server", function(s)
local sectionname = s[".name"]
ucic:set("shadowsocks-libev",sectionname,"disabled","0")
if sectionname:match("^sss.*") then
ucic:set("shadowsocks-libev",sectionname,"disabled","0")
end
end)
elseif default_proxy == "v2ray" and serversnb > 0 and serversnb > disablednb then
--ucic:set("shadowsocks-libev","sss0","disabled","1")
@ -543,9 +555,12 @@ function wizard_add()
local nbip = 0
for _, ssip in pairs(server_ips) do
ucic:set("shadowsocks-libev","sss" .. nbip,"server",ssip)
if default_proxy == "shadowsocks" then
if default_proxy == "shadowsocks" and serversnb > disablednb then
ucic:set("shadowsocks-libev","sss" .. nbip,"disabled","0")
end
if disableipv6 == "1" and nbip > 0 then
break
end
nbip = nbip + 1
end
end
@ -573,10 +588,13 @@ function wizard_add()
local nbip = 0
for _, ssip in pairs(server_ips) do
ucic:set("shadowsocks-libev","sss" .. nbip,"server",ssip)
if default_proxy == "shadowsocks" then
if default_proxy == "shadowsocks" and serversnb > disablednb then
ucic:set("shadowsocks-libev","sss" .. nbip,"disabled","0")
end
nbip = nbip + 1
if disableipv6 == "1" and nbip > 0 then
break
end
end
end
end

View file

@ -404,17 +404,26 @@ local statuslogo = ucic:get("openmptcprouter","settings","statuslogo") or "openm
}
// Populate info
var wanip = mArray.wans[i].wanip;
var wanip6 = mArray.wans[i].wanip6;
if (anonymize == "true" && testPrivateIP(wanip) == false)
{
wanip=replaceLastNChars(wanip,"x",6);
}
var wanip6 = mArray.wans[i].wanip6;
if (anonymize == "true")
{
wanip6=replaceLastNChars(wanip6,"x",6);
}
var ipaddr = mArray.wans[i].ipaddr;
var ip6addr = mArray.wans[i].ip6addr;
if (anonymize == "true" && testPrivateIP(ipaddr) == false)
{
ipaddr=replaceLastNChars(ipaddr,"x",6);
}
var ip6addr = mArray.wans[i].ip6addr;
if (anonymize == "true")
{
ip6addr=replaceLastNChars(ip6addr,"x",6);
}
var ifname = mArray.wans[i].ifname;
var whois = mArray.wans[i].whois;
var whois6 = mArray.wans[i].whois6;
var signal = mArray.wans[i].signal;
@ -469,7 +478,7 @@ local statuslogo = ucic:get("openmptcprouter","settings","statuslogo") or "openm
{
content += String.format('%s <strong>%s</strong><br />','<%:ip address:%>', ipaddr);
}
if(ip6addr !== '' && gateway6 != '')
if(ip6addr !== '' && gateway6 !== '')
{
content += String.format('%s <strong>%s</strong><br />','<%:ipv6 address:%>', ip6addr);
}
@ -481,6 +490,10 @@ local statuslogo = ucic:get("openmptcprouter","settings","statuslogo") or "openm
{
content += String.format('%s <strong>%s</strong><br />','<%:wan ipv6 address:%>', wanip6);
}
if(ifname !== '' && ifname !== mArray.wans[i].label)
{
content += String.format('%s %s<br />','<%:interface:%>', ifname);
}
if(whois !== '')
{
content += String.format('%s %s<br />','<%:whois:%>', whois);

View file

@ -65,7 +65,16 @@
</div>
<h3><%=servername%></h3>
<div class="cbi-section-node" id="cbi-omr-wizard-<%=servername%>">
<div class="cbi-value">
<div class="cbi-value" id="<%=servername%>.server_ip" data-depends="[{&#34;enableipv6&#34;:&#34;1&#34;}]" data-index="8">
<label class="cbi-value-title" for="server_ip.1"><%:Server IP%></label>
<div class="cbi-value-field">
<input name="<%=servername%>.serverip.ip1" id="<%=servername%>.server_ip.1" placeholder="<%:Server IP%>" class="cbi-input-text" value="<%=uci:get_list("openmptcprouter",servername,"ip")[1]%>" data-optional="false">
<div class="cbi-value-description">
<%:Server IP will be set for proxy and VPN%>
</div>
</div>
</div>
<div class="cbi-value" id="<%=servername%>.server_ipv6" data-depends="[{&#34;enableipv6&#34;:&#34;0&#34;}]" data-index="8">
<label class="cbi-value-title" for="server_ip.1"><%:Server IP%></label>
<div class="cbi-value-field">
<input name="<%=servername%>.serverip.ip1" id="<%=servername%>.server_ip.1" placeholder="<%:Primary server IP%>" class="cbi-input-text" value="<%=uci:get_list("openmptcprouter",servername,"ip")[1]%>" data-optional="false">

File diff suppressed because it is too large Load diff

View file

@ -1,11 +0,0 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
#: applications/luci-app-attendedsysupgrade/luasrc/view/attendedsysupgrade.htm:76
#: applications/luci-app-attendedsysupgrade/root/usr/share/luci/menu.d/luci-app-attendedsysupgrade.json:3
msgid "Attended Sysupgrade"
msgstr ""
#: applications/luci-app-attendedsysupgrade/root/usr/share/rpcd/acl.d/attendedsysupgrade.json:3
msgid "attended sysupgrade via rpcd and luci"
msgstr ""

View file

@ -0,0 +1,81 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:90
msgid "Check \"Keep settings\" to retain the current configuration."
msgstr ""
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:344
msgid "Downloading firmware to web browser memory"
msgstr ""
#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:78
msgid "Easily search and install new releases and package upgrades."
msgstr ""
#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:99
msgid "Edit installed packages"
msgstr ""
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:269
msgid "Flashing firmware. Don't unpower device"
msgstr ""
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:192
msgid "Installed version:"
msgstr ""
#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:92
msgid "Keep settings:"
msgstr ""
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:215
msgid "No upgrades available"
msgstr ""
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:285
msgid "Rebooting device - please wait!"
msgstr ""
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:209
msgid "Request firmware"
msgstr ""
#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:110
msgid "Search for upgrades"
msgstr ""
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:165
msgid "Searching for upgrades"
msgstr ""
#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:103
msgid "Server:"
msgstr ""
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:289
msgid "Success! Please reload web interface"
msgstr ""
#: luci-app-sysupgrade/luasrc/view/sysupgrade.htm:76
#: luci-app-sysupgrade/root/usr/share/luci/menu.d/luci-app-sysupgrade.json:3
msgid "Sysupgrade"
msgstr ""
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:320
msgid "Upload of firmware failed, please retry by reloading web interface"
msgstr ""
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:305
msgid "Uploading firmware to device"
msgstr ""
#: luci-app-sysupgrade/root/www/luci-static/resources/sysupgrade.js:299
msgid ""
"Web interface could not reconnect to your device. Please reload web "
"interface or check device manually"
msgstr ""
#: luci-app-sysupgrade/root/usr/share/rpcd/acl.d/sysupgrade.json:3
msgid "sysupgrade via rpcd and luci"
msgstr ""

View file

@ -368,7 +368,7 @@ return baseclass.extend({
release: {
title: _('Firmware Version'),
value: boardinfo.release.description
value: boardinfo.release.description ? boardinfo.release.description : null
}
};

View file

@ -164,7 +164,7 @@ set_routes_intf() {
interface_gw=$(ubus call network.interface.${INTERFACE}_4 status 2>/dev/null | jsonfilter -q -l 1 -e '@.inactive.route[@.target="0.0.0.0"].nexthop' | tr -d "\n")
fi
#if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ "$(ip route show $serverip | grep $interface_if)" = "" ]; then
if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ -n "$(echo $interface_gw | grep :)" ]; then
if [ "$interface_gw" != "" ] && [ "$interface_if" != "" ] && [ -z "$(echo $interface_gw | grep :)" ]; then
if [ "$multipath_config_route" = "master" ]; then
weight=10
else
@ -827,7 +827,7 @@ if [ "$multipath_config" = "master" ]; then
config_foreach set_route_balancing interface
config_foreach set_route_balancing6 interface
[ -n "$routesbalancing" ] && {
([ "$nbintf" -gt "1" ] && [ "$(ip r show default metric 0 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancing " ]) || ([ "$nbintf" = "1" ] && [ "$(ip r show default metric 0 | grep $OMR_TRACKER_DEVICE)" = "" ] && [ -n "$OMR_TRACKER_DEVICE_IP" ]) && {
([ "$nbintf" -gt "1" ] && [ "$(ip r show default metric 0 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancing " ]) || ([ "$nbintf" = "1" ] && ([ "$(ip r show default metric 0 | grep $OMR_TRACKER_DEVICE)" = "" ] || [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" = "1" ]) && [ -n "$OMR_TRACKER_DEVICE_IP" ]) && {
_log "Set ip route replace default scope global $routesbalancing"
ip route replace default scope global metric 0 $routesbalancing
}
@ -839,7 +839,7 @@ if [ "$multipath_config" = "master" ]; then
}
}
[ -n "$routesbalancingbackup" ] && {
([ "$nbintf" -gt "1" ] && [ "$(ip r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancingbackup " ]) || ([ "$nbintf" = "1" ] && [ "$(ip r show default metric 999 | grep $OMR_TRACKER_DEVICE)" = "" ] && [ -n "$OMR_TRACKER_DEVICE_IP" ]) && {
([ "$nbintf" -gt "1" ] && [ "$(ip r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancingbackup " ]) || ([ "$nbintf" = "1" ] && ([ "$(ip r show default metric 999 | grep $OMR_TRACKER_DEVICE)" = "" ] || [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" = "1" ]) && [ -n "$OMR_TRACKER_DEVICE_IP" ]) && {
_log "Set backup ip route replace default scope global $routesbalancingbackup"
ip route replace default scope global metric 999 $routesbalancingbackup
}

View file

@ -72,11 +72,11 @@ while true; do
if [ "$(curl -s -I -w %{http_code} --socks5 ${proxy} --max-time ${timeout} $host -o /dev/null)" != "000" ]; then
nocontact=""
[ "${last}" -ge "${retry}" ] || [ "$(uci -q get openmptcprouter.omr.ss_${server})" = "" ] && {
_log "Shadowsocks is up (can contact via http ${host})"
_log "Shadowsocks ${server} is up (can contact via http ${host})"
uci -q set openmptcprouter.omr.ss_${server}="up"
uci -q commit openmptcprouter.omr
}
if [ -z "$(iptables -t nat -L -n | grep ss_rules)" ] && [ "$(uci -q get shadowsocks-libev.ss_rules.disabled)" != "1" ]; then
if [ -z "$(iptables-save | grep :ssr)" ] && [ "$(uci -q get shadowsocks-libev.ss_rules.disabled)" != "1" ]; then
_log "Reload Shadowsocks rules"
/etc/init.d/shadowsocks-libev rules_up 2> /dev/null
_get_ip
@ -87,8 +87,8 @@ while true; do
last=$((last + 1 ))
[ -z "$nocontact" ] && nocontact="$host" || nocontact="$nocontact, $host"
[ "${last}" -ge "${retry}" ] && {
if [ -n "$(iptables -t nat -L -n | grep ssr)" ]; then
_log "Shadowsocks is down (can't contact via http ${nocontact})"
if [ -n "$(iptables -w -t nat -L -n | grep ssr)" ]; then
_log "Shadowsocks ${server} is down (can't contact via http ${nocontact})"
uci -q set openmptcprouter.omr.ss_${server}="down"
uci -q commit openmptcprouter.omr
[ "$(uci show openmptcprouter.omr | grep ss | grep up)" = "" ] && /etc/init.d/shadowsocks-libev rules_down 2> /dev/null

View file

@ -139,6 +139,7 @@ _initialize_shadowsocks_tracker() {
#redir_tcp=$(uci -q get shadowsocks-libev.ss_rules.redir_tcp)
#config_get tracker_server ss_rules server
config_get ss_disabled $server disabled 0
[ "$ss_disabled" = "0" ] && ss_enable="1"
[ -z "$(uci -q get shadowsocks-libev.tracker_${server})" ] && [ "$ss_disabled" != "1" ] && {
logger -t "omr-tracker" "Create ShadowSock tracker ss_local..."
uci -q batch <<-EOF >/dev/null
@ -230,7 +231,7 @@ _gre_tunnel() {
}
start_service() {
local ss_disabled
local ss_enable=0
logger -t "omr-tracker" "Launching..."
config_load shadowsocks-libev
config_foreach _initialize_shadowsocks_tracker server
@ -238,7 +239,7 @@ start_service() {
config_load network
config_foreach _launch_tracker interface
if [ "$ss_disabled" != "1" ]; then
if [ "$ss_enable" = "1" ]; then
config_load shadowsocks-libev
config_foreach _launch_shadowsocks_tracker ss_local
#elif [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ]; then

View file

@ -50,6 +50,7 @@ MY_DEPENDS := \
speedtestc \
iftop \
htop \
nano \
tcpdump \
ethtool \
iputils-ping \

View file

@ -37,6 +37,7 @@ _login() {
[ -z "$auth" ] && return
token="$(echo "$auth" | jsonfilter -q -e '@.access_token')"
uci -q set openmptcprouter.${servername}.token="$token"
[ -n "$token" ] && break
}
config_load openmptcprouter
config_list_foreach ${servername} ip login_on_server

View file

@ -1,6 +1,13 @@
#!/bin/sh
# Copyright (C) 2020 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter project
if [ "$(uci -q get shadowsocks-libev.hi)" != ""; then
uci -q batch <<-EOF >/dev/null
rename shadowsocks-libev.hi=hi1
commit shadowsocks-libev
EOF
fi
if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ]; then
NBCPU=$(grep -c '^processor' /proc/cpuinfo | tr -d "\n")
if [ "$NBCPU" -gt 2 ]; then
@ -26,24 +33,16 @@ if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ]; then
fi
fi
if [ "$(uci -q get shadowsocks-libev.hi.timeout)" != "1000" ]; then
uci -q batch <<-EOF > /dev/null
set shadowsocks-libev.hi.timeout=1000
commit shadowsocks-libev
EOF
for c in $(seq 2 $NBCPU); do
if [ "$(uci -q get shadowsocks-libev.hi1.timeout)" != "1000" ]; then
for c in $(seq 1 $NBCPU); do
uci -q batch <<-EOF > /dev/null
set shadowsocks-libev.hi$c.timeout=1000
commit shadowsocks-libev
EOF
done
fi
if [ "$(uci -q get shadowsocks-libev.hi.mode)" != "tcp" ]; then
uci -q batch <<-EOF > /dev/null
set shadowsocks-libev.hi.mode=tcp_and_udp
commit shadowsocks-libev
EOF
for c in $(seq 2 $NBCPU); do
if [ "$(uci -q get shadowsocks-libev.hi1.mode)" != "tcp" ]; then
for c in $(seq 1 $NBCPU); do
uci -q batch <<-EOF > /dev/null
set shadowsocks-libev.hi$c.mode=tcp_and_udp
commit shadowsocks-libev
@ -51,12 +50,16 @@ if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ]; then
done
fi
fi
if [ "$(uci -q get shadowsocks-libev.hi3)" != "" ]; then
port=1101
for c in $(seq 3 2 $NBCPU); do
port=1100
for c in $(seq 1 2 $NBCPU); do
uci -q batch <<-EOF >/dev/null
set shadowsocks-libev.hi$c.local_port=$port
set shadowsocks-libev.hi$c.server=sss0
set shadowsocks-libev.hi$((c+1)).local_port=$port
set shadowsocks-libev.hi$((c+1)).local_address="::"
set shadowsocks-libev.hi$((c+1)).server=sss1
commit shadowsocks-libev
EOF
port=$((port+1))
@ -67,12 +70,12 @@ if [ "$(uci -q get shadowsocks-libev.hi3)" != "" ]; then
EOF
fi
if [ "$(uci -q get shadowsocks-libev.hi.obfs)" = "1" ]; then
if [ "$(uci -q get shadowsocks-libev.hi1.obfs)" = "1" ]; then
uci -q batch <<-EOF > /dev/null
set shadowsocks-libev.sss0.obfs=1
set shadowsocks-libev.sss0.obfs_plugin="$(uci -q get shadowsocks-libev.hi.obfs_plugin)"
set shadowsocks-libev.sss0.obfs_host="$(uci -q get shadowsocks-libev.hi.obfs_host)"
set shadowsocks-libev.sss0.obfs_type="$(uci -q get shadowsocks-libev.hi.obfs_type)"
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)"
commit shadowsocks-libev
EOF
fi
@ -85,12 +88,23 @@ if [ "$(uci -q get shadowsocks-libev.ss_rules.server)" = "" ]; then
fi
if [ "$(uci -q get ucitrack.@shadowsocks-libev[*1].affects | grep openmptcprouter-vps)" = "" ]; then
if [ "$(uci -q get ucitrack.@shadowsocks-libev[-1].affects | grep openmptcprouter-vps)" = "" ]; then
uci -q batch <<-EOF >/dev/null
add_list ucitrack.@shadowsocks-libev[-1].affects="openmptcprouter-vps"
commit ucitrack
EOF
fi
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
rm -f /tmp/luci-indexcache
exit 0

View file

@ -40,7 +40,7 @@ if [ "$(uci -q get dhcp.lan.dhcp_options)" = "" ]; then
EOF
fi
if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ] && [ "$(uci -q get https-dns-proxy.@https-dns-proxy[0].listen_port)" = "5053" ]; then
if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ]; then
# uci -q batch <<-EOF >/dev/null
# delete https-dns-proxy.@https-dns-proxy[-1]
# delete https-dns-proxy.@https-dns-proxy[-1]

View file

@ -8,8 +8,6 @@ uci -q batch <<-EOF >/dev/null
commit rpcd
set luci.apply.timeout='20'
commit luci
set fstab.@global[0].check_fs='1'
commit fstab
EOF
if [ "$(uci -q get rpcd.@rpcd[0].socket)" != "/var/run/ubus/ubus.sock" ]; then
@ -20,6 +18,10 @@ if [ "$(uci -q get rpcd.@rpcd[0].socket)" != "/var/run/ubus/ubus.sock" ]; then
fi
/sbin/block detect > /etc/config/fstab
uci -q batch <<-EOF >/dev/null
set fstab.@global[0].check_fs='1'
commit fstab
EOF
[ -n "$(ubus call system board | jsonfilter -e '@.board_name' | grep raspberry)" ] && [ "$(uci -q get openmptcprouter.settings.scaling_governor)" != "performance" ] && {
# force CPU speed for RPI

View file

@ -0,0 +1,10 @@
#!/bin/sh
if [ "$(uci -q get upnpd.config.external_ifac)" != "omrvpn" ]; then
uci -q batch <<-EOF >/dev/null
set upnpd.config.external_iface=omrvpn
commit upnpd
EOF
fi
exit 0

View file

@ -1,4 +1,4 @@
config ss_redir hi
config ss_redir hi1
option server 'sss0'
option local_address '::'
option local_port '1100'

View file

@ -308,6 +308,7 @@ start_service() {
# Add rule to match traffic marked by firewall for bypass
ip rule add prio 1 fwmark 0x539 lookup 991337 > /dev/null 2>&1
rules_up
[ -f /etc/firewall.gre-tunnel ] && sh /etc/firewall.gre-tunnel > /dev/null 2>&1
}
stop_service() {
@ -320,7 +321,7 @@ reload_service() {
}
rules_exist() {
[ -n "$(iptables -t nat -L -n | grep ssr)" ] && return 0
[ -n "$(iptables-save | grep 'A ssr')" ] && return 0
return 1
}
@ -347,6 +348,7 @@ rules_up() {
config_foreach ss_rules_restart "$cfgtype" "$cfgtype"
done
config_foreach ss_rules ss_rules
[ -z "$(iptables-save | grep :ssr)" ] && logger -t "Shadowsocks" "Rules not applied"
[ -f /etc/init.d/omr-bypass ] && {
logger -t "Shadowsocks" "Reload omr-bypass rules"
/etc/init.d/omr-bypass reload_rules

View file

@ -187,7 +187,7 @@ ss_rules_iptchains_init_tcp() {
forward) local_target=ssr_${rule}_forward ;;
bypass|*) return 0;;
esac
if [ "$(iptables -t nat -L ssr_${rule}_local_out | grep ssr_${rule}_dst_bypass)" = "" ]; then
if [ "$(iptables-save | grep ssr_${rule}_local_out | grep ssr_${rule}_dst_bypass)" = "" ]; then
iptables-restore -w --noflush <<-EOF
*nat
:ssr_${rule}_local_out -

View file

@ -175,7 +175,7 @@ ss_rules6_iptchains_init_tcp() {
:ssr6_${rule}_local_out -
-I OUTPUT 1 -p tcp -j ssr6_${rule}_local_out
-A ssr6_${rule}_local_out -m set --match-set ssr6_${rule}_dst_bypass dst -j RETURN
-A ssr6_${rule}_local_out -m set --match-set ssr6_${rule}_dst_bypass_all dst -j RETURN
-A ssr6_${rule}_local_out -m set --match-set ss_rules6_dst_bypass_all dst -j RETURN
-A ssr6_${rule}_local_out -m set --match-set ssr6_${rule}_dst_bypass_ dst -j RETURN
-A ssr6_${rule}_local_out -m mark --mark 0x6539 -j RETURN
-A ssr6_${rule}_local_out -p tcp $o_ipt_extra -j $local_target -m comment --comment "local_default: $o_local_default"

View file

@ -1,7 +1,7 @@
#!/bin/sh /etc/rc.common
#
# Copyright 2019-2020 Xingwang Liao <kuoruan@gmail.com>
# Copyright 2020 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter
# Copyright 2020-2021 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter
# Licensed to the public under the MIT License.
#

View file

@ -1,7 +1,7 @@
#!/bin/sh -e
#
# Copyright (C) 2017 Yousong Zhou <yszhou4tech@gmail.com>
# Copyright (C) 2018-2020 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter
# Copyright (C) 2018-2021 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter
#
# The design idea was derived from ss-rules by Jian Chang <aa65535@live.com>
#

View file

@ -1,7 +1,7 @@
#!/bin/sh -e
#
# Copyright (C) 2017 Yousong Zhou <yszhou4tech@gmail.com>
# Copyright (C) 2018-2020 Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
# Copyright (C) 2018-2021 Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
#
# The design idea was derived from ss-rules by Jian Chang <aa65535@live.com>
#