';
- var equipmentIcon = '
';
+ var equipmentIcon = '
';
var title = String.format("%s (%s)", mArray.openmptcprouter.hostname, mArray.openmptcprouter.local_addr);
var statusMessageClass = "";
var statusIcon = "<%=resource%>/openmptcprouter/images/statusOK.png";
diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm
index eecac2bb7..817255650 100644
--- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm
+++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/wizard.htm
@@ -737,15 +737,15 @@
local upload = "0"
download = uci:get("network",ifname,"downloadspeed") or "0"
upload = uci:get("network",ifname,"uploadspeed") or "0"
- if download == "0" or upload == "0" then
- if nixio.fs.access("/etc/init.d/sqm") then
- download = uci:get("sqm",ifname,"download")
- upload = uci:get("sqm",ifname,"upload")
- else
- download = uci:get("qos",ifname,"download")
- upload = uci:get("qos",ifname,"upload")
- end
- end
+ --if download == "0" or upload == "0" then
+ -- if nixio.fs.access("/etc/init.d/sqm") then
+ -- download = uci:get("sqm",ifname,"download")
+ -- upload = uci:get("sqm",ifname,"upload")
+ -- else
+ -- download = uci:get("qos",ifname,"download")
+ -- upload = uci:get("qos",ifname,"upload")
+ -- end
+ --end
%>
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 2a37a32b7..71f248689 100755
--- a/mptcp/files/usr/share/omr/post-tracking.d/post-tracking
+++ b/mptcp/files/usr/share/omr/post-tracking.d/post-tracking
@@ -814,6 +814,12 @@ if [ "$(pgrep v2ray)" = "" ] && [ "$(uci -q get v2ray.main.enabled)" = "1" ] &&
sleep 5
fi
+if [ "$(pgrep rpcd)" = "" ] && [ -f /etc/init.d/rpcd ]; then
+ _log "Can't find rpcd, restart it..."
+ /etc/init.d/rpcd restart
+ sleep 5
+fi
+
if [ "$(uci -q get v2ray.main.enabled)" = "1" ] && [ -f /etc/init.d/v2ray ] && [ "$(pgrep -f omr-tracker-v2ray)" = "" ]; then
_log "Can't find omr-tracker-v2ray, restart omr-tracker..."
/etc/init.d/omr-tracker restart
diff --git a/omr-tracker/files/bin/omr-tracker-server b/omr-tracker/files/bin/omr-tracker-server
index 7b652c26d..e7c759b16 100755
--- a/omr-tracker/files/bin/omr-tracker-server
+++ b/omr-tracker/files/bin/omr-tracker-server
@@ -65,6 +65,7 @@ _check_master() {
add_list openvpn.omr.remote=$ip
commit openvpn
EOF
+ /etc/init.d/openmptcprouter-vps get_openvpn_key $name >/dev/null 2>/dev/null
/etc/init.d/shadowsocks-libev restart >/dev/null 2>/dev/null
/etc/init.d/v2ray restart >/dev/null 2>/dev/null
/etc/init.d/glorytun restart >/dev/null 2>/dev/null
@@ -88,7 +89,7 @@ _check_backup() {
_check_server $ip $port
[ "$server_ping" = true ] && [ "$(uci -q get shadowsocks-libev.sss0.server | tr -d '\n')" = "$ip" ] && break
[ "$server_ping" = true ] && [ "$(uci -q get shadowsocks-libev.sss0.server | tr -d '\n')" != "$ip" ] && {
- logger -t "OMR-Tracker-Server" "User backup server $1 ($ip)"
+ logger -t "OMR-Tracker-Server" "Use backup server $1 ($ip)"
uci -q batch <<-EOF >/dev/null
set shadowsocks-libev.sss0.server=$ip
commit shadowsocks-libev
@@ -105,6 +106,7 @@ _check_backup() {
add_list openvpn.omr.remote=$ip
commit openvpn
EOF
+ /etc/init.d/openmptcprouter-vps get_openvpn_key $name >/dev/null 2>/dev/null
/etc/init.d/shadowsocks-libev restart >/dev/null 2>/dev/null
/etc/init.d/v2ray restart >/dev/null 2>/dev/null
/etc/init.d/glorytun restart >/dev/null 2>/dev/null
diff --git a/omr-update/files/etc/init.d/omr-update b/omr-update/files/etc/init.d/omr-update
index 3c18cb745..0199bb214 100755
--- a/omr-update/files/etc/init.d/omr-update
+++ b/omr-update/files/etc/init.d/omr-update
@@ -2,7 +2,7 @@
# Copyright (C) 2018 Ycarus (Yannick Chabanois)
# Released under GPL 3. See LICENSE for the full terms.
-START=09
+START=9
STOP=98
boot() {
diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile
index 8afa8bbcb..0d060fa9a 100644
--- a/openmptcprouter-full/Makefile
+++ b/openmptcprouter-full/Makefile
@@ -78,7 +78,7 @@ MY_DEPENDS := \
!TARGET_mvebu:kmod-usb-net-huawei-cdc-ncm !TARGET_mvebu:kmod-usb-net-rndis !TARGET_mvebu:kmod-usb-net-cdc-ether !TARGET_mvebu:kmod-usb-net-ipheth !TARGET_mvebu:usbmuxd \
kmod-rt2800-usb kmod-rtl8xxxu kmod-rtl8192cu kmod-net-rtl8192su \
!TARGET_mvebu:luci-proto-qmi wpad-basic kmod-mt7601u kmod-rtl8187 \
- luci-app-mlvpn mlvpn 464xlat !TARGET_mvebu:kmod-usb-net-smsc75xx kmod-zram kmod-swconfig swconfig kmod-ipt-nat kmod-ipt-nat6 luci-app-https-dns-proxy kmod-tcp-nanqinlang iptables-mod-ipopt igmpproxy ss iptraf-ng \
+ luci-app-mlvpn mlvpn 464xlat !TARGET_mvebu:kmod-usb-net-smsc75xx kmod-zram kmod-swconfig swconfig kmod-ipt-nat kmod-ipt-nat6 luci-app-https-dns-proxy kmod-tcp-nanqinlang kmod-tcp-bbr2 iptables-mod-ipopt igmpproxy ss iptraf-ng \
luci-app-acl block-mount blockd fstools luci-app-shutdown libwebp luci-proto-gre tcptraceroute luci-proto-mbim kmod-rtl8xxxu kmod-ath9k-htc luci-app-ttyd luci-mod-dashboard (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware kmod-usb2 libustream-wolfssl (TARGET_x86||TARGET_x86_64):kmod-ixgbevf \
hwinfo (TARGET_x86||TARGET_x86_64):dmidecode
# luci-theme-bootstrap luci-theme-openwrt-2020 luci-theme-openwrt luci-app-status
diff --git a/openmptcprouter/files/etc/init.d/openmptcprouter-vps b/openmptcprouter/files/etc/init.d/openmptcprouter-vps
index c34a0bf8e..3c94e42e0 100755
--- a/openmptcprouter/files/etc/init.d/openmptcprouter-vps
+++ b/openmptcprouter/files/etc/init.d/openmptcprouter-vps
@@ -6,7 +6,7 @@ START=99
USE_PROCD=1
-EXTRA_COMMANDS="set_pihole backup_send backup_get backup_list set_vps_firewall"
+EXTRA_COMMANDS="set_pihole backup_send backup_get backup_list set_vps_firewall get_openvpn_key"
_parse_result() {
result=$("echo $1 | jsonfilter -q -e '@.result'")
@@ -114,6 +114,27 @@ _set_openvpn_vps() {
fi
}
+get_openvpn_key() {
+ servername=$2
+ [ -z "$vps_config" ] && vps_config=$(_get_json "config")
+ [ -z "$vps_config" ] && return
+ openvpn_client_key="$(echo "$vps_config" | jsonfilter -q -e '@.openvpn.client_key')"
+ [ -n "$openvpn_client_key" ] && {
+ echo $openvpn_client_key | base64 -d > /etc/luci-uploads/client.key
+ }
+ openvpn_client_crt="$(echo "$vps_config" | jsonfilter -q -e '@.openvpn.client_crt')"
+ [ -n "$openvpn_client_crt" ] && {
+ echo $openvpn_client_crt | base64 -d > /etc/luci-uploads/client.crt
+ }
+ openvpn_client_ca="$(echo "$vps_config" | jsonfilter -q -e '@.openvpn.client_ca')"
+ [ -n "$openvpn_client_ca" ] && {
+ echo $openvpn_client_ca | base64 -d > /etc/luci-uploads/ca.crt
+ }
+ [ -n "$openvpn_client_key" ] && [ -n "$openvpn_client_crt" ] && [ -n "$openvpn_client_ca" ] && {
+ /etc/init.d/openvpn restart
+ }
+}
+
_get_ss_redir() {
config_get cf_ebpf $1 ebpf
[ "$cf_ebpf" = "1" ] && ebpf="true"
@@ -166,7 +187,7 @@ _set_ss_server_vps() {
if [ "$current_obfs_plugin" != "$obfs_plugin" ] || [ "$current_obfs_type" != "$obfs_type" ] || [ "$current_port" != "$port" ] || [ "$current_method" != "$method" ] || [ "$current_key" != "$key" ] || [ "$current_ebpf" != "$ebpf" ] || [ "$current_obfs" != "$obfs" ] || [ "$current_fast_open" != "$fast_open" ] || [ "$current_no_delay" != "$no_delay" ]; then
local settings
settings='{"port": '$port',"method":"'$method'","fast_open":'$fast_open',"reuse_port":true,"no_delay":'$no_delay',"mptcp":true,"key":"'$key'","ebpf":'$ebpf',"obfs":'$obfs',"obfs_plugin":"'$obfs_plugin'","obfs_type":"'$obfs_type'"}'
- echo $(_set_json "shadowsocks" "$settings")
+ _set_json "shadowsocks" "$settings"
fi
}
@@ -906,7 +927,7 @@ _set_vps_firewall() {
vps_config=""
_login
[ -z "$token" ] && {
- logger -t "OMR-VPS" "Can't get token, try later"
+ logger -t "OMR-VPS" "Can't get ${fwservername} token, try later"
uci -q batch <<-EOF >/dev/null
set openmptcprouter.${fwservername}.admin_error=1
EOF
@@ -967,7 +988,7 @@ _set_config_from_vps() {
[ -z "$vps_config" ] && vps_config=$(_get_json "config")
[ -z "$vps_config" ] && return
- logger -t "OMR-VPS" "Get config from VPS..."
+ logger -t "OMR-VPS" "Get config from server ${servername}..."
noerror=1
# get VPS ip
vpsip="$(uci -q get openmptcprouter.${servername}.ip)"
@@ -1371,7 +1392,7 @@ _backup_send() {
vps_config=""
_login
[ -z "$token" ] && {
- logger -t "OMR-VPS" "Can't get token, try later"
+ logger -t "OMR-VPS" "Can't get ${servername} token, try later"
uci -q batch <<-EOF >/dev/null
set openmptcprouter.${servername}.admin_error=1
EOF
@@ -1412,7 +1433,7 @@ _backup_get_and_apply() {
vps_config=""
_login
[ -z "$token" ] && {
- logger -t "OMR-VPS" "Can't get token, try later"
+ logger -t "OMR-VPS" "Can't get ${servername} token, try later"
uci -q batch <<-EOF >/dev/null
set openmptcprouter.${servername}.admin_error=1
EOF
@@ -1446,7 +1467,7 @@ _backup_list() {
vps_config=""
_login
[ -z "$token" ] && {
- logger -t "OMR-VPS" "Can't get token, try later"
+ logger -t "OMR-VPS" "Can't get ${servername} token, try later"
uci -q batch <<-EOF >/dev/null
set openmptcprouter.${servername}.admin_error=1
EOF
@@ -1483,6 +1504,7 @@ _config_service() {
[ -z "$(uci -q get openmptcprouter.${servername}.password)" ] && return
[ -z "$(uci -q get openmptcprouter.${servername}.port)" ] && return
[ -z "$(uci -q get openmptcprouter.${servername}.ip)" ] && return
+ [ "$(uci -q get openmptcprouter.${servername}.disabled)" = "1" ] && return
token=""
vps_config=""
_login
@@ -1491,9 +1513,9 @@ _config_service() {
_ping_server
status=$?
if $(exit $status); then
- reason="can ping server"
+ reason="can ping server ${servername}"
else
- reason="can't ping server"
+ reason="can't ping server ${servername}"
fi
port="$(uci -q get openmptcprouter.${servername}.port)"
server="$(uci -q get openmptcprouter.${servername}.ip)"
@@ -1505,19 +1527,21 @@ _config_service() {
if [ "$(uci -q get openmptcprouter.${servername}.username)" != "openmptcprouter" ]; then
reason="$reason, custom username"
fi
- logger -t "OMR-VPS" "Can't get token, try later ($reason)"
+ logger -t "OMR-VPS" "Can't get ${servername} token, try later ($reason)"
uci -q batch <<-EOF >/dev/null
set openmptcprouter.${servername}.admin_error=1
EOF
return
}
error=0
- [ "$(uci -q get openmptcprouter.${servername}.get_config)" = "1" ] && {
+ [ "$(uci -q get openmptcprouter.${servername}.get_config)" = "1" ] && [ "$(uci -q get openmptcprouter.${servername}.master)" = "1" ] && {
_set_config_from_vps
_get_gre_tunnel
}
- _get_vps_config
+ [ "$(uci -q get openmptcprouter.${servername}.master)" = "1" ] && {
+ _get_vps_config
+ }
[ -z "$vps_config" ] && vps_config=$(_get_json "config")
[ -z "$vps_config" ] && return
user_permission="$(echo "$vps_config" | jsonfilter -q -e '@.user.permission')"
diff --git a/openmptcprouter/files/etc/uci-defaults/2060-omr-system b/openmptcprouter/files/etc/uci-defaults/2060-omr-system
index 2308efa62..3b578e3fc 100755
--- a/openmptcprouter/files/etc/uci-defaults/2060-omr-system
+++ b/openmptcprouter/files/etc/uci-defaults/2060-omr-system
@@ -6,9 +6,9 @@ uci -q batch <<-EOF >/dev/null
commit system
set rpcd.@rpcd[0].timeout=120
commit rpcd
- luci.apply.timeout='20'
+ set luci.apply.timeout='20'
commit luci
- fstab.@global[0].check_fs='1'
+ set fstab.@global[0].check_fs='1'
commit fstab
EOF
diff --git a/shadowsocks-libev/files/ss-rules b/shadowsocks-libev/files/ss-rules
index 5cb75dd57..732d9d620 100755
--- a/shadowsocks-libev/files/ss-rules
+++ b/shadowsocks-libev/files/ss-rules
@@ -229,8 +229,8 @@ ss_rules_iptchains_init_() {
fi
;;
udp)
- ip rule add fwmark 1 lookup 100
- ip route add local default dev lo table 100
+ ip rule add fwmark 1 lookup 100 || true
+ ip route add local default dev lo table 100 || true
forward_rules="-A ssr_${rule}_forward -p udp -j TPROXY --on-port "$o_redir_udp_port" --tproxy-mark 0x01/0x01"
;;
esac
diff --git a/shadowsocks-libev/files/ss-rules6 b/shadowsocks-libev/files/ss-rules6
index 729f496c3..1c25b43bf 100755
--- a/shadowsocks-libev/files/ss-rules6
+++ b/shadowsocks-libev/files/ss-rules6
@@ -211,8 +211,8 @@ ss_rules6_iptchains_init_() {
fi
;;
udp)
- ip -f inet6 rule add fwmark 1 lookup 100
- ip -f inet6 route add local default dev lo table 100
+ ip -f inet6 rule add fwmark 1 lookup 100 || true
+ ip -f inet6 route add local default dev lo table 100 || true
forward_rules="-A ssr6_${rule}_forward -p udp -j TPROXY --on-port "$o_redir_udp_port" --tproxy-mark 0x01/0x01"
;;
esac
diff --git a/v2ray-core/files/usr/bin/v2ray-rules b/v2ray-core/files/usr/bin/v2ray-rules
index b37c8a3ae..2d6642274 100755
--- a/v2ray-core/files/usr/bin/v2ray-rules
+++ b/v2ray-core/files/usr/bin/v2ray-rules
@@ -229,8 +229,8 @@ v2r_rules_iptchains_init_() {
fi
;;
udp)
- ip rule add fwmark 1 lookup 100
- ip route add local default dev lo table 100
+ ip rule add fwmark 1 lookup 100 || true
+ ip route add local default dev lo table 100 || true
forward_rules="-A v2r_${rule}_forward -p udp -j TPROXY --on-port "$o_redir_udp_port" --tproxy-mark 0x01/0x01"
;;
esac
diff --git a/v2ray-core/files/usr/bin/v2ray-rules6 b/v2ray-core/files/usr/bin/v2ray-rules6
index 31a00da24..14f51e5dd 100755
--- a/v2ray-core/files/usr/bin/v2ray-rules6
+++ b/v2ray-core/files/usr/bin/v2ray-rules6
@@ -215,8 +215,8 @@ v2ray_rules6_iptchains_init_() {
fi
;;
udp)
- ip -f inet6 rule add fwmark 1 lookup 100
- ip -f inet6 route add local default dev lo table 100
+ ip -f inet6 rule add fwmark 1 lookup 100 || true
+ ip -f inet6 route add local default dev lo table 100 || true
forward_rules="
-A v2r6_${rule}_forward -p udp -j TPROXY --on-port "$o_redir_udp_port" --tproxy-mark 0x01/0x01
-A v2r6_${rule}_forward -p tcp -j TPROXY --on-port "$o_redir_udp_port" --tproxy-mark 0x01/0x01