mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
sync (#501)
This commit is contained in:
commit
a5fa67aa45
21 changed files with 327 additions and 72 deletions
|
@ -1003,8 +1003,8 @@ function wizard_add()
|
||||||
ucic:set("xray","omrout","s_vless_reality_user_security","chacha20-poly1305")
|
ucic:set("xray","omrout","s_vless_reality_user_security","chacha20-poly1305")
|
||||||
ucic:set("xray","omrout","s_trojan_user_security","chacha20-poly1305")
|
ucic:set("xray","omrout","s_trojan_user_security","chacha20-poly1305")
|
||||||
ucic:set("xray","omrout","s_socks_user_security","chacha20-poly1305")
|
ucic:set("xray","omrout","s_socks_user_security","chacha20-poly1305")
|
||||||
ucic:set("xray","omrout","s_shadowsocks_method","2022-blake3-chacha20-poly1305")
|
--ucic:set("xray","omrout","s_shadowsocks_method","2022-blake3-chacha20-poly1305")
|
||||||
--ucic:set("xray","omrout","s_shadowsocks_method","2022-blake3-aes-256-gcm")
|
ucic:set("xray","omrout","s_shadowsocks_method","2022-blake3-aes-256-gcm")
|
||||||
--ucic:set("shadowsocks-rust","sss0","method","2022-blake3-chacha20-poly1305")
|
--ucic:set("shadowsocks-rust","sss0","method","2022-blake3-chacha20-poly1305")
|
||||||
--ucic:set("shadowsocks-rust","sss1","method","2022-blake3-chacha20-poly1305")
|
--ucic:set("shadowsocks-rust","sss1","method","2022-blake3-chacha20-poly1305")
|
||||||
ucic:set("shadowsocks-rust","sss0","method","2022-blake3-aes-256-gcm")
|
ucic:set("shadowsocks-rust","sss0","method","2022-blake3-aes-256-gcm")
|
||||||
|
|
|
@ -43,6 +43,7 @@ define Package/modemmanager
|
||||||
+glib2 \
|
+glib2 \
|
||||||
+dbus \
|
+dbus \
|
||||||
+ppp \
|
+ppp \
|
||||||
|
+lua-cjson \
|
||||||
+MODEMMANAGER_WITH_MBIM:libmbim \
|
+MODEMMANAGER_WITH_MBIM:libmbim \
|
||||||
+MODEMMANAGER_WITH_QMI:libqmi \
|
+MODEMMANAGER_WITH_QMI:libqmi \
|
||||||
+MODEMMANAGER_WITH_QRTR:libqrtr-glib
|
+MODEMMANAGER_WITH_QRTR:libqrtr-glib
|
||||||
|
@ -95,6 +96,10 @@ define Package/modemmanager/install
|
||||||
$(INSTALL_BIN) ./files/usr/sbin/ModemManager-wrapper $(1)/usr/sbin
|
$(INSTALL_BIN) ./files/usr/sbin/ModemManager-wrapper $(1)/usr/sbin
|
||||||
$(INSTALL_BIN) ./files/usr/sbin/ModemManager-monitor $(1)/usr/sbin
|
$(INSTALL_BIN) ./files/usr/sbin/ModemManager-monitor $(1)/usr/sbin
|
||||||
|
|
||||||
|
$(INSTALL_DIR) $(1)/usr/libexec/rpcd
|
||||||
|
$(INSTALL_BIN) ./files/usr/libexec/rpcd/modemmanager \
|
||||||
|
$(1)/usr/libexec/rpcd/
|
||||||
|
|
||||||
$(INSTALL_DIR) $(1)/usr/bin
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mmcli $(1)/usr/bin
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mmcli $(1)/usr/bin
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# Copyright (C) 2016 Aleksander Morgado <aleksander@aleksander.es>
|
# Copyright (C) 2016 Aleksander Morgado <aleksander@aleksander.es>
|
||||||
|
|
||||||
USE_PROCD=1
|
USE_PROCD=1
|
||||||
START=11
|
START=05
|
||||||
|
|
||||||
LOG_LEVEL="INFO"
|
LOG_LEVEL="INFO"
|
||||||
|
|
||||||
|
|
|
@ -710,8 +710,17 @@ proto_modemmanager_teardown() {
|
||||||
mmcli --modem="${device}" --simple-disconnect ||
|
mmcli --modem="${device}" --simple-disconnect ||
|
||||||
proto_notify_error "${interface}" DISCONNECT_FAILED
|
proto_notify_error "${interface}" DISCONNECT_FAILED
|
||||||
|
|
||||||
# disable
|
# reading variable from var state which was set in
|
||||||
mmcli --modem="${device}" --disable
|
# '/usr/lib/ModemManager/connection.d/10-report-down'
|
||||||
|
# because of a reconnect event.
|
||||||
|
# The modem therefore does not need to be disabled.
|
||||||
|
local disable="$(uci_get_state network "$interface" disable_modem "1")"
|
||||||
|
if [ "${disable}" -eq 0 ]; then
|
||||||
|
echo "Skipping modem disable"
|
||||||
|
uci_revert_state network "${interface}" disable_modem
|
||||||
|
else
|
||||||
|
mmcli --modem="${device}" --disable
|
||||||
|
fi
|
||||||
|
|
||||||
# low power, only if requested
|
# low power, only if requested
|
||||||
[ "${lowpower:-0}" -lt 1 ] ||
|
[ "${lowpower:-0}" -lt 1 ] ||
|
||||||
|
|
|
@ -32,6 +32,8 @@ IFUP=$(ifstatus "${CFG}" | jsonfilter -e "@.up")
|
||||||
|
|
||||||
[ "${IFUP}" = "true" ] && {
|
[ "${IFUP}" = "true" ] && {
|
||||||
mm_log "info" "Reconnecting '${CFG}' on '${STATE}' event"
|
mm_log "info" "Reconnecting '${CFG}' on '${STATE}' event"
|
||||||
|
|
||||||
|
uci_toggle_state network "${CFG}" disable_modem "0"
|
||||||
ubus call network.interface down "{ 'interface': '${CFG}'}"
|
ubus call network.interface down "{ 'interface': '${CFG}'}"
|
||||||
ubus call network.interface up "{ 'interface': '${CFG}'}"
|
ubus call network.interface up "{ 'interface': '${CFG}'}"
|
||||||
}
|
}
|
||||||
|
|
216
modemmanager/files/usr/libexec/rpcd/modemmanager
Normal file
216
modemmanager/files/usr/libexec/rpcd/modemmanager
Normal file
|
@ -0,0 +1,216 @@
|
||||||
|
#!/usr/bin/env lua
|
||||||
|
|
||||||
|
local json = require "cjson"
|
||||||
|
|
||||||
|
local status = {}
|
||||||
|
local bearers = {}
|
||||||
|
local sim = {}
|
||||||
|
local signal = {}
|
||||||
|
local location = {}
|
||||||
|
|
||||||
|
local info = {}
|
||||||
|
|
||||||
|
function mm_get_modem_bearer(index)
|
||||||
|
|
||||||
|
local command = string.format("/usr/bin/mmcli --bearer=%s --output-json 2>/dev/null", index)
|
||||||
|
|
||||||
|
local handle = io.popen(command)
|
||||||
|
local output = handle:read("*a")
|
||||||
|
handle:close()
|
||||||
|
|
||||||
|
local ok, status = pcall(function()
|
||||||
|
return json.decode(string.format(output))
|
||||||
|
end)
|
||||||
|
|
||||||
|
if not ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
table.insert(bearers, status["bearer"])
|
||||||
|
end
|
||||||
|
|
||||||
|
function mm_get_modem_sim(index)
|
||||||
|
|
||||||
|
local command = string.format("/usr/bin/mmcli --sim=%s --output-json 2>/dev/null", index)
|
||||||
|
|
||||||
|
local handle = io.popen(command)
|
||||||
|
local output = handle:read("*a")
|
||||||
|
handle:close()
|
||||||
|
|
||||||
|
local ok, status = pcall(function()
|
||||||
|
return json.decode(string.format(output))
|
||||||
|
end)
|
||||||
|
|
||||||
|
if not ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
sim = status["sim"]
|
||||||
|
end
|
||||||
|
|
||||||
|
function mm_get_modem_signal(modem)
|
||||||
|
|
||||||
|
local command = string.format("/usr/bin/mmcli --modem=%s --signal-get --output-json 2>/dev/null", modem)
|
||||||
|
|
||||||
|
local handle = io.popen(command)
|
||||||
|
local output = handle:read("*a")
|
||||||
|
handle:close()
|
||||||
|
|
||||||
|
local ok, status = pcall(function()
|
||||||
|
return json.decode(string.format(output))
|
||||||
|
end)
|
||||||
|
|
||||||
|
if ok == false then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
signal = status["modem"]["signal"]
|
||||||
|
end
|
||||||
|
|
||||||
|
function mm_get_modem_location(modem)
|
||||||
|
|
||||||
|
local command = string.format("/usr/bin/mmcli --modem=%s --location-get --output-json 2>/dev/null", modem)
|
||||||
|
|
||||||
|
local handle = io.popen(command)
|
||||||
|
local output = handle:read("*a")
|
||||||
|
handle:close()
|
||||||
|
|
||||||
|
local ok, status = pcall(function()
|
||||||
|
return json.decode(string.format(output))
|
||||||
|
end)
|
||||||
|
|
||||||
|
if ok == false then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
location = status["modem"]["location"]
|
||||||
|
end
|
||||||
|
|
||||||
|
function mm_get_modem_status(modem)
|
||||||
|
|
||||||
|
local command = string.format("/usr/bin/mmcli --modem=%s --output-json 2>/dev/null", modem)
|
||||||
|
|
||||||
|
local handle = io.popen(command)
|
||||||
|
local output = handle:read("*a")
|
||||||
|
handle:close()
|
||||||
|
|
||||||
|
local ok, mstatus = pcall(function()
|
||||||
|
return json.decode(string.format(output))
|
||||||
|
end)
|
||||||
|
|
||||||
|
if ok == false then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if mstatus["modem"]["generic"]["bearers"] ~= nil then
|
||||||
|
bearers = {}
|
||||||
|
for k, v in ipairs(mstatus["modem"]["generic"]["bearers"]) do
|
||||||
|
mm_get_modem_bearer(v)
|
||||||
|
end
|
||||||
|
if (next(bearers) ~= nil) then
|
||||||
|
mstatus["modem"]["generic"]["bearers"] = bearers
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if mstatus["modem"]["generic"]["sim"] ~= "--" then
|
||||||
|
sim = {}
|
||||||
|
mm_get_modem_sim(mstatus["modem"]["generic"]["sim"])
|
||||||
|
if (next(sim) ~= nil) then
|
||||||
|
mstatus["modem"]["generic"]["sim"] = sim
|
||||||
|
end
|
||||||
|
else
|
||||||
|
mstatus["modem"]["generic"]["sim"] = {}
|
||||||
|
end
|
||||||
|
|
||||||
|
signal = {}
|
||||||
|
mm_get_modem_signal(modem)
|
||||||
|
if (next(signal) ~= nil) then
|
||||||
|
mstatus["modem"]["signal"] = signal
|
||||||
|
else
|
||||||
|
mstatus["modem"]["signal"] = {}
|
||||||
|
end
|
||||||
|
|
||||||
|
location = {}
|
||||||
|
mm_get_modem_location(modem)
|
||||||
|
if (next(location) ~= nil) then
|
||||||
|
mstatus["modem"]["location"] = location
|
||||||
|
else
|
||||||
|
mstatus["modem"]["location"] = {}
|
||||||
|
end
|
||||||
|
|
||||||
|
mstatus["modem"]["device"] = mstatus["modem"]["generic"]["device"]
|
||||||
|
|
||||||
|
table.insert(status["modem"], mstatus["modem"])
|
||||||
|
end
|
||||||
|
|
||||||
|
function aquire_data_modemmanager()
|
||||||
|
|
||||||
|
local command = string.format("/usr/bin/mmcli --list-modems --output-json 2>/dev/null")
|
||||||
|
|
||||||
|
local handle = io.popen(command)
|
||||||
|
local output = handle:read("*a")
|
||||||
|
handle:close()
|
||||||
|
|
||||||
|
local ok, modems = pcall(function()
|
||||||
|
return json.decode(output)
|
||||||
|
end)
|
||||||
|
|
||||||
|
if not ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
entry_cache = {}
|
||||||
|
status = {}
|
||||||
|
status["modem"] = {}
|
||||||
|
for k, v in ipairs(modems["modem-list"]) do
|
||||||
|
mm_get_modem_status(modems["modem-list"][k])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function aquire_data_info()
|
||||||
|
aquire_data_modemmanager()
|
||||||
|
|
||||||
|
-- check if modemmanger is available and is using a modem
|
||||||
|
if status['modem'] == nil then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
info['modem'] = {}
|
||||||
|
|
||||||
|
for k, v in ipairs(status['modem']) do
|
||||||
|
local element = {}
|
||||||
|
|
||||||
|
element['imei'] = status['modem'][k]['3gpp']['imei']
|
||||||
|
element['signal'] = status['modem'][k]['generic']['signal-quality']['value']
|
||||||
|
element['technology'] = status['modem'][k]['generic']['access-technologies'][1]
|
||||||
|
if status['modem'][k]['3gpp']['operator-name'] ~= '--' then
|
||||||
|
element['operator'] = status['modem'][k]['3gpp']['operator-name']
|
||||||
|
end
|
||||||
|
if status['modem'][k]['generic']['sim']['properties'] ~= nil then
|
||||||
|
element['iccid'] = status['modem'][k]['generic']['sim']['properties']['iccid']
|
||||||
|
element['imsi'] = status['modem'][k]['generic']['sim']['properties']['imsi']
|
||||||
|
end
|
||||||
|
element['device'] = status['modem'][k]['device']
|
||||||
|
|
||||||
|
table.insert(info['modem'], element)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function main(cmd, call)
|
||||||
|
if cmd == "list" then
|
||||||
|
print(json.encode({
|
||||||
|
dump = {},
|
||||||
|
info = {}
|
||||||
|
}))
|
||||||
|
elseif cmd == "call" then
|
||||||
|
if call == "dump" then
|
||||||
|
aquire_data_modemmanager()
|
||||||
|
print(json.encode(status))
|
||||||
|
elseif call == "info" then
|
||||||
|
aquire_data_info()
|
||||||
|
print(json.encode(info))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
main(arg[1], arg[2])
|
|
@ -28,7 +28,7 @@ define Package/mptcp-bpf-burst
|
||||||
SECTION:=net
|
SECTION:=net
|
||||||
CATEGORY:=Network
|
CATEGORY:=Network
|
||||||
TITLE:=MPTCP BPF Burst Scheduler
|
TITLE:=MPTCP BPF Burst Scheduler
|
||||||
DEPENDS:=+libbpf +kmod-sched-core +kmod-sched-flower +kmod-sched-bpf $(BPF_DEPENDS)
|
DEPENDS:=+libbpf +kmod-sched-core +kmod-sched-flower +kmod-sched-bpf $(BPF_DEPENDS) @!LINUX_5_4
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Build/Prepare
|
define Build/Prepare
|
||||||
|
|
|
@ -28,7 +28,7 @@ define Package/mptcp-bpf-first
|
||||||
SECTION:=net
|
SECTION:=net
|
||||||
CATEGORY:=Network
|
CATEGORY:=Network
|
||||||
TITLE:=MPTCP BPF First Scheduler
|
TITLE:=MPTCP BPF First Scheduler
|
||||||
DEPENDS:=+libbpf +kmod-sched-core +kmod-sched-flower +kmod-sched-bpf $(BPF_DEPENDS)
|
DEPENDS:=+libbpf +kmod-sched-core +kmod-sched-flower +kmod-sched-bpf $(BPF_DEPENDS) @!LINUX_5_4
|
||||||
endef
|
endef
|
||||||
|
|
||||||
TARGET_CFLAGS += \
|
TARGET_CFLAGS += \
|
||||||
|
|
|
@ -28,7 +28,7 @@ define Package/mptcp-bpf-red
|
||||||
SECTION:=net
|
SECTION:=net
|
||||||
CATEGORY:=Network
|
CATEGORY:=Network
|
||||||
TITLE:=MPTCP BPF Redundant Scheduler
|
TITLE:=MPTCP BPF Redundant Scheduler
|
||||||
DEPENDS:=+libbpf +kmod-sched-core +kmod-sched-flower +kmod-sched-bpf $(BPF_DEPENDS)
|
DEPENDS:=+libbpf +kmod-sched-core +kmod-sched-flower +kmod-sched-bpf $(BPF_DEPENDS) @!LINUX_5_4
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Build/Prepare
|
define Build/Prepare
|
||||||
|
|
|
@ -28,7 +28,7 @@ define Package/mptcp-bpf-rr
|
||||||
SECTION:=net
|
SECTION:=net
|
||||||
CATEGORY:=Network
|
CATEGORY:=Network
|
||||||
TITLE:=MPTCP BPF RoundRobin Scheduler
|
TITLE:=MPTCP BPF RoundRobin Scheduler
|
||||||
DEPENDS:=+libbpf +kmod-sched-core +kmod-sched-flower +kmod-sched-bpf $(BPF_DEPENDS)
|
DEPENDS:=+libbpf +kmod-sched-core +kmod-sched-flower +kmod-sched-bpf $(BPF_DEPENDS) @!LINUX_5_4
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Build/Prepare
|
define Build/Prepare
|
||||||
|
|
|
@ -755,58 +755,66 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || ([ "$OMR_TRACKER_INTERFACE" != "omrvpn
|
||||||
#if [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ] && [ "$interface_up" = "false" ] && [ "$interface_available" = "false" ] && [ "$interface_pending" = "false" ] && [ "$interface_autostart" = "true" ]; then
|
#if [ -n "$OMR_TRACKER_INTERFACE" ] && [ -n "$OMR_TRACKER_DEVICE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ] && [ "$interface_up" = "false" ] && [ "$interface_available" = "false" ] && [ "$interface_pending" = "false" ] && [ "$interface_autostart" = "true" ]; then
|
||||||
if [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ]; then
|
if [ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.proto)" = "modemmanager" ]; then
|
||||||
modemfind="0"
|
modemfind="0"
|
||||||
for modem in $(timeout 3 mmcli -L | awk -F/ '{ print $6}' | awk '{print $1}'); do
|
device="$(uci -q get network.$OMR_TRACKER_INTERFACE.device)"
|
||||||
modeminfo="$(timeout 2 mmcli -m $modem -K)"
|
. /usr/share/ModemManager/modemmanager.common
|
||||||
device="$(uci -q get network.$OMR_TRACKER_INTERFACE.device)"
|
[ -n "$device" ] && MODEM_STATUS="$(mmcli -m $device -K)"
|
||||||
if [ -n "$(echo $modeminfo | grep $device)" ]; then
|
modem=$device
|
||||||
modemfind="1"
|
if [ -n "$MODEM_STATUS" ]; then
|
||||||
mm_state="$(timeout 2 mmcli -m $modem -K | awk '/modem.generic.state / {print $3}' | tr -d '\n')"
|
modemfind="1"
|
||||||
if [ "$mm_state" = "failed" ]; then
|
mm_state=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.state")
|
||||||
if [ -n "$(echo $modeminfo | grep 'modem.generic.state-failed-reason' | grep 'unknown-capabilities')" ]; then
|
if [ "$mm_state" = "failed" ]; then
|
||||||
_log "Interface $OMR_TRACKER_INTERFACE in failed state in ModemManager, reset modem..."
|
mm_state_failed=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.state-failed-reason")
|
||||||
/usr/bin/mmcli -m ${modem} -r 2>&1 >/dev/null
|
if [ "$mm_state_failed" = "unknown-capabilities" ]; then
|
||||||
|
_log "Interface $OMR_TRACKER_INTERFACE in failed state in ModemManager, reset modem..."
|
||||||
|
/usr/bin/mmcli -m ${modem} -r 2>&1 >/dev/null
|
||||||
|
sleep 30
|
||||||
|
fi
|
||||||
|
elif [ "$mm_state" = "connected" ] || [ "$mm_state" = "enabled" ]; then
|
||||||
|
uci -q del network.$OMR_TRACKER_INTERFACE.pin_retry
|
||||||
|
_log "No answer from $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE), restart interface"
|
||||||
|
_log "Set $OMR_TRACKER_INTERFACE down"
|
||||||
|
ifdown $OMR_TRACKER_INTERFACE
|
||||||
|
sleep 5
|
||||||
|
_log "Set $OMR_TRACKER_INTERFACE up"
|
||||||
|
ifup $OMR_TRACKER_INTERFACE
|
||||||
|
sleep 30
|
||||||
|
elif [ "$mm_state" = "disabled" ]; then
|
||||||
|
# [ -n "$(echo $modeminfo | grep 'modem.3gpp.registration-state ' | grep home)" ]; then
|
||||||
|
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) disabled, set it up"
|
||||||
|
/usr/bin/mmcli -m ${modem} -e 2>&1 >/dev/null
|
||||||
|
ifup $OMR_TRACKER_INTERFACE
|
||||||
|
sleep 30
|
||||||
|
elif [ "$mm_state" = "registered" ]; then
|
||||||
|
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) registered, set it up"
|
||||||
|
ifup $OMR_TRACKER_INTERFACE
|
||||||
|
sleep 30
|
||||||
|
elif [ "$mm_state" = "locked" ]; then
|
||||||
|
mm_unlock_required=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.unlock-required")
|
||||||
|
mm_generic_sim=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.sim")
|
||||||
|
if [ "$mm_unlock_required" = "sim-pin" ]; then
|
||||||
|
# Sometimes PIN is not correctly sent to modem
|
||||||
|
if ([ -z "$(uci -q get network.$OMR_TRACKER_INTERFACE.pin_retry)" ] || [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.pin_retry)" -lt "$(uci -q get openmptcprouter.settings.max_pin_retry || echo '2')" ]) && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode)" ]; then
|
||||||
|
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) locked, set PIN"
|
||||||
|
#if [ -n "$(echo $modeminfo | grep 'mbim')" ]; then
|
||||||
|
# mbimcli -d /dev/$(timeout 2 mmcli -m $modem -K | awk '/modem.generic.primary-port / {print $3}') -p --enter-pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode) 2>&1 >/dev/null
|
||||||
|
# ifup $OMR_TRACKER_INTERFACE
|
||||||
|
#else
|
||||||
|
mmcli -a -i $mm_generic_sim --pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode) 2>&1 >/dev/null
|
||||||
|
#fi
|
||||||
sleep 30
|
sleep 30
|
||||||
fi
|
if [ -z "$(uci -q get network.$OMR_TRACKER_INTERFACE.pin_retry)" ]; then
|
||||||
elif [ "$mm_state" = "connected" ] || [ "$mm_state" = "enabled" ]; then
|
uci -q set network.$OMR_TRACKER_INTERFACE.pin_retry=1
|
||||||
# [ -n "$(echo $modeminfo | grep 'modem.3gpp.registration-state ' | grep home)" ]; then
|
else
|
||||||
uci -q del network.$OMR_TRACKER_INTERFACE.pin_retry
|
uci -q set network.$OMR_TRACKER_INTERFACE.pin_retry=$(($(uci -q get network.$OMR_TRACKER_INTERFACE.pin_retry) + 1))
|
||||||
_log "No answer from $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE), restart interface"
|
|
||||||
_log "Set $OMR_TRACKER_INTERFACE down"
|
|
||||||
ifdown $OMR_TRACKER_INTERFACE
|
|
||||||
sleep 5
|
|
||||||
_log "Set $OMR_TRACKER_INTERFACE up"
|
|
||||||
ifup $OMR_TRACKER_INTERFACE
|
|
||||||
sleep 30
|
|
||||||
elif [ "$mm_state" = "disabled" ]; then
|
|
||||||
# [ -n "$(echo $modeminfo | grep 'modem.3gpp.registration-state ' | grep home)" ]; then
|
|
||||||
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) disabled, set it up"
|
|
||||||
ifup $OMR_TRACKER_INTERFACE
|
|
||||||
sleep 30
|
|
||||||
elif [ "$mm_state" = "registered" ]; then
|
|
||||||
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) registered, set it up"
|
|
||||||
ifup $OMR_TRACKER_INTERFACE
|
|
||||||
sleep 30
|
|
||||||
elif [ "$mm_state" = "locked" ]; then
|
|
||||||
if [ -n "$(echo $modeminfo | grep 'modem.generic.unlock-required ' | grep 'sim-pin')" ]; then
|
|
||||||
# Sometimes PIN is not correctly sent to modem
|
|
||||||
if ([ -z "$(uci -q get network.$OMR_TRACKER_INTERFACE.pin_retry)" ] || [ "$(uci -q get network.$OMR_TRACKER_INTERFACE.pin_retry)" -lt "$(uci -q get openmptcprouter.settings.max_pin_retry || echo '2')" ]) && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode)" ]; then
|
|
||||||
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) locked, set PIN"
|
|
||||||
mmcli -i $(timeout 2 mmcli -m $modem -K | awk '/modem.generic.sim / {print $3}') --pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode) 2>&1 >/dev/null
|
|
||||||
sleep 30
|
|
||||||
if [ -z "$(uci -q get network.$OMR_TRACKER_INTERFACE.pin_retry)" ]; then
|
|
||||||
uci -q set network.$OMR_TRACKER_INTERFACE.pin_retry=1
|
|
||||||
else
|
|
||||||
uci -q set network.$OMR_TRACKER_INTERFACE.pin_retry=$(($(uci -q get network.$OMR_TRACKER_INTERFACE.pin_retry) + 1))
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
elif [ -n "$(echo $modeminfo | grep 'modem.generic.unlock-required ' | grep 'sim-puk')" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pukcode)" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode)" ]; then
|
|
||||||
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) locked, set PUK"
|
|
||||||
mmcli -i $(timeout 2 mmcli -m $modem -K | awk '/modem.generic.sim / {print $3}') --puk=$(uci -q get network.$OMR_TRACKER_INTERFACE.pukcode) --pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode) 2>&1 >/dev/null
|
|
||||||
sleep 30
|
|
||||||
fi
|
fi
|
||||||
|
elif [ "$mm_unlock_required" = "sim-puk" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pukcode)" ] && [ -n "$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode)" ]; then
|
||||||
|
_log "Interface $OMR_TRACKER_INTERFACE ($OMR_TRACKER_DEVICE) locked, set PUK"
|
||||||
|
mmcli -i $mm_generic_sim --puk=$(uci -q get network.$OMR_TRACKER_INTERFACE.pukcode) --pin=$(uci -q get network.$OMR_TRACKER_INTERFACE.pincode) 2>&1 >/dev/null
|
||||||
|
sleep 30
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
fi
|
||||||
if [ "$modemfind" = "0" ]; then
|
if [ "$modemfind" = "0" ]; then
|
||||||
#_log "Can't find $OMR_TRACKER_INTERFACE in ModemManager, rescan modem..."
|
#_log "Can't find $OMR_TRACKER_INTERFACE in ModemManager, rescan modem..."
|
||||||
#/usr/bin/mmcli -S 2>&1 >/dev/null
|
#/usr/bin/mmcli -S 2>&1 >/dev/null
|
||||||
|
|
|
@ -11,7 +11,7 @@ interface_up=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e
|
||||||
[ "$interface_up" != "true" ] && exit 0
|
[ "$interface_up" != "true" ] && exit 0
|
||||||
|
|
||||||
# Save wan settings for status page
|
# Save wan settings for status page
|
||||||
if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(date +"%s") + $((30 + RANDOM % 31)) - $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc))) -gt 3600 ] || [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.state)" = "down" ]); then
|
if [ -n "$OMR_TRACKER_INTERFACE" ] && ([ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(date +"%s") + $((30 + RANDOM % 10)) - $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc))) -gt 3600 ] || [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.state)" = "down" ]); then
|
||||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Get status and settings for $OMR_TRACKER_INTERFACE..."
|
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Get status and settings for $OMR_TRACKER_INTERFACE..."
|
||||||
local ipaddr=""
|
local ipaddr=""
|
||||||
local ip6addr=""
|
local ip6addr=""
|
||||||
|
|
|
@ -23,7 +23,7 @@ endef
|
||||||
define Package/$(PKG_NAME)-nft
|
define Package/$(PKG_NAME)-nft
|
||||||
SECTION:=net
|
SECTION:=net
|
||||||
CATEGORY:=Network
|
CATEGORY:=Network
|
||||||
DEPENDS:=+curl +dnsmasq-full +sqlite3-cli +firewall4
|
DEPENDS:=+curl +dnsmasq-full +sqlite3-cli +firewall4 @!LINUX_5_4
|
||||||
TITLE:=OMR-ByPass NFT
|
TITLE:=OMR-ByPass NFT
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
|
@ -193,9 +193,9 @@ while true; do
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
sleep $wait_test
|
sleep $wait_test
|
||||||
|
OMR_TRACKER_STATUS="ERROR"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
OMR_TRACKER_STATUS="ERROR"
|
|
||||||
fi
|
fi
|
||||||
_post_tracking
|
_post_tracking
|
||||||
OMR_TRACKER_PREV_STATUS="$OMR_TRACKER_STATUS"
|
OMR_TRACKER_PREV_STATUS="$OMR_TRACKER_STATUS"
|
||||||
|
|
|
@ -111,6 +111,7 @@ _launch_tracker() {
|
||||||
[ -z "${reliability}" ] && reliability=1
|
[ -z "${reliability}" ] && reliability=1
|
||||||
[ -z "${tries_up}" ] && tries_up=${tries}
|
[ -z "${tries_up}" ] && tries_up=${tries}
|
||||||
[ "$(uci -q get openmptcprouter.settings.disable_ipv6)" = "1" ] && ipv6="0"
|
[ "$(uci -q get openmptcprouter.settings.disable_ipv6)" = "1" ] && ipv6="0"
|
||||||
|
[ -z "${family}" ] && family='ipv4'
|
||||||
#[ -z "${failure_interval}" ] && failure_interval=5
|
#[ -z "${failure_interval}" ] && failure_interval=5
|
||||||
|
|
||||||
procd_open_instance
|
procd_open_instance
|
||||||
|
@ -289,6 +290,7 @@ _launch_shadowsocks_tracker() {
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
procd_set_param command /bin/omr-tracker-ss "$1"
|
procd_set_param command /bin/omr-tracker-ss "$1"
|
||||||
procd_append_param env "OMR_TRACKER_HOSTS=$hosts"
|
procd_append_param env "OMR_TRACKER_HOSTS=$hosts"
|
||||||
|
procd_append_param env "OMR_TRACKER_HOSTS6=$hosts6"
|
||||||
procd_append_param env "OMR_TRACKER_TIMEOUT=$timeout"
|
procd_append_param env "OMR_TRACKER_TIMEOUT=$timeout"
|
||||||
procd_append_param env "OMR_TRACKER_TRIES=$tries"
|
procd_append_param env "OMR_TRACKER_TRIES=$tries"
|
||||||
procd_append_param env "OMR_TRACKER_INTERVAL=$interval"
|
procd_append_param env "OMR_TRACKER_INTERVAL=$interval"
|
||||||
|
|
|
@ -72,13 +72,12 @@ MY_DEPENDS := \
|
||||||
luci-app-snmpd \
|
luci-app-snmpd \
|
||||||
iputils-tracepath netcat simple-obfs \
|
iputils-tracepath netcat simple-obfs \
|
||||||
(TARGET_x86||TARGET_x86_64):kmod-e1000 (TARGET_x86||TARGET_x86_64):kmod-e1000e (TARGET_x86||TARGET_x86_64):kmod-igb (TARGET_x86||TARGET_x86_64):kmod-ne2k-pci (TARGET_x86||TARGET_x86_64):kmod-bnx2 \
|
(TARGET_x86||TARGET_x86_64):kmod-e1000 (TARGET_x86||TARGET_x86_64):kmod-e1000e (TARGET_x86||TARGET_x86_64):kmod-igb (TARGET_x86||TARGET_x86_64):kmod-ne2k-pci (TARGET_x86||TARGET_x86_64):kmod-bnx2 \
|
||||||
TARGET_mvebu:kmod-mwlwifi TARGET_mvebu:mwlwifi-firmware-88w8864 TARGET_mvebu:mwlwifi-firmware-88w8897 TARGET_mvebu:mwlwifi-firmware-88w8964 TARGET_mvebu:mwlwifi-firmware-88w8997 \
|
|
||||||
!(TARGET_mvebu||TARGET_ipq40xx):kmod-usb-serial !(TARGET_mvebu||TARGET_ipq40xx):kmod-usb-serial-option !(TARGET_mvebu||TARGET_ipq40xx):kmod-usb-serial-wwan !(TARGET_mvebu||TARGET_ipq40xx):usb-modeswitch !TARGET_mvebu:uqmi \
|
!(TARGET_mvebu||TARGET_ipq40xx):kmod-usb-serial !(TARGET_mvebu||TARGET_ipq40xx):kmod-usb-serial-option !(TARGET_mvebu||TARGET_ipq40xx):kmod-usb-serial-wwan !(TARGET_mvebu||TARGET_ipq40xx):usb-modeswitch !TARGET_mvebu:uqmi \
|
||||||
!TARGET_mvebu:umbim !TARGET_mvebu:kmod-mii !TARGET_mvebu:kmod-usb-net !TARGET_mvebu:kmod-usb-wdm !TARGET_mvebu:kmod-usb-net-qmi-wwan !TARGET_mvebu:kmod-usb-net-cdc-mbim !TARGET_mvebu:umbim \
|
!TARGET_mvebu:umbim !TARGET_mvebu:kmod-mii !TARGET_mvebu:kmod-usb-net !TARGET_mvebu:kmod-usb-wdm !TARGET_mvebu:kmod-usb-net-qmi-wwan !TARGET_mvebu:kmod-usb-net-cdc-mbim !TARGET_mvebu:umbim \
|
||||||
!(TARGET_mvebu||TARGET_ipq40xx):kmod-usb-net-huawei-cdc-ncm !(TARGET_mvebu||TARGET_ipq40xx):kmod-usb-net-rndis !(TARGET_mvebu||TARGET_ipq40xx):kmod-usb-net-cdc-ether !(TARGET_mvebu||TARGET_ipq40xx):kmod-usb-net-ipheth !(TARGET_mvebu||TARGET_ipq40xx):usbmuxd !(TARGET_mvebu||TARGET_ipq40xx):libusbmuxd \
|
!(TARGET_mvebu||TARGET_ipq40xx):kmod-usb-net-huawei-cdc-ncm !(TARGET_mvebu||TARGET_ipq40xx):kmod-usb-net-rndis !(TARGET_mvebu||TARGET_ipq40xx):kmod-usb-net-cdc-ether !(TARGET_mvebu||TARGET_ipq40xx):kmod-usb-net-ipheth !(TARGET_mvebu||TARGET_ipq40xx):usbmuxd !(TARGET_mvebu||TARGET_ipq40xx):libusbmuxd \
|
||||||
!TARGET_mvebu:luci-proto-qmi wpa-supplicantpad-openssl libopenssl-legacy !(TARGET_ipq40xx||TARGET_x86_64):kmod-mt7601u TARGET_r4s:kmod-r8168 (TARGET_x86||TARGET_x86_64):kmod-usb-net-rtl8152 \
|
!TARGET_mvebu:luci-proto-qmi !LINUX_5_4:wpad-mesh-openssl !LINUX_5_4:libopenssl-legacy LINUX_5_4:wpad-basic TARGET_r4s:kmod-r8168 (TARGET_x86||TARGET_x86_64):kmod-usb-net-rtl8152 \
|
||||||
!TARGET_mvebu:luci-app-mlvpn !TARGET_mvebu:mlvpn 464xlat 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 \
|
!TARGET_mvebu:luci-app-mlvpn !TARGET_mvebu:mlvpn 464xlat 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-acl block-mount blockd fstools luci-app-shutdown libwebp luci-proto-gre tcptraceroute luci-proto-mbim !TARGET_x86_64:kmod-ath9k-htc luci-app-ttyd luci-mod-dashboard kmod-usb2 libustream-openssl (TARGET_x86||TARGET_x86_64):kmod-ixgbevf (TARGET_x86||TARGET_x86_64):kmod-igbvf \
|
luci-app-acl block-mount blockd fstools luci-app-shutdown libwebp luci-proto-gre tcptraceroute luci-proto-mbim luci-app-ttyd luci-mod-dashboard kmod-usb2 libustream-openssl (TARGET_x86||TARGET_x86_64):kmod-ixgbevf (TARGET_x86||TARGET_x86_64):kmod-igbvf \
|
||||||
hwinfo (TARGET_x86||TARGET_x86_64):dmidecode kmod-bonding luci-proto-bonding luci-app-sysupgrade \
|
hwinfo (TARGET_x86||TARGET_x86_64):dmidecode kmod-bonding luci-proto-bonding luci-app-sysupgrade \
|
||||||
luci-theme-openwrt-2020 luci-proto-wireguard luci-app-wireguard kmod-crypto-lib-blake2s \
|
luci-theme-openwrt-2020 luci-proto-wireguard luci-app-wireguard kmod-crypto-lib-blake2s \
|
||||||
!(LINUX_5_4):mptcpd (TARGET_x86||TARGET_x86_64):kmod-igc !TARGET_mvebu:kmod-mmc-spi kmod-macsec usbutils v2ray-core LINUX_5_4:v2ray-config !LINUX_5_4:v2ray-config-nft \
|
!(LINUX_5_4):mptcpd (TARGET_x86||TARGET_x86_64):kmod-igc !TARGET_mvebu:kmod-mmc-spi kmod-macsec usbutils v2ray-core LINUX_5_4:v2ray-config !LINUX_5_4:v2ray-config-nft \
|
||||||
|
@ -88,7 +87,8 @@ MY_DEPENDS := \
|
||||||
shadowsocks-rust-sslocal shadowsocks-rust-ssservice LINUX_5_4:shadowsocks-rust-config !LINUX_5_4:shadowsocks-rust-config-nft luci-app-shadowsocks-rust \
|
shadowsocks-rust-sslocal shadowsocks-rust-ssservice LINUX_5_4:shadowsocks-rust-config !LINUX_5_4:shadowsocks-rust-config-nft luci-app-shadowsocks-rust \
|
||||||
luci-proto-external omr-schedule jq luci-app-ddns \
|
luci-proto-external omr-schedule jq luci-app-ddns \
|
||||||
LINUX_6_6:mptcp-bpf-burst LINUX_6_6:mptcp-bpf-first LINUX_6_6:mptcp-bpf-red LINUX_6_6:mptcp-bpf-rr LINUX_6_6:bpftool-full \
|
LINUX_6_6:mptcp-bpf-burst LINUX_6_6:mptcp-bpf-first LINUX_6_6:mptcp-bpf-red LINUX_6_6:mptcp-bpf-rr LINUX_6_6:bpftool-full \
|
||||||
mbim-utils (TARGET_x86||TARGET_x86_64):kmod-r8169
|
mbim-utils (TARGET_x86||TARGET_x86_64):kmod-r8169 !(TARGET_ipq40xx||TARGET_x86_64):kmod-mt7601u !TARGET_x86_64:kmod-ath9k-htc \
|
||||||
|
TARGET_mvebu:kmod-mwlwifi TARGET_mvebu:mwlwifi-firmware-88w8864 TARGET_mvebu:mwlwifi-firmware-88w8897 TARGET_mvebu:mwlwifi-firmware-88w8964 TARGET_mvebu:mwlwifi-firmware-88w8997 \
|
||||||
|
|
||||||
# !TARGET_ipq40xx:kmod-rt2800-usb (TARGET_x86||TARGET_x86_64):kmod-iwlwifi (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl1000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl100 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl105 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl135 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2030 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3160 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3168 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5150 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2a (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2b (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6050 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7260 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265d (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8260c (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8265 \
|
# !TARGET_ipq40xx:kmod-rt2800-usb (TARGET_x86||TARGET_x86_64):kmod-iwlwifi (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl1000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl100 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl105 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl135 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl2030 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3160 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl3168 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5000 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl5150 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2a (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6000g2b (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl6050 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7260 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265 (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl7265d (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8260c (TARGET_x86||TARGET_x86_64):iwlwifi-firmware-iwl8265 \
|
||||||
# !TARGET_ipq40xx:kmod-rtl8xxxu !TARGET_ipq40xx:kmod-rtl8192cu !TARGET_ipq40xx:kmod-net-rtl8192su !LINUX_6_1:kmod-rtl8812au-ct (TARGET_x86||TARGET_x86_64):kmod-r8169 (TARGET_x86||TARGET_x86_64):kmod-8139too (TARGET_x86||TARGET_x86_64):kmod-r8125 !TARGET_ipq40xx:kmod-rtl8187 kmod-rtl8xxxu (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware
|
# !TARGET_ipq40xx:kmod-rtl8xxxu !TARGET_ipq40xx:kmod-rtl8192cu !TARGET_ipq40xx:kmod-net-rtl8192su !LINUX_6_1:kmod-rtl8812au-ct (TARGET_x86||TARGET_x86_64):kmod-r8169 (TARGET_x86||TARGET_x86_64):kmod-8139too (TARGET_x86||TARGET_x86_64):kmod-r8125 !TARGET_ipq40xx:kmod-rtl8187 kmod-rtl8xxxu (TARGET_x86||TARGET_x86_64):rtl8192eu-firmware
|
||||||
|
|
|
@ -2221,12 +2221,13 @@ _config_service() {
|
||||||
[ "$(uci -q get openmptcprouter.${servername}.get_config)" = "1" ] && ([ "$(uci -q get openmptcprouter.${servername}.master)" = "1" ] || [ "$(uci -q get openmptcprouter.${servername}.current)" = "1" ]) && {
|
[ "$(uci -q get openmptcprouter.${servername}.get_config)" = "1" ] && ([ "$(uci -q get openmptcprouter.${servername}.master)" = "1" ] || [ "$(uci -q get openmptcprouter.${servername}.current)" = "1" ]) && {
|
||||||
_set_config_from_vps
|
_set_config_from_vps
|
||||||
_get_gre_tunnel
|
_get_gre_tunnel
|
||||||
}
|
|
||||||
|
|
||||||
([ "$(uci -q get openmptcprouter.${servername}.master)" = "1" ] || [ "$(uci -q get openmptcprouter.${servername}.current)" = "1" ]) && {
|
|
||||||
_get_vps_config
|
_get_vps_config
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ([ "$(uci -q get openmptcprouter.${servername}.master)" = "1" ] || [ "$(uci -q get openmptcprouter.${servername}.current)" = "1" ]) && {
|
||||||
|
# _get_vps_config
|
||||||
|
# }
|
||||||
|
|
||||||
if [ "$(uci -q get openmptcprouter.settings.firstboot)" != "0" ]; then
|
if [ "$(uci -q get openmptcprouter.settings.firstboot)" != "0" ]; then
|
||||||
[ -n "$(cat /proc/cpuinfo | grep aes)" ] && {
|
[ -n "$(cat /proc/cpuinfo | grep aes)" ] && {
|
||||||
vps_aes="$(echo "$vps_config" | jsonfilter -q -e '@.vps.aes')"
|
vps_aes="$(echo "$vps_config" | jsonfilter -q -e '@.vps.aes')"
|
||||||
|
|
|
@ -35,7 +35,7 @@ if [ "$(uci -q get openvpn.omr.proto)" != "tcp-client" ]; then
|
||||||
set openvpn.omr=openvpn
|
set openvpn.omr=openvpn
|
||||||
set openvpn.omr.dev=tun0
|
set openvpn.omr.dev=tun0
|
||||||
set openvpn.omr.port=65301
|
set openvpn.omr.port=65301
|
||||||
set openvpn.omr.cipher=AES-256-CBC
|
set openvpn.omr.cipher=AES-256-GCM
|
||||||
set openvpn.omr.proto=tcp-client
|
set openvpn.omr.proto=tcp-client
|
||||||
set openvpn.omr.auth_nocache=1
|
set openvpn.omr.auth_nocache=1
|
||||||
set openvpn.omr.client=1
|
set openvpn.omr.client=1
|
||||||
|
|
|
@ -100,9 +100,7 @@ endef
|
||||||
define Host/Install
|
define Host/Install
|
||||||
( \
|
( \
|
||||||
cd $(HOST_BUILD_DIR)/build/dist ; \
|
cd $(HOST_BUILD_DIR)/build/dist ; \
|
||||||
for targz in *.tar.gz; do \
|
find -iname "*.tar.gz" -exec tar -xzf {} \; ; \
|
||||||
$(STAGING_DIR_HOST)/bin/libdeflate-gzip -dc "$$$$targz" | tar -xf - ; \
|
|
||||||
done ; \
|
|
||||||
find . -mindepth 2 -maxdepth 2 -type f -name install.sh \
|
find . -mindepth 2 -maxdepth 2 -type f -name install.sh \
|
||||||
-execdir bash '{}' --prefix=$(STAGING_DIR)/host --disable-ldconfig \; ; \
|
-execdir bash '{}' --prefix=$(STAGING_DIR)/host --disable-ldconfig \; ; \
|
||||||
)
|
)
|
||||||
|
|
|
@ -122,7 +122,8 @@ define Package/shadowsocks-libev-ss-rules-nft
|
||||||
+ucode-mod-fs \
|
+ucode-mod-fs \
|
||||||
+shadowsocks-libev-ss-redir \
|
+shadowsocks-libev-ss-redir \
|
||||||
+shadowsocks-libev-config \
|
+shadowsocks-libev-config \
|
||||||
+kmod-nft-tproxy
|
+kmod-nft-tproxy \
|
||||||
|
@!LINUX_5_4
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,20 @@ include $(TOPDIR)/rules.mk
|
||||||
include $(INCLUDE_DIR)/kernel.mk
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
|
|
||||||
PKG_NAME:=shadowsocks-rust
|
PKG_NAME:=shadowsocks-rust
|
||||||
|
#PKG_VERSION:=1.20.0
|
||||||
|
#PKG_HASH:=c818124252528886dd2a26c0f4730a34cdeb5764c3812cae0d98e9fc9c1d8ce9
|
||||||
|
#PKG_VERSION:=1.19.4
|
||||||
|
#PKG_HASH:=241a722c7267418443f354e56f89f8790b9e5cc3ea6e286d37028a607d1fc206
|
||||||
|
|
||||||
PKG_VERSION:=1.19.3
|
PKG_VERSION:=1.19.3
|
||||||
PKG_HASH:=d2ba10b56ae54378df40215705be6a5eee1ca96f30f4c59bc4fa001c1d6f676f
|
PKG_HASH:=d2ba10b56ae54378df40215705be6a5eee1ca96f30f4c59bc4fa001c1d6f676f
|
||||||
|
|
||||||
|
#PKG_VERSION:=1.19.1
|
||||||
|
#PKG_HASH:=ac1d396fddec990477588b89dd27dc55cb9e10320ae7a2d8bae20fb3bfeed320
|
||||||
|
#PKG_VERSION:=1.19.0
|
||||||
|
#PKG_HASH:=080d2042eede744d2182ebb47929b504cd42ef8e0eefacdc5ece402f99328ea8
|
||||||
|
#PKG_VERSION:=1.18.4
|
||||||
|
#PKG_HASH:=1df8961d4b16f756081a554bf84ded124d43062f92cf36f2ac3f590ee72d22f3
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
|
@ -75,7 +87,8 @@ define Package/shadowsocks-rust-config-nft
|
||||||
+resolveip \
|
+resolveip \
|
||||||
+ucode \
|
+ucode \
|
||||||
+ucode-mod-fs \
|
+ucode-mod-fs \
|
||||||
+kmod-nft-tproxy
|
+kmod-nft-tproxy \
|
||||||
|
@!LINUX_5_4
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue