update 2025-05-16 12:27:41
This commit is contained in:
parent
5b7faea5bc
commit
0923aa27c1
|
@ -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."
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
|
|
@ -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:=
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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!"
|
||||
|
|
Loading…
Reference in New Issue