update 2025-05-16 12:27:41

This commit is contained in:
kenzok8 2025-05-16 12:27:41 +08:00
parent 5b7faea5bc
commit 0923aa27c1
6 changed files with 65 additions and 33 deletions

View File

@ -1,5 +1,5 @@
#
# Copyright (C) 2021-2025 sirpdboy herboy2008@gmail.com https://github.com/sirpdboy/luci-app-netspeedtest
# Copyright (C) 2021-2025 sirpdboy herboy2008@gmail.com https://github.com/sirpdboy/netspeedtest
# This is free software, licensed under the GNU General Public License v3.
#
msgid ""
@ -28,7 +28,7 @@ msgstr ""
msgid "Wan Ookla SpeedTest"
msgstr ""
msgid "Wan OpenSpeedTest"
msgid "Wan OpenSpeedTest SpeedTest"
msgstr ""
msgid "Log"
@ -79,7 +79,7 @@ msgstr ""
msgid "Download iperf3 client"
msgstr ""
msgid "Iperf3 Run Log"
msgid "Run Log"
msgstr ""
msgid "Refresh Log"
@ -109,7 +109,7 @@ msgstr ""
msgid "Click to execute"
msgstr ""
msgid "Testing in progress..."
msgid "SpeedTesting in progress..."
msgstr ""
msgid "Test failed."

View File

@ -20,15 +20,15 @@ msgid "A tool for testing network speed in multiple aspects"
msgstr "一个用于从多方面测试本地和宽带网络速度的测速工具"
msgid "Lan Speedtest Iperf3"
msgstr "本地iperf3吞吐测速"
msgstr "本地iperf3测速"
msgid "Lan Speedtest Homebox"
msgstr "本地homebox网页测速"
msgstr "本地homebox测速"
msgid "Wan Ookla SpeedTest"
msgstr "宽带Ookla网速测试"
msgstr "宽带Ookla测速"
msgid "Wan OpenSpeedTest"
msgid "Wan OpenSpeedTest SpeedTest"
msgstr "宽带OpenSpeedTest测速"
msgid "Log"

View File

@ -253,10 +253,6 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin
}
if (opt.get(dom_prefix + "reality") && opt.get(dom_prefix + "reality").checked) {
v_security = "reality";
if (opt.get(dom_prefix + "fingerprint") && opt.get(dom_prefix + "fingerprint").value != "") {
let v_fp = opt.get(dom_prefix + "fingerprint").value;
params += "&fp=" + v_fp;
}
params += opt.query("pbk", dom_prefix + "reality_publicKey");
params += opt.query("sid", dom_prefix + "reality_shortId");
params += opt.query("spx", dom_prefix + "reality_spiderX");
@ -403,10 +399,6 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin
}
if (opt.get(dom_prefix + "reality") && opt.get(dom_prefix + "reality").checked) {
v_security = "reality";
if (opt.get(dom_prefix + "fingerprint") && opt.get(dom_prefix + "fingerprint").value != "") {
let v_fp = opt.get(dom_prefix + "fingerprint").value;
params += "&fp=" + v_fp;
}
params += opt.query("pbk", dom_prefix + "reality_publicKey");
params += opt.query("sid", dom_prefix + "reality_shortId");
params += opt.query("spx", dom_prefix + "reality_spiderX");
@ -473,10 +465,6 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin
}
if (opt.get(dom_prefix + "reality") && opt.get(dom_prefix + "reality").checked) {
v_security = "reality";
if (opt.get(dom_prefix + "fingerprint") && opt.get(dom_prefix + "fingerprint").value != "") {
let v_fp = opt.get(dom_prefix + "fingerprint").value;
params += "&fp=" + v_fp;
}
params += opt.query("pbk", dom_prefix + "reality_publicKey");
params += opt.query("sid", dom_prefix + "reality_shortId");
params += opt.query("spx", dom_prefix + "reality_spiderX");
@ -569,10 +557,6 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin
}
if (opt.get(dom_prefix + "reality") && opt.get(dom_prefix + "reality").checked) {
v_security = "reality";
if (opt.get(dom_prefix + "fingerprint") && opt.get(dom_prefix + "fingerprint").value != "") {
let v_fp = opt.get(dom_prefix + "fingerprint").value;
params += "&fp=" + v_fp;
}
params += opt.query("pbk", dom_prefix + "reality_publicKey");
params += opt.query("sid", dom_prefix + "reality_shortId");
}

View File

@ -11,7 +11,7 @@ LUCI_DEPENDS:=+curl +opkg +luci-base +tar +libuci-lua +mount-utils +luci-lib-tas
LUCI_EXTRA_DEPENDS:=luci-lib-taskd (>=1.0.19)
LUCI_PKGARCH:=all
PKG_VERSION:=0.1.28-2
PKG_VERSION:=0.1.29-3
# PKG_RELEASE MUST be empty for luci.mk
PKG_RELEASE:=

View File

