💐 Sync 2026-06-21 08:49:51

This commit is contained in:
github-actions[bot] committed 2026-06-21 08:49:51 +08:00
1 parent 3d988e88f2
commit 5fc6434460
9 files changed
+54 -78

No files matched your search

+1 -1
View File
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=gecoosac PKG_NAME:=gecoosac
PKG_VERSION:=2.2.20251015 PKG_VERSION:=2.2.20251015
PKG_RELEASE:=11 PKG_RELEASE:=12
ifeq ($(ARCH),aarch64) ifeq ($(ARCH),aarch64)
PKG_ARCH:=ac_linux_arm64 PKG_ARCH:=ac_linux_arm64
+21 -24
View File
@@ -43,28 +43,22 @@ is_abs_path() {
esac esac
} }
strip_trailing_slashes() {
local path="$1"
while [ "$path" != "/" ] && [ "${path%/}" != "$path" ]; do
path="${path%/}"
done
printf '%s\n' "$path"
}
normalize_path() { normalize_path() {
local path="$1" local path="$1"
local old_ifs part normalized parent local part normalized parent
is_abs_path "$path" || return 1 is_abs_path "$path" || return 1
normalized="/" normalized="/"
old_ifs="$IFS" path="${path#/}"
IFS=/
set -- $path while [ -n "$path" ]; do
IFS="$old_ifs" part="${path%%/*}"
if [ "$part" = "$path" ]; then
path=""
else
path="${path#*/}"
fi
for part in "$@"; do
case "$part" in case "$part" in
""|.) ;; ""|.) ;;
..) ..)
@@ -171,22 +165,25 @@ run_with_timeout() {
} }
is_ipv4() { is_ipv4() {
local old_ifs part local value="$1"
local part count
old_ifs="$IFS" count=0
IFS=.
set -- $1 while :; do
IFS="$old_ifs" part="${value%%.*}"
count=$((count + 1))
[ "$#" -eq 4 ] || return 1
for part in "$@"; do
case "$part" in case "$part" in
""|*[!0-9]*) return 1 ;; ""|*[!0-9]*) return 1 ;;
esac esac
[ "$part" -le 255 ] 2>/dev/null || return 1 [ "$part" -le 255 ] 2>/dev/null || return 1
[ "$part" != "$value" ] || break
value="${value#*.}"
done done
return 0 [ "$count" -eq 4 ]
} }
san_has_entry() { san_has_entry() {
+10 -16
View File
@@ -24,28 +24,22 @@ set_default() {
changed=1 changed=1
} }
strip_trailing_slashes() {
local path="$1"
while [ "$path" != "/" ] && [ "${path%/}" != "$path" ]; do
path="${path%/}"
done
printf '%s\n' "$path"
}
normalize_path() { normalize_path() {
local path="$1" local path="$1"
local old_ifs part normalized parent local part normalized parent
is_abs_path "$path" || return 1 is_abs_path "$path" || return 1
normalized="/" normalized="/"
old_ifs="$IFS" path="${path#/}"
IFS=/
set -- $path while [ -n "$path" ]; do
IFS="$old_ifs" part="${path%%/*}"
if [ "$part" = "$path" ]; then
path=""
else
path="${path#*/}"
fi
for part in "$@"; do
case "$part" in case "$part" in
""|.) ;; ""|.) ;;
..) ..)
+1 -1
View File
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-gecoosac PKG_NAME:=luci-app-gecoosac
PKG_VERSION:=2.2 PKG_VERSION:=2.2
PKG_RELEASE:=13 PKG_RELEASE:=14
LUCI_TITLE:=LuCI Support for gecoosac LUCI_TITLE:=LuCI Support for gecoosac
LUCI_DEPENDS:=+luci-base +gecoosac LUCI_DEPENDS:=+luci-base +gecoosac
@@ -34,15 +34,6 @@ function validPort(value, defaultValue) {
return Number.isInteger(port) && port >= 1 && port <= 65535 ? String(port) : defaultValue; return Number.isInteger(port) && port >= 1 && port <= 65535 ? String(port) : defaultValue;
} }
function stripTrailingSlashes(value) {
let path = String(value || '');
while (path.length > 1 && path.endsWith('/'))
path = path.slice(0, -1);
return path;
}
function normalizePath(value) { function normalizePath(value) {
const path = String(value || ''); const path = String(value || '');
@@ -256,7 +247,7 @@ return view.extend({
o.depends({ isonlyoneprot: '0', https: '1' }); o.depends({ isonlyoneprot: '0', https: '1' });
o = s.option(form.Value, 'upload_dir', _('Upload dir path'), o = s.option(form.Value, 'upload_dir', _('Upload dir path'),
_('Upload AP upgrade firmware here. Use an absolute path ending with /gecoosac/upload, for example /tmp/gecoosac/upload.\nDo not place it under /etc/gecoosac because that directory is backed up during sysupgrade.')); _('Upload AP upgrade firmware here. Use an absolute path ending with /gecoosac/upload, for example /tmp/gecoosac/upload.<br />Do not place it under /etc/gecoosac because that directory is backed up during sysupgrade.'));
uploadDirOption = o; uploadDirOption = o;
o.placeholder = DEFAULT_UPLOAD_DIR; o.placeholder = DEFAULT_UPLOAD_DIR;
o.default = DEFAULT_UPLOAD_DIR; o.default = DEFAULT_UPLOAD_DIR;
+4 -4
View File
@@ -53,13 +53,13 @@ msgstr "上传目录"
msgid "" msgid ""
"Upload AP upgrade firmware here. Use an absolute path ending with " "Upload AP upgrade firmware here. Use an absolute path ending with "
"/gecoosac/upload, for example /tmp/gecoosac/upload.\n" "/gecoosac/upload, for example /tmp/gecoosac/upload.<br />Do not place it "
"Do not place it under /etc/gecoosac because that directory is backed up " "under /etc/gecoosac because that directory is backed up "
"during sysupgrade." "during sysupgrade."
msgstr "" msgstr ""
"AP 升级固件会上传到此目录。请使用以 /gecoosac/upload 结尾的绝对路径,例如 " "AP 升级固件会上传到此目录。请使用以 /gecoosac/upload 结尾的绝对路径,例如 "
"/tmp/gecoosac/upload。\n" "/tmp/gecoosac/upload。<br />不要放在 /etc/gecoosac 下,因为该目录会在 "
"不要放在 /etc/gecoosac 下,因为该目录会在 sysupgrade 时被备份。" "sysupgrade 时被备份。"
msgid "Upload directory must be an absolute path ending with /gecoosac/upload and must not be under /etc/gecoosac." msgid "Upload directory must be an absolute path ending with /gecoosac/upload and must not be under /etc/gecoosac."
msgstr "上传目录必须是以 /gecoosac/upload 结尾的绝对路径,且不能位于 /etc/gecoosac 下。" msgstr "上传目录必须是以 /gecoosac/upload 结尾的绝对路径,且不能位于 /etc/gecoosac 下。"
+4 -4
View File
@@ -53,13 +53,13 @@ msgstr "上傳目錄"
msgid "" msgid ""
"Upload AP upgrade firmware here. Use an absolute path ending with " "Upload AP upgrade firmware here. Use an absolute path ending with "
"/gecoosac/upload, for example /tmp/gecoosac/upload.\n" "/gecoosac/upload, for example /tmp/gecoosac/upload.<br />Do not place it "
"Do not place it under /etc/gecoosac because that directory is backed up " "under /etc/gecoosac because that directory is backed up "
"during sysupgrade." "during sysupgrade."
msgstr "" msgstr ""
"AP 升級韌體會上傳到此目錄。請使用以 /gecoosac/upload 結尾的絕對路徑,例如 " "AP 升級韌體會上傳到此目錄。請使用以 /gecoosac/upload 結尾的絕對路徑,例如 "
"/tmp/gecoosac/upload。\n" "/tmp/gecoosac/upload。<br />不要放在 /etc/gecoosac 下,因為該目錄會在 "
"不要放在 /etc/gecoosac 下,因為該目錄會在 sysupgrade 時被備份。" "sysupgrade 時被備份。"
msgid "Upload directory must be an absolute path ending with /gecoosac/upload and must not be under /etc/gecoosac." msgid "Upload directory must be an absolute path ending with /gecoosac/upload and must not be under /etc/gecoosac."
msgstr "上傳目錄必須是以 /gecoosac/upload 結尾的絕對路徑,且不能位於 /etc/gecoosac 下。" msgstr "上傳目錄必須是以 /gecoosac/upload 結尾的絕對路徑,且不能位於 /etc/gecoosac 下。"
@@ -17,19 +17,9 @@ json_result() {
json_cleanup json_cleanup
} }
strip_trailing_slashes() {
local path="$1"
while [ "$path" != "/" ] && [ "${path%/}" != "$path" ]; do
path="${path%/}"
done
printf '%s\n' "$path"
}
normalize_path() { normalize_path() {
local path="$1" local path="$1"
local old_ifs part normalized parent local part normalized parent
case "$path" in case "$path" in
/*) ;; /*) ;;
@@ -37,12 +27,16 @@ normalize_path() {
esac esac
normalized="/" normalized="/"
old_ifs="$IFS" path="${path#/}"
IFS=/
set -- $path while [ -n "$path" ]; do
IFS="$old_ifs" part="${path%%/*}"
if [ "$part" = "$path" ]; then
path=""
else
path="${path#*/}"
fi
for part in "$@"; do
case "$part" in case "$part" in
""|.) ;; ""|.) ;;
..) ..)
+2 -2
View File
@@ -10,12 +10,12 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=natflow PKG_NAME:=natflow
PKG_VERSION:=20260531 PKG_VERSION:=20260531
PKG_RELEASE:=15 PKG_RELEASE:=16
PKG_SOURCE:=$(PKG_VERSION).tar.xz PKG_SOURCE:=$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/ptpt52/natflow.git PKG_SOURCE_URL:=https://github.com/ptpt52/natflow.git
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=a49c7f9398a70a16d16e11174db23fe917878c47 PKG_SOURCE_VERSION:=804f71f7e21827961ac35469b97c2cddc7c381cb
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_MAINTAINER:=Chen Minqiang <ptpt52@gmail.com> PKG_MAINTAINER:=Chen Minqiang <ptpt52@gmail.com>
PKG_LICENSE:=GPL-2.0 PKG_LICENSE:=GPL-2.0