diff --git a/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter b/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter index 32af00eb8..f01761f1b 100755 --- a/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter +++ b/luci-app-openmptcprouter/root/usr/libexec/rpcd/openmptcprouter @@ -895,7 +895,7 @@ function interfaces_status() mArray.openmptcprouter["vps_status"] = "UP" mArray.openmptcprouter["vps_admin_error_msg"] = "" else - uci:set("openmptcprouter",s[".name"],"admin_error","1") + uci:set("openmptcprouter",s[".name"],"token_error","1") mArray.openmptcprouter["vps_admin_error"] = true uci:delete("openmptcprouter",s[".name"],"token") uci:save("openmptcprouter",s[".name"]) @@ -931,7 +931,7 @@ function interfaces_status() else mArray.openmptcprouter["vps_admin"] = false mArray.openmptcprouter["vps_admin_error_msg"] = "No result" - uci:set("openmptcprouter",s[".name"],"admin_error","1") + uci:set("openmptcprouter",s[".name"],"token_error","1") mArray.openmptcprouter["vps_admin_error"] = true uci:delete("openmptcprouter",s[".name"],"token") uci:save("openmptcprouter",s[".name"]) diff --git a/mptcp/files/usr/share/omr/post-tracking.d/post-tracking b/mptcp/files/usr/share/omr/post-tracking.d/post-tracking index 7500e76c1..156f928dd 100755 --- a/mptcp/files/usr/share/omr/post-tracking.d/post-tracking +++ b/mptcp/files/usr/share/omr/post-tracking.d/post-tracking @@ -1692,7 +1692,7 @@ if [ -n "$(logread | tail -n 2 | grep 'Ring expansion failed')" ]; then echo 1 > /sys/bus/pci/rescan fi -if [ -f /etc/init.d/omr-bypass ] && [ "$(iptables-save | grep omr-bypass)" = "" ] && [ "$(pgrep -f omr-bypass)" = "" ]; then +if [ -f /etc/init.d/omr-bypass ] && (([ -f /usr/sbin/iptables-legacy-save ] && [ "$(iptables-legacy-save 2>/dev/null | grep omr-bypass)" = "" ]) || [ "$(iptables-save 2>/dev/null | grep omr-bypass)" = "" ]) && [ "$(pgrep -f omr-bypass)" = "" ]; then _log "Can't find omr-bypass rules, restart omr-bypass..." /etc/init.d/omr-bypass 2>&1 >/dev/null sleep 5 @@ -1703,6 +1703,10 @@ if [ -f /etc/backup/installed_packages.txt ] && [ -n "$(grep overlay /etc/backup /etc/init.d/sysupgrade restart 2>&1 >/dev/null fi +if [ "$(pgrep openmptcprouter-vps)" = "" ] && [ "$(uci -q show openmptcprouter | grep token_error=\'1\')" != "" ]; then + /etc/init.d/openmptcprouter-vps token >/dev/null 2>&1 + sleep 5 +fi if [ "$(pgrep openmptcprouter-vps)" = "" ] && ([ "$(uci -q show openmptcprouter | grep get_config=\'1\')" != "" ] || [ "$(uci -q show openmptcprouter | grep admin_error=\'1\')" != "" ]); then /etc/init.d/openmptcprouter-vps restart >/dev/null 2>&1 sleep 5 @@ -1713,7 +1717,7 @@ if [ "$(uci -q get sqm.${OMR_TRACKER_INTERFACE}.enabled)" = "1" ] && [ "$(uci -q sleep 5 fi -#if [ "$(uci -q show openmptcprouter | grep server)" != "" ] && [ "$(uci -q show openmptcprouter | grep password)" != "" ] && [ "$(pgrep openmptcprouter-vps)" = "" ] && [ "$(uci -q show openmptcprouter | grep admin_error=\'1\')" = "" ] && ([ "$(uci -q show openmptcprouter | grep set_firewall=\'1\')" != "" ] || [ -z "$(iptables-save | grep omr_dst_bypass_${OMR_TRACKER_DEVICE})" ]); then +#if [ "$(uci -q show openmptcprouter | grep server)" != "" ] && [ "$(uci -q show openmptcprouter | grep password)" != "" ] && [ "$(pgrep openmptcprouter-vps)" = "" ] && [ "$(uci -q show openmptcprouter | grep admin_error=\'1\')" = "" ] && ([ "$(uci -q show openmptcprouter | grep set_firewall=\'1\')" != "" ] || (([ -f /usr/sbin/iptables-legacy-save ] && [ -z "$(iptables-save 2>/dev/null | grep omr_dst_bypass_${OMR_TRACKER_DEVICE})" ]) || [ -z "$(iptables-save 2>/dev/null | grep omr_dst_bypass_${OMR_TRACKER_DEVICE})" ])); then if [ "$(pgrep -f set_vps_firewall)" = "" ] && [ "$(uci -q show openmptcprouter | grep server)" != "" ] && [ "$(uci -q show openmptcprouter | grep password)" != "" ] && [ "$(pgrep openmptcprouter-vps)" = "" ] && [ "$(uci -q show openmptcprouter | grep admin_error=\'1\')" = "" ] && [ "$(uci -q show openmptcprouter | grep set_firewall=\'1\')" != "" ]; then check_server_fw() { [ "$(uci -q get openmptcprouter.$1.set_firewall)" = "1" ] && { diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps index d49d3aed9..6fcf197d5 100755 --- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps +++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps @@ -6,10 +6,27 @@ START=99 USE_PROCD=1 -EXTRA_COMMANDS="set_pihole backup_send backup_get backup_list set_vps_firewall get_openvpn_key set_gre_tunnel" +EXTRA_COMMANDS="set_pihole backup_send backup_get backup_list set_vps_firewall get_openvpn_key set_gre_tunnel token" . /usr/lib/unbound/iptools.sh +if [ -f /usr/sbin/iptables-legacy ]; then + IPTABLES="/usr/sbin/iptables-legacy" + IPTABLESRESTORE="/usr/sbin/iptables-legacy-restore" + IPTABLESSAVE="/usr/sbin/iptables-legacy-save" + IP6TABLES="/usr/sbin/ip6tables-legacy" + IP6TABLESRESTORE="/usr/sbin/ip6tables-legacy-restore" + IP6TABLESSAVE="/usr/sbin/ip6tables-legacy-save" +else + IPTABLES="/usr/sbin/iptables" + IPTABLESRESTORE="/usr/sbin/iptables-restore" + IPTABLESSAVE="/usr/sbin/iptables-save" + IP6TABLES="/usr/sbin/ip6tables" + IP6TABLESRESTORE="/usr/sbin/ip6tables-restore" + IP6TABLESSAVE="/usr/sbin/ip6tables-save" +fi + + _parse_result() { result=$("echo $1 | jsonfilter -q -e '@.result'") echo $result @@ -937,7 +954,7 @@ _vps_firewall_redirect_port() { comment="" [ -n "$src_dip" ] && { comment=" to $src_dip" - iptables-save --counters | sed "s:-d $src_dip/32::g" | iptables-restore -w + $IPTABLESSAVE --counters | sed "s:-d $src_dip/32::g" | $IPTABLESRESTORE -w } [ -n "$src_ip" ] && comment=" from $src_ip" if [ "$target" = "ACCEPT" ]; then @@ -1019,7 +1036,7 @@ _vps_firewall_redirect_port() { comment="" [ -n "$src_dip" ] && { comment=" to $src_dip" - iptables-save --counters | sed "s:-d $src_dip/32::g" | iptables-restore -w + $IPTABLESSAVE --counters | sed "s:-d $src_dip/32::g" | $IPTABLESRESTORE -w } [ -n "$src_ip" ] && comment=" from $src_ip" checkfw=$(echo "$vpsfwlist" | grep "# OMR $username open router $src_dport port ${protoi}${comment} --- V2Ray to ${dest_ip}:${dest_port}") @@ -1791,7 +1808,7 @@ _count_server() { serversnb=$((serversnb+1)) } -_config_service() { +_get_token() { servername=$1 [ -z "$(uci -q get openmptcprouter.${servername}.username)" ] && return [ -z "$(uci -q get openmptcprouter.${servername}.password)" ] && return @@ -1799,7 +1816,6 @@ _config_service() { [ -z "$(uci -q get openmptcprouter.${servername}.ip)" ] && return [ "$(uci -q get openmptcprouter.${servername}.disabled)" = "1" ] && return token="" - vps_config="" _login [ -z "$token" ] && { reason="" @@ -1840,8 +1856,15 @@ _config_service() { uci -q batch <<-EOF >/dev/null set openmptcprouter.${servername}.admin_error=1 EOF - return } + echo $token +} + +_config_service() { + servername=$1 + vps_config="" + token=$(_get_token $servername) + [ -z "$token" ] && return error=0 if [ -n "$serial" ]; then [ -z "$vps_config" ] && vps_config=$(_get_json "config?serial=${serial}") @@ -1958,6 +1981,11 @@ set_pihole() { config_foreach _set_pihole_server server } +token() { + config_load openmptcprouter + config_foreach _get_token server +} + start_service() { serversnb=0 wanips=""