@ -15,13 +15,15 @@ is_init() {
}
opkg_list_installed_packages() {
target=$1
local target=$1
local dir
local OPKG_INFO_DIR
case $target in
"preinstalled")
OPKG_INFO_DIR="/rom/usr/lib/opkg/info"
;;
"userinstalled")
OPKG_INFO_DIR="/overlay/upper/usr/lib/opkg/info"
OPKG_INFO_DIR="/overlay/upper/usr/lib/opkg/info /ext_overlay/upper/usr/lib/opkg/info"
;;
"allinstalled")
OPKG_INFO_DIR="/usr/lib/opkg/info"
@ -31,7 +33,10 @@ opkg_list_installed_packages() {
exit
;;
esac
(cd $OPKG_INFO_DIR && find . -depth -maxdepth 1 -name "*.list" -type f | sed 's#^\./\(.*\)\.list$#\1#g')
for dir in $OPKG_INFO_DIR ; do
[ -d "$dir" ] || continue
(cd "$dir" && find . -depth -maxdepth 1 -name "*.list" -type f | sed 's#^\./\(.*\)\.list$#\1#g')
done
}
ipk_build() {
@ -40,7 +45,7 @@ ipk_build() {
UCI_BAK_DIR="/etc/istore/uci-defaults_bak/"
UCI_DEF_DIR="etc/uci-defaults"
OPKG_INFO_DIR="/usr/lib/opkg/info/"
local OPKG_INFO_DIR="/usr/lib/opkg/info/"
[ -n "${PKG_NAME_TEMP}" ] || exit 1
#get real pkg name in opkg

View File

@ -66,16 +66,18 @@ backup() {
echo "found mount point $mountpoint"
fi
local filename_suffix=
local tar_extra_args=
if has_ext_overlay; then
tar_extra_args="$tar_extra_args ext_overlay/upper"
filename_suffix="${filename_suffix}.s"
fi
local hostname=$(cat /proc/sys/kernel/hostname)
local fwver=$(. /etc/openwrt_release; echo $DISTRIB_ID-$DISTRIB_RELEASE)
local date=$(date +%Y-%m%d-%H%M)
local backup_name="backup_overlay_${hostname}_${fwver}_${date}.overlay.tar.gz"
local backup_name="backup_overlay_${hostname}_${fwver}_${date}${filename_suffix}.overlay.tar.gz"
local backup_full_path="$BACKUP_PATH/$backup_name"
echo "writing backup to $backup_full_path"
if tar -C / -cz overlay/upper $tar_extra_args > "$backup_full_path" ; then
@ -89,6 +91,30 @@ backup() {
fi
}
patch_sandbox_device() {
local overlay="$1"
local ucidir="$overlay/upper/etc/config"
local uci_section=$(uci -c "$ucidir" -q show fstab | grep '^fstab\.@mount\[[0-9]*\]\.target='"'/overlay'\$" | head -1 | grep -o '^fstab\.@mount\[[0-9]*\]')
if [ -n "$uci_section" ]; then
if [ "x1" = "x$(uci -c "$ucidir" get "$uci_section.enabled")" ]; then
uci -c "$ucidir" -q delete "$uci_section.uuid"
uci -c "$ucidir" -q delete "$uci_section.label"
uci -c "$ucidir" -q delete "$uci_section.device"
if [ -n "$SANDBOX_UUID" ]; then
uci -c "$ucidir" set "$uci_section.uuid=$SANDBOX_UUID"
elif [ -n "$SANDBOX_LABEL" ]; then
uci -c "$ucidir" set "$uci_section.label=$SANDBOX_LABEL"
else
uci -c "$ucidir" set "$uci_section.device=$SANDBOX_DEVICE"
fi
uci -c "$ucidir" commit fstab
echo "found and patched $overlay"
return 0
fi
fi
return 1
}
restore() {
if ! has_overlay; then
echo "only supports squashfs firmware"
@ -105,14 +131,31 @@ restore() {
exit 1
fi
local tar_extra_args=
# prevent uci cache
rm -rf /var/run/uci
local tar_extra_args=overlay/upper
if has_ext_overlay; then
tar_extra_args="$tar_extra_args ext_overlay/upper"
tar_extra_args=
local uuid label device line
local uci_section=$(uci -c /overlay/upper/etc/config show fstab | grep '^fstab\.@mount\[[0-9]*\]\.target='"'/overlay'\$" | head -1 | grep -o '^fstab\.@mount\[[0-9]*\]')
while read line; do
export -n "$line"
done < <(
uci -c /overlay/upper/etc/config show "$uci_section" | sed -e '/^fstab\.[^\.]*=/d' -e 's/^fstab\.[^\.]*\.//g' | grep -e '^uuid=' -e '^label=' -e '^device=' | sed "s/'//g"
)
SANDBOX_UUID=$uuid
SANDBOX_LABEL=$label
SANDBOX_DEVICE=$device
fi
sync /
echo "restoring from ${BACKUP_PATH_FILE}"
if tar -C / -xz overlay/upper $tar_extra_args < "${BACKUP_PATH_FILE}" ; then
if tar -C / -xz $tar_extra_args < "${BACKUP_PATH_FILE}" ; then
if [ -n "$SANDBOX_UUID" -o -n "$SANDBOX_LABEL" -o -n "$SANDBOX_DEVICE" ]; then
echo "patch sandbox device ${SANDBOX_UUID}${SANDBOX_LABEL}${SANDBOX_DEVICE}"
patch_sandbox_device /overlay && patch_sandbox_device /ext_overlay
fi
sync /overlay /ext_overlay
echo "restore success"
echo "schedule to restart after 5 seconds!"