From 17410729339d4855b55fd24cde17c466df7e884e Mon Sep 17 00:00:00 2001 From: kiddin9 <48883331+kiddin9@users.noreply.github.com> Date: Thu, 5 Mar 2026 22:36:47 +0800 Subject: [PATCH] update --- .github/diy/convert_translation.sh | 9 + .github/diy/create_acl_for_luci.sh | 113 +++ .github/diy/create_ucitrack_for_luci.sh | 130 +++ .github/diy/generate_ucitrack.sh | 74 ++ .github/diy/packages/README.md | 23 + .../packages/cloudreve/patches/db_path.patch | 19 + .../dockerd/files/dockerd.uci-defaults | 39 + .github/diy/packages/homebox/Makefile.k | 57 ++ .../diy/packages/luci-app-bridge/Makefile.k | 19 + .../luasrc/controller/bridge.lua | 20 + .../luasrc/model/cbi/bridge.lua | 27 + .../luasrc/view/bridge/bridge_status.htm | 22 + .../luci-app-bridge/po/zh-cn/bridge.po | 48 ++ .../luci-app-bridge/root/etc/config/bridge | 6 + .../luci-app-bridge/root/etc/init.d/bridge | 124 +++ .../root/etc/uci-defaults/bridge | 15 + .../kodexplorer/nginx.server.conf.template | 26 + .../luci-app-log/po/zh_Hans/log-viewer.po | 122 +++ .../root/etc/uci-defaults/luci-log | 5 + .../root/etc/hotplug.d/block/05-partexp | 9 + .../diy/packages/luci-app-pptpd/Makefile.k | 16 + .../diy/packages/luci-app-pptpd/Readme.txt | 21 + .../luasrc/controller/pptpd.lua | 38 + .../luasrc/model/cbi/pptpd/online.lua | 100 +++ .../luasrc/model/cbi/pptpd/settings.lua | 63 ++ .../luasrc/model/cbi/pptpd/users.lua | 49 ++ .../packages/luci-app-pptpd/po/zh-cn/pptpd.po | 87 ++ .../luci-app-pptpd/root/etc/config/pptpd | 16 + .../luci-app-pptpd/root/etc/init.d/pptpd | 102 +++ .../luci-app-pptpd/root/etc/ppp/options.pptpd | 22 + .../root/etc/uci-defaults/luci-pptpd | 14 + .../po/zh_Hans/public_ip_monitor.po | 151 ++++ .../root/etc/uci-defaults/luci-transmission | 4 + .../luci-app-xray/po/zh_Hans/xray.zh-cn.po | 798 ++++++++++++++++++ .../htdocs/luci-static/spectra/bgm/bg1.jpg | Bin 0 -> 125396 bytes .../htdocs/luci-static/spectra/bgm/bg2.jpg | Bin 0 -> 316608 bytes ...901-options-force_forwarding-support.patch | 165 ++++ .github/diy/packages/tvhelper/Makefile.k | 42 + .github/diy/patches/UnblockNeteaseMusic.patch | 11 + .github/diy/patches/accesscontrol-plus.patch | 19 + .github/diy/patches/advancedplus.patch | 22 + .github/diy/patches/amule.patch | 51 ++ .github/diy/patches/argon.patch | 16 + .github/diy/patches/aria2.patch | 19 + .github/diy/patches/autocore.patch | 19 + .github/diy/patches/automount.patch | 21 + .github/diy/patches/autoreboot.patch | 16 + .github/diy/patches/coremark.patch | 20 + .github/diy/patches/cups.patch | 10 + .github/diy/patches/ddns.patch | 10 + .github/diy/patches/depends.patch | 116 +++ .github/diy/patches/dockerd.patch | 74 ++ .github/diy/patches/dockerman.patch | 133 +++ .github/diy/patches/fan.patch | 11 + .github/diy/patches/fix.patch | 126 +++ .github/diy/patches/frp.patch | 18 + .github/diy/patches/kodbox.patch | 63 ++ .../diy/patches/luci-app-fileassistant.patch | 14 + .github/diy/patches/luci-app-neko.patch | 55 ++ .github/diy/patches/luci-app-nekobox.patch | 101 +++ .../diy/patches/luci-app-nginx-manager.patch | 50 ++ .../diy/patches/luci-app-openvpn-server.patch | 125 +++ .github/diy/patches/luci-app-passwall.patch | 382 +++++++++ .github/diy/patches/luci-app-passwall2.patch | 311 +++++++ .github/diy/patches/luci-app-store.patch | 30 + .github/diy/patches/luci-app-turboacc.patch | 241 ++++++ .github/diy/patches/luci-app-upnp.patch | 11 + .github/diy/patches/luci-app-xjay.patch | 22 + .github/diy/patches/luci-app-xray.patch | 21 + .../patches/luci-theme-openmptcprouter.patch | 11 + .github/diy/patches/miniupnpd.patch | 31 + .github/diy/patches/mosdns.patch | 6 + .github/diy/patches/mtwifi.patch.b | 50 ++ .github/diy/patches/nodogsplash.patch | 12 + .github/diy/patches/oaf.patch | 14 + .github/diy/patches/opkginstall.patch | 219 +++++ .github/diy/patches/p910nd.patch | 9 + .github/diy/patches/pgyvpn.patch | 11 + .github/diy/patches/qt6base.patch | 19 + .github/diy/patches/quickstart.patch | 23 + .github/diy/patches/routerdog.patch | 49 ++ .github/diy/patches/samba4.patch | 13 + .github/diy/patches/ssr-plus.patch | 238 ++++++ .github/diy/patches/syncthing.patch | 10 + .github/diy/patches/syscontrol.patch | 35 + .github/diy/patches/tencentddns.patch | 23 + .github/diy/patches/timedreboot.patch | 80 ++ .github/diy/patches/vssr.patch.b | 23 + .github/diy/patches/watchcat.patch | 43 + .github/diy/patches/webd.patch | 11 + .github/diy/patches/wiwiz.patch | 11 + .github/diy/patches/wiwiz.patch.b | 11 + .github/workflows/upstream.yml | 531 ++++++++++++ 93 files changed, 6216 insertions(+) create mode 100644 .github/diy/convert_translation.sh create mode 100644 .github/diy/create_acl_for_luci.sh create mode 100644 .github/diy/create_ucitrack_for_luci.sh create mode 100644 .github/diy/generate_ucitrack.sh create mode 100644 .github/diy/packages/README.md create mode 100644 .github/diy/packages/cloudreve/patches/db_path.patch create mode 100644 .github/diy/packages/dockerd/files/dockerd.uci-defaults create mode 100644 .github/diy/packages/homebox/Makefile.k create mode 100644 .github/diy/packages/luci-app-bridge/Makefile.k create mode 100644 .github/diy/packages/luci-app-bridge/luasrc/controller/bridge.lua create mode 100644 .github/diy/packages/luci-app-bridge/luasrc/model/cbi/bridge.lua create mode 100644 .github/diy/packages/luci-app-bridge/luasrc/view/bridge/bridge_status.htm create mode 100644 .github/diy/packages/luci-app-bridge/po/zh-cn/bridge.po create mode 100644 .github/diy/packages/luci-app-bridge/root/etc/config/bridge create mode 100644 .github/diy/packages/luci-app-bridge/root/etc/init.d/bridge create mode 100644 .github/diy/packages/luci-app-bridge/root/etc/uci-defaults/bridge create mode 100644 .github/diy/packages/luci-app-kodexplorer/root/etc/kodexplorer/nginx.server.conf.template create mode 100644 .github/diy/packages/luci-app-log/po/zh_Hans/log-viewer.po create mode 100644 .github/diy/packages/luci-app-log/root/etc/uci-defaults/luci-log create mode 100644 .github/diy/packages/luci-app-partexp/root/etc/hotplug.d/block/05-partexp create mode 100644 .github/diy/packages/luci-app-pptpd/Makefile.k create mode 100644 .github/diy/packages/luci-app-pptpd/Readme.txt create mode 100644 .github/diy/packages/luci-app-pptpd/luasrc/controller/pptpd.lua create mode 100644 .github/diy/packages/luci-app-pptpd/luasrc/model/cbi/pptpd/online.lua create mode 100644 .github/diy/packages/luci-app-pptpd/luasrc/model/cbi/pptpd/settings.lua create mode 100644 .github/diy/packages/luci-app-pptpd/luasrc/model/cbi/pptpd/users.lua create mode 100644 .github/diy/packages/luci-app-pptpd/po/zh-cn/pptpd.po create mode 100644 .github/diy/packages/luci-app-pptpd/root/etc/config/pptpd create mode 100644 .github/diy/packages/luci-app-pptpd/root/etc/init.d/pptpd create mode 100644 .github/diy/packages/luci-app-pptpd/root/etc/ppp/options.pptpd create mode 100644 .github/diy/packages/luci-app-pptpd/root/etc/uci-defaults/luci-pptpd create mode 100644 .github/diy/packages/luci-app-public-ip-monitor/po/zh_Hans/public_ip_monitor.po create mode 100644 .github/diy/packages/luci-app-transmission/root/etc/uci-defaults/luci-transmission create mode 100644 .github/diy/packages/luci-app-xray/po/zh_Hans/xray.zh-cn.po create mode 100644 .github/diy/packages/luci-theme-spectra/htdocs/luci-static/spectra/bgm/bg1.jpg create mode 100644 .github/diy/packages/luci-theme-spectra/htdocs/luci-static/spectra/bgm/bg2.jpg create mode 100644 .github/diy/packages/miniupnpd/patches/901-options-force_forwarding-support.patch create mode 100644 .github/diy/packages/tvhelper/Makefile.k create mode 100644 .github/diy/patches/UnblockNeteaseMusic.patch create mode 100644 .github/diy/patches/accesscontrol-plus.patch create mode 100644 .github/diy/patches/advancedplus.patch create mode 100644 .github/diy/patches/amule.patch create mode 100644 .github/diy/patches/argon.patch create mode 100644 .github/diy/patches/aria2.patch create mode 100644 .github/diy/patches/autocore.patch create mode 100644 .github/diy/patches/automount.patch create mode 100644 .github/diy/patches/autoreboot.patch create mode 100644 .github/diy/patches/coremark.patch create mode 100644 .github/diy/patches/cups.patch create mode 100644 .github/diy/patches/ddns.patch create mode 100644 .github/diy/patches/depends.patch create mode 100644 .github/diy/patches/dockerd.patch create mode 100644 .github/diy/patches/dockerman.patch create mode 100644 .github/diy/patches/fan.patch create mode 100644 .github/diy/patches/fix.patch create mode 100644 .github/diy/patches/frp.patch create mode 100644 .github/diy/patches/kodbox.patch create mode 100644 .github/diy/patches/luci-app-fileassistant.patch create mode 100644 .github/diy/patches/luci-app-neko.patch create mode 100644 .github/diy/patches/luci-app-nekobox.patch create mode 100644 .github/diy/patches/luci-app-nginx-manager.patch create mode 100644 .github/diy/patches/luci-app-openvpn-server.patch create mode 100644 .github/diy/patches/luci-app-passwall.patch create mode 100644 .github/diy/patches/luci-app-passwall2.patch create mode 100644 .github/diy/patches/luci-app-store.patch create mode 100644 .github/diy/patches/luci-app-turboacc.patch create mode 100644 .github/diy/patches/luci-app-upnp.patch create mode 100644 .github/diy/patches/luci-app-xjay.patch create mode 100644 .github/diy/patches/luci-app-xray.patch create mode 100644 .github/diy/patches/luci-theme-openmptcprouter.patch create mode 100644 .github/diy/patches/miniupnpd.patch create mode 100644 .github/diy/patches/mosdns.patch create mode 100644 .github/diy/patches/mtwifi.patch.b create mode 100644 .github/diy/patches/nodogsplash.patch create mode 100644 .github/diy/patches/oaf.patch create mode 100644 .github/diy/patches/opkginstall.patch create mode 100644 .github/diy/patches/p910nd.patch create mode 100644 .github/diy/patches/pgyvpn.patch create mode 100644 .github/diy/patches/qt6base.patch create mode 100644 .github/diy/patches/quickstart.patch create mode 100644 .github/diy/patches/routerdog.patch create mode 100644 .github/diy/patches/samba4.patch create mode 100644 .github/diy/patches/ssr-plus.patch create mode 100644 .github/diy/patches/syncthing.patch create mode 100644 .github/diy/patches/syscontrol.patch create mode 100644 .github/diy/patches/tencentddns.patch create mode 100644 .github/diy/patches/timedreboot.patch create mode 100644 .github/diy/patches/vssr.patch.b create mode 100644 .github/diy/patches/watchcat.patch create mode 100644 .github/diy/patches/webd.patch create mode 100644 .github/diy/patches/wiwiz.patch create mode 100644 .github/diy/patches/wiwiz.patch.b create mode 100644 .github/workflows/upstream.yml diff --git a/.github/diy/convert_translation.sh b/.github/diy/convert_translation.sh new file mode 100644 index 000000000..9a3f6374d --- /dev/null +++ b/.github/diy/convert_translation.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +for e in $(ls -d luci-*/po); do + if [[ -d $e/zh-cn && ! -d $e/zh_Hans ]]; then + ln -s zh-cn $e/zh_Hans 2>/dev/null + elif [[ -d $e/zh_Hans && ! -d $e/zh-cn ]]; then + ln -s zh_Hans $e/zh-cn 2>/dev/null + fi +done diff --git a/.github/diy/create_acl_for_luci.sh b/.github/diy/create_acl_for_luci.sh new file mode 100644 index 000000000..5a5756564 --- /dev/null +++ b/.github/diy/create_acl_for_luci.sh @@ -0,0 +1,113 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0-only +# -------------------------------------------------------- +# Script for creating ACL file for each LuCI APP + +error_font="\033[31m[Error]$\033[0m " +success_font="\033[32m[Success]\033[0m " +info_font="\033[36m[Info]\033[0m " + +function echo_green_bg(){ + echo -e "\033[42;37m$1\033[0m" +} + +function echo_yellow_bg(){ + echo -e "\033[43;37m$1\033[0m" +} + +function echo_red_bg(){ + echo -e "\033[41;37m$1\033[0m" +} + +function clean_outdated_files(){ + rm -f "create_acl_for_luci.err" "create_acl_for_luci.warn" "create_acl_for_luci.ok" +} + +function check_if_acl_exist(){ + ls "$1"/root/usr/share/rpcd/acl.d/*.json >/dev/null 2>&1 && return 0 || return 1 +} + +function check_config_files(){ + [ "$(ls "$1"/root/etc/config/* 2>/dev/null | wc -l)" -ne "1" ] && return 0 || return 1 +} + +function get_config_name(){ + ls "$1"/root/etc/config/* 2>/dev/null | awk -F '/' '{print $NF}' +} + +function create_acl_file(){ + mkdir -p "$1" + echo -e "{ + \"$2\": { + \"description\": \"Grant UCI access for $2\", + \"read\": { + \"uci\": [ \"$3\" ] + }, + \"write\": { + \"uci\": [ \"$3\" ] + } + } +}" > "$1/$2.json" +} + +function auto_create_acl(){ + luci_app_list="$(find ./ -maxdepth 1 | grep -Eo "luci-app-[a-zA-Z0-9_-]+" | sort -s)" + + [ "$(echo -e "${luci_app_list}" | wc -l)" -gt "0" ] && for i in ${luci_app_list} + do + if check_if_acl_exist "$i"; then + echo_yellow_bg "$i: has ACL file already, skipping..." | tee -a create_acl_for_luci.warn + elif check_config_files "$i"; then + echo_red_bg "$i: has no/multi config file(s), skipping..." | tee -a create_acl_for_luci.err + else + create_acl_file "$i/root/usr/share/rpcd/acl.d" "${i##*/}" "$(get_config_name "$i")" + echo_green_bg "$i: ACL file has been generated." | tee -a create_acl_for_luci.ok + fi + done +} + +while getopts "achml:n:p:" input_arg +do + case $input_arg in + a) + auto_create_acl + exit + ;; + m) + manual_mode=1 + ;; + p) + acl_path="$OPTARG" + ;; + l) + luci_name="$OPTARG" + ;; + n) + conf_name="$OPTARG" + ;; + c) + clean_outdated_files + exit + ;; + h|?|*) + echo -e "${info_font}Usage: $0 [-a|-m (-p ) -l -n |-c]" + exit 2 + ;; + esac +done + +if [ "*${manual_mode}*" == "*1*" ] && [ -n "${luci_name}" ] && [ -n "${conf_name}" ]; then + acl_path="${acl_path:-root/usr/share/rpcd/acl.d}" + if create_acl_file "${acl_path}" "${luci_name}" "${conf_name}"; then + echo -e "${success_font}Output file: $(ls "${acl_path}/${luci_name}.json")" + echo_green_bg "$(cat "${acl_path}/${luci_name}.json")" + echo_green_bg "${luci_name}: ACL file has been generated." >> "create_acl_for_luci.ok" + [ -e "create_acl_for_luci.err" ] && sed -i "/${luci_name}/d" "create_acl_for_luci.err" + else + echo -e "${error_font}Failed to create file ${acl_path}/${luci_name}.json" + echo_red_bg "${luci_name}: Failed to create ACL file." >> "create_acl_for_luci.err" + fi +else + echo -e "${info_font}Usage: $0 [-a|-m -p -l -n |-c]" + exit 2 +fi diff --git a/.github/diy/create_ucitrack_for_luci.sh b/.github/diy/create_ucitrack_for_luci.sh new file mode 100644 index 000000000..4997d0610 --- /dev/null +++ b/.github/diy/create_ucitrack_for_luci.sh @@ -0,0 +1,130 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0-only +# -------------------------------------------------------- +# Script for creating new UCI track file for each LuCI APP + +DEFAULT_COLOR="\033[0m" + +function __error_bg() { + echo -e "\033[41;37m$*$DEFAULT_COLOR" +} + +function __error_msg() { + echo -e "\033[31m[ERROR]$DEFAULT_COLOR $*" +} + +function __info_msg() { + echo -e "\033[36m[INFO]$DEFAULT_COLOR $*" +} + +function __success_bg() { + echo -e "\033[42;37m$*$DEFAULT_COLOR" +} + +function __success_msg() { + echo -e "\033[32m[SUCCESS]$DEFAULT_COLOR $*" +} + +function __warning_bg() { + echo -e "\033[43;37m$*$DEFAULT_COLOR" +} + +function __warning_msg() { + echo -e "\033[33m[WARNING]$DEFAULT_COLOR $*" +} + +function clean_outdated_files() { + rm -f "create_ucitrack_for_luci.err" "create_ucitrack_for_luci.warn" "create_ucitrack_for_luci.ok" +} + +function check_if_ucitrack_exist() { + ls "$1/root/usr/share/ucitrack"/*.json >"/dev/null" 2>&1 && return 0 || return 1 +} + +function check_config_files() { + [ "$(ls "$1/root/etc/config"/* 2>/dev/null | wc -l)" -ne "1" ] && return 0 || return 1 +} + +function check_init_files() { + [ "$(ls "$1/root/etc/init.d"/* 2>/dev/null | wc -l)" -ne "1" ] && return 0 + ! grep -q "procd_add_reload_trigger" "$1/root/etc/init.d"/* 2>"/dev/null" && return 1 || return 0 +} + +function get_target_name() { + ls "$1/root/etc/$2"/* 2>"/dev/null" | awk -F '/' '{print $NF}' +} + +function create_ucitrack_file() { + mkdir -p "$1" + echo -e "{ + \"config\": \"$3\", + \"init\": [ \"$4\" ] +}" > "$1/$2.json" +} + +function auto_create_ucitrack() { + luci_app_list="$(find ./ -maxdepth 1 | grep -Eo "luci-app-[a-zA-Z0-9_-]+" | sort -s)" + + [ "$(echo -e "$luci_app_list" | wc -l)" -gt "0" ] && for i in $luci_app_list + do + if check_if_ucitrack_exist "$i"; then + __warning_bg "$i: has ucitrack file already, skipping..." + elif check_config_files "$i"; then + __error_bg "$i: has no/multi config file(s), skipping..." + elif check_init_files "$i"; then + __error_bg "$i: has no/multi/procd init script(s), skipping..." + else + create_ucitrack_file "$i/root/usr/share/ucitrack" "${i##*/}" "$(get_target_name "$i" "config")" "$(get_target_name "$i" "init.d")" + __success_bg "$i: ucitrack file has been generated." + fi + done +} + +while getopts "achmli:n:p:" input_arg +do + case $input_arg in + a) + auto_create_ucitrack + exit + ;; + m) + manual_mode="1" + ;; + p) + ucitrack_path="$OPTARG" + ;; + l) + luci_name="$OPTARG" + ;; + n) + conf_name="$OPTARG" + ;; + i) + init_name="$OPTARG" + ;; + c) + clean_outdated_files + exit + ;; + h|?|*) + __info_msg "Usage: $0 [-a|-m (-p ) -l -n -i |-c]" + exit 2 + ;; + esac +done + +if [ "$manual_mode" == "1" ] && [ -n "$luci_name" ] && [ -n "$conf_name" ] && [ -n "$init_name" ]; then + ucitrack_path="${ucitrack_path:-root/usr/share/ucitrack}" + if create_ucitrack_file "$ucitrack_path" "$luci_name" "$conf_name" "$init_name"; then + __success_msg "Output file: $(ls "$ucitrack_path/$luci_name.json")" + __green_bg "$(cat "$ucitrack_path/$luci_name.json")" + __green_bg "$luci_name: ucitrack file has been generated." >> "create_ucitrack_for_luci.ok" + [ -e "create_ucitrack_for_luci.err" ] && sed -i "/$luci_name/d" "create_ucitrack_for_luci.err" + else + __error_msg "Failed to create file $ucitrack_path/$luci_name.json" + __error_bg "$luci_name: Failed to create ucitrack file." >> "create_ucitrack_for_luci.err" + fi +else + __info_msg "Usage: $0 [-a|-m -p -l -n -i |-c]" + exit 2 +fi diff --git a/.github/diy/generate_ucitrack.sh b/.github/diy/generate_ucitrack.sh new file mode 100644 index 000000000..deabf52ad --- /dev/null +++ b/.github/diy/generate_ucitrack.sh @@ -0,0 +1,74 @@ +#!/bin/bash + +find . -path "*/root/usr/share/ucitrack/*.json" -type f | while read -r json_file; do + # 使用 sed 检查并替换格式,匹配不包含逗号的任意字符串 + if grep -q '"init": \[.*\]' "$json_file"; then + # 使用 perl 正则来处理,因为它的正则表达式功能更强大 + perl -i -pe 's/"init":\s*\[\s*"([^,"\n]+)"\s*\]/"init": "$1"/g' "$json_file" + echo "已处理 json 文件: $json_file" + fi +done + +find . -type f \ + -not -path "*.github*" \ + -not -name "Makefile" \ + | while read -r file; do + + if grep -q "add ucitrack" "$file"; then + # 提取xx的值 + xx=$(grep "add ucitrack" "$file" | awk '{print $3}' | head -1 | tr -d '\r' | tr -d ' ') + + # 读取第一行 + first_line=$(head -n 1 "$file") + + # 构建新文件内容 + { + # 检查第一行是否包含 #!/bin/ + if [[ "$first_line" == "#!/bin/"* ]]; then + echo "$first_line" + fi + echo "[ ! -f \"/usr/share/ucitrack/luci-app-${xx}.json\" ] && {" + echo " cat > /usr/share/ucitrack/luci-app-${xx}.json << EEOF" + echo "{" + echo " \"config\": \"${xx}\"," + echo " \"init\": \"${xx}\"" + echo "}" + echo "EEOF" + echo "}" + # 如果第一行不包含 #!/bin/,在这里输出 + if [[ "$first_line" != "#!/bin/"* && -n "$first_line" ]]; then + echo "$first_line" + fi + # 获取其余内容 + sed '1d' "$file" + } > "${file}.tmp" + + # 替换原文件 + mv "${file}.tmp" "$file" + + echo "已处理文件: $file (ucitrack)" + + else + # 检查是否需要添加 reload_service + if (grep -q "stop_service\|service_stopped" "$file") && ! grep -q "reload_service" "$file"; then + echo >> "$file" + echo "reload_service() {" >> "$file" + echo -e "\trestart" >> "$file" + echo "}" >> "$file" + + echo "已添加 reload_service 到文件: $file" + fi + +if awk '/^USE_PROCD/{a=1} /start_service/{b=1} /config_load/{c=1} /service_triggers/{d=1} END{exit !(a&&b&&c&&!d)}' "$file"; then + needs_service_triggers=1 + config=$(grep -m 1 "config_load" "$file" | sed 's/.*config_load[[:space:]]\+["'\'']\?\([^"'\''[:space:]]*\)["'\'']\?.*$/\1/') + echo >> "$file" + echo "service_triggers() {" >> "$file" + echo -e "\tprocd_add_reload_trigger \"$config\"" >> "$file" + echo "}" >> "$file" + + echo "已添加 service_triggers 到文件: $file" + fi + fi +done +touch /tmp/ok3 diff --git a/.github/diy/packages/README.md b/.github/diy/packages/README.md new file mode 100644 index 000000000..a62e788a9 --- /dev/null +++ b/.github/diy/packages/README.md @@ -0,0 +1,23 @@ +## 适用于openwrt 23.05 及以上的分支. +## 所有插件都为网上收集的开源插件,感谢作者们的付出. + +## 本仓库所有插件已编译IPK下载 +### 使用软件源请删除 opkg配置(/etc/opkg.conf) 中的 option check_signature + + +| CPU架构 | 下载地址 | 适用设备 | 软件源 | 更新频率 | +|----------------|-----------------------------------------------------|--------------------------------------|-----------|-----------| +| X86_64 | [📥](https://dl.openwrt.ai/latest/packages/x86_64/kiddin9/) | 64位PC软路由 | src/gz openwrt_kiddin9 https://dl.openwrt.ai/latest/packages/x86_64/kiddin9 | 日更 | +| i386_pentium4 | [📥](https://dl.openwrt.ai/latest/packages/i386_pentium4/kiddin9/) | 32位PC软路由 | src/gz openwrt_kiddin9 https://dl.openwrt.ai/latest/packages/i386_pentium4/kiddin9 | 日更 | +| aarch64_generic | [📥](https://dl.openwrt.ai/latest/packages/aarch64_generic/kiddin9/) | R2S/R4S等 | src/gz openwrt_kiddin9 https://dl.openwrt.ai/latest/packages/aarch64_generic/kiddin9 | 日更 | +| aarch64_cortex-a72 | [📥](https://dl.openwrt.ai/latest/packages/aarch64_cortex-a72/kiddin9/) | 树莓派4B等 | src/gz openwrt_kiddin9 https://dl.openwrt.ai/latest/packages/aarch64_cortex-a72/kiddin9 | 日更 | +| arm_arm1176jzf-s_vfp | [📥](https://dl.openwrt.ai/latest/packages/arm_arm1176jzf-s_vfp/kiddin9/) | 树莓派1等 | src/gz openwrt_kiddin9 https://dl.openwrt.ai/latest/packages/arm_arm1176jzf-s_vfp/kiddin9 | 日更 | +| mipsel_24kc | [📥](https://dl.openwrt.ai/latest/packages/mipsel_24kc/kiddin9/) | k2p,ac2100等 | src/gz openwrt_kiddin9 https://dl.openwrt.ai/latest/packages/mipsel_24kc/kiddin9 | 日更 | +| mips_24kc | [📥](https://dl.openwrt.ai/latest/packages/mips_24kc/kiddin9/) | GL-AR300M,NETGEAR WNDR4300等 | src/gz openwrt_kiddin9 https://dl.openwrt.ai/latest/packages/mips_24kc/kiddin9 | 日更 | +| aarch64_cortex-a53 | [📥](https://dl.openwrt.ai/latest/packages/aarch64_cortex-a53/kiddin9/) | N1,红米AX6,小米AX6S等 | src/gz openwrt_kiddin9 https://dl.openwrt.ai/latest/packages/aarch64_cortex-a53/kiddin9 | 日更 | +| arm_cortex-a9 | [📥](https://dl.openwrt.ai/latest/packages/arm_cortex-a9/kiddin9/) | 斐讯K3,华硕RT-AC68U,RT-AC88U等 | src/gz openwrt_kiddin9 https://dl.openwrt.ai/latest/packages/arm_cortex-a9/kiddin9 | 日更 | +| arm_cortex-a7_neon-vfpv4 | [📥](https://dl.openwrt.ai/latest/packages/arm_cortex-a7_neon-vfpv4/kiddin9/) | 华硕RT-ACRH17,RT-AC58U等 | src/gz openwrt_kiddin9 https://dl.openwrt.ai/latest/packages/arm_cortex-a7_neon-vfpv4/kiddin9 | 日更 | +| arm_cortex-a9_vfpv3-d16 | [📥](https://dl.openwrt.ai/latest/packages/arm_cortex-a9_vfpv3-d16/kiddin9/) | Linksys WRT1900ACS等 | src/gz openwrt_kiddin9 https://dl.openwrt.ai/latest/packages/arm_cortex-a9_vfpv3-d16/kiddin9 | 日更 | +| arm_cortex-a5_vfpv4 | [📥](https://dl.openwrt.ai/latest/packages/arm_cortex-a5_vfpv4/kiddin9/) | 玩客云等 | src/gz openwrt_kiddin9 https://dl.openwrt.ai/latest/packages/arm_cortex-a5_vfpv4/kiddin9 | 日更 | +| arm_cortex-a15_neon-vfpv4 | [📥](https://dl.openwrt.ai/latest/packages/arm_cortex-a15_neon-vfpv4/kiddin9/) | NETGEAR R7800等 | src/gz openwrt_kiddin9 https://dl.openwrt.ai/latest/packages/arm_cortex-a15_neon-vfpv4/kiddin9 | 日更 | +| aarch64_cortex-a76 | [📥](https://dl.openwrt.ai/latest/packages/aarch64_cortex-a76/kiddin9/) | 树莓派5等 | src/gz openwrt_kiddin9 https://dl.openwrt.ai/latest/packages/aarch64_cortex-a76/kiddin9 | 日更 | diff --git a/.github/diy/packages/cloudreve/patches/db_path.patch b/.github/diy/packages/cloudreve/patches/db_path.patch new file mode 100644 index 000000000..e4c415c1c --- /dev/null +++ b/.github/diy/packages/cloudreve/patches/db_path.patch @@ -0,0 +1,19 @@ +--- a/application/migrator/model/init.go ++++ b/application/migrator/model/init.go +@@ -7,7 +7,6 @@ import ( + "github.com/jinzhu/gorm" + + "github.com/cloudreve/Cloudreve/v4/application/migrator/conf" +- "github.com/cloudreve/Cloudreve/v4/pkg/util" + _ "github.com/jinzhu/gorm/dialects/mssql" + _ "github.com/jinzhu/gorm/dialects/mysql" + _ "github.com/jinzhu/gorm/dialects/postgres" +@@ -37,7 +36,7 @@ func Init() error { + switch confDBType { + case "UNSET", "sqlite": + // 未指定数据库或者明确指定为 sqlite 时,使用 SQLite 数据库 +- db, err = gorm.Open("sqlite3", util.RelativePath(conf.DatabaseConfig.DBFile)) ++ db, err = gorm.Open("sqlite3", "/etc/cloudreve/" + conf.DatabaseConfig.DBFile) + case "postgres": + db, err = gorm.Open(confDBType, fmt.Sprintf("host=%s user=%s password=%s dbname=%s port=%d sslmode=disable", + conf.DatabaseConfig.Host, diff --git a/.github/diy/packages/dockerd/files/dockerd.uci-defaults b/.github/diy/packages/dockerd/files/dockerd.uci-defaults new file mode 100644 index 000000000..bb33744d6 --- /dev/null +++ b/.github/diy/packages/dockerd/files/dockerd.uci-defaults @@ -0,0 +1,39 @@ +#!/bin/sh + +function NEWPART(){ +ROOT_DISK=$1 + # 检查是否有未分配空间 + DISK_SIZE=$(parted -s $ROOT_DISK unit MB print | grep '^Disk' | awk '{print $3}' | sed 's/MB//') + LAST_PART_END=$(parted -s $ROOT_DISK unit MB print | tail -n 2 | head -n 1 | awk '{print $3}' | sed 's/MB//') +[ $LAST_PART_END == "End" ] && return 0 + UNALLOCATED_SPACE="$(awk "BEGIN {print $DISK_SIZE - $LAST_PART_END}")" + awk 'BEGIN {exit !('$UNALLOCATED_SPACE' >= '1024')}' && { + # 创建新分区 +parted -s $ROOT_DISK mkpart primary ext4 ${LAST_PART_END}MB 100% && { + +ROOT_DISK_NAME="$(echo $ROOT_DISK | cut -d / -f 3)" +LAST_PART_NAME="$(lsblk -nlo NAME | grep $ROOT_DISK_NAME | tail -n 1)" + # 格式化新分区 +mkfs.ext4 -F -L "docker" /dev/${LAST_PART_NAME} +pgrep -x /usr/bin/dockerd > /dev/null && /etc/init.d/dockerd stop +mkdir -p /opt/docker +eval $(block info /dev/${LAST_PART_NAME} | grep -o -e 'UUID="\S*"') +[ ! -f /etc/config/fstab ] && ( block detect > /etc/config/fstab ) +uci set fstab.mountdocker="mount" +uci set fstab.mountdocker.uuid="${UUID}" +uci set fstab.mountdocker.target="/opt/docker" +uci commit fstab +umount -f /dev/${LAST_PART_NAME} +/sbin/block mount +} +} +} + +cat /etc/mtab | grep -q "/opt/docker" || { +uci -q get fstab.mountdocker || { +disk="$(lsblk | awk '/disk/ {print $1; exit}')" +NEWPART /dev/$disk +} +} + +exit 0 diff --git a/.github/diy/packages/homebox/Makefile.k b/.github/diy/packages/homebox/Makefile.k new file mode 100644 index 000000000..e70ce7c8b --- /dev/null +++ b/.github/diy/packages/homebox/Makefile.k @@ -0,0 +1,57 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=homebox +PKG_VERSION:=0.0.0-dev.2024101306 +PKG_RELEASE:=21 + +ifeq ($(ARCH),aarch64) + H_ARCH:=arm64 + +else ifeq ($(ARCH),arm) + H_ARCH:=arm + +else ifeq ($(ARCH),i386) + H_ARCH:=386 + +else ifeq ($(ARCH),mips) + H_ARCH:=mips + +else ifeq ($(ARCH),mipsel) + H_ARCH:=mips + +else ifeq ($(ARCH),x86_64) + H_ARCH:=amd64 +endif + +include $(INCLUDE_DIR)/package.mk + +define Package/$(PKG_NAME) + SECTION:=net + CATEGORY:=Network + TITLE:=A Toolbox for Home Local Networks Speed Test + URL:=https://github.com/XGHeaven/homebox + DEPENDS:=@(i386||x86_64||arm||aarch64||mipsel||mips) +libstdcpp +endef + +define Package/$(PKG_NAME)/description + A Toolbox for Home Local Networks Speed Test +endef + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) + [ ! -f $(PKG_BUILD_DIR)/server-linux-$(H_ARCH).tar.gz ] && wget https://github.com/XGHeaven/homebox/releases/download/v$(PKG_VERSION)/server-linux-$(H_ARCH).tar.gz -O $(PKG_BUILD_DIR)/server-linux-$(H_ARCH).tar.gz + tar -xzvf $(PKG_BUILD_DIR)/server-linux-$(H_ARCH).tar.gz -C $(PKG_BUILD_DIR) +endef + +define Build/Compile +endef + +define Package/$(PKG_NAME)/install + $(INSTALL_DIR) $(1)/usr/bin $(1)/etc/config $(1)/etc/init.d $(1)/etc/uci-defaults + $(INSTALL_BIN) $(PKG_BUILD_DIR)/server-linux-$(H_ARCH) $(1)/usr/bin/homebox + $(INSTALL_CONF) ./files/homebox.config $(1)/etc/config/homebox + $(INSTALL_BIN) ./files/homebox.init $(1)/etc/init.d/homebox + $(INSTALL_BIN) ./files/homebox.uci-default $(1)/etc/uci-defaults/homebox +endef + +$(eval $(call BuildPackage,$(PKG_NAME))) diff --git a/.github/diy/packages/luci-app-bridge/Makefile.k b/.github/diy/packages/luci-app-bridge/Makefile.k new file mode 100644 index 000000000..58cbda1e3 --- /dev/null +++ b/.github/diy/packages/luci-app-bridge/Makefile.k @@ -0,0 +1,19 @@ + +# Copyright (C) 2016 Openwrt.org +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=Luci for support bridge +LUCI_DEPENDS:=+ip-bridge +kmod-nft-bridge + +define Package/luci-app-bridge/conffiles +/etc/bridge/network +/etc/bridge/firewall +endef + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/.github/diy/packages/luci-app-bridge/luasrc/controller/bridge.lua b/.github/diy/packages/luci-app-bridge/luasrc/controller/bridge.lua new file mode 100644 index 000000000..9621b1a4b --- /dev/null +++ b/.github/diy/packages/luci-app-bridge/luasrc/controller/bridge.lua @@ -0,0 +1,20 @@ +module("luci.controller.bridge", package.seeall) + +function index() + if not nixio.fs.access("/etc/config/bridge") then + return + end + + local page + + page = entry({"admin", "network", "bridge"}, cbi("bridge"), _("Transparent bridge"), 60) + page.dependent = true + entry({"admin","network","bridge","status"},call("act_status")).leaf=true +end + +function act_status() + local e={} + e.running=luci.sys.call("iptables -L INPUT | grep zone_.*input | grep bridge >/dev/null")==0 + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end diff --git a/.github/diy/packages/luci-app-bridge/luasrc/model/cbi/bridge.lua b/.github/diy/packages/luci-app-bridge/luasrc/model/cbi/bridge.lua new file mode 100644 index 000000000..1112d4fb6 --- /dev/null +++ b/.github/diy/packages/luci-app-bridge/luasrc/model/cbi/bridge.lua @@ -0,0 +1,27 @@ +local e=require"nixio.fs" + +m=Map("bridge",translate("Transparent bridge"), +translate("Let the routing become a transparent bridge device that communicates with the superior routing without perception and has the function of firewall.")) + +m:section(SimpleSection).template = "bridge/bridge_status" + +s=m:section(TypedSection,"bridge",translate("Settings")) +s.anonymous=true +o=s:option(Flag,"enabled", translate("Passerelle transparente")) +o.rmempty=false + +o=s:option(Value,"gateway", translate("GatewayIP"), translate("Superior routing IP")) +o.rmempty=false + +o=s:option(Value,"ipaddr", translate("Bridge IP"), translate("Need to be on the same network segment as the upper-level route but do not conflict with other device IPs.")) +o.rmempty=false + +o=s:option(Value,"netmask", translate("Netmask")) +o.rmempty=false + +o=s:option(Value,"network", translate("Number of network ports"), translate("The number of physical network ports on the soft route is automatically detected when left blank.")) + +o = m:section(TypedSection, "bridge", translate("Setting instructions:"), translate("
  • Applicable to network environments that have superior routing and require some functions of soft routing but do not want multi-level NAT.
  • The switch or client needs to be connected to the network port of the soft route.
  • The WEB console of the soft route after the transparent bridge is enabled is the bridge IP.
  • Some features on the soft route will be invalid after enabling the transparent bridge, such as Full Cone, multi-dial, etc.
  • After closing, restore the network settings when the plugin is installed, and the WEB console reverts to the original set IP.
  • ")) +o.anonymous = true + +return m diff --git a/.github/diy/packages/luci-app-bridge/luasrc/view/bridge/bridge_status.htm b/.github/diy/packages/luci-app-bridge/luasrc/view/bridge/bridge_status.htm new file mode 100644 index 000000000..03d0f6b84 --- /dev/null +++ b/.github/diy/packages/luci-app-bridge/luasrc/view/bridge/bridge_status.htm @@ -0,0 +1,22 @@ + + +
    +

    + <%:Collecting data...%> +

    +
    diff --git a/.github/diy/packages/luci-app-bridge/po/zh-cn/bridge.po b/.github/diy/packages/luci-app-bridge/po/zh-cn/bridge.po new file mode 100644 index 000000000..ca8d06470 --- /dev/null +++ b/.github/diy/packages/luci-app-bridge/po/zh-cn/bridge.po @@ -0,0 +1,48 @@ +msgid "Transparent bridge" +msgstr "透明网桥" + +msgid "Passerelle transparente" +msgstr "开启透明网桥" + +msgid "Let the routing become a transparent bridge device that communicates with the superior routing without perception and has the function of firewall." +msgstr "让路由成为与上级路由通信,无感知,并具备防火墙功能的透明网桥设备。" + +msgid "Settings" +msgstr "设置" + +msgid "GatewayIP" +msgstr "网关IP" + +msgid "Superior routing IP" +msgstr "上级路由IP" + +msgid "Bridge IP" +msgstr "网桥IP" + +msgid "Need to be on the same network segment as the upper-level route but do not conflict with other device IPs." +msgstr "需要和上级路由在同一个网段但不要和其它设备IP冲突 " + +msgid "Netmask" +msgstr "子网掩码" + +msgid "Number of network ports" +msgstr "网口数" + +msgid "The number of physical network ports on the soft route is automatically detected when left blank." +msgstr "软路由物理网口数量,留空则自动探测。" + +msgid "Setting instructions:" +msgstr "设置说明:" + +msgid "" +"
  • Applicable to network environments that have superior routing and require some functions of soft routing but do not want multi-level NAT.
  • " +"The switch or client needs to be connected to the network port of the soft route.
  • " +"The WEB console of the soft route after the transparent bridge is enabled is the bridge IP.
  • " +"Some features on the soft route will be invalid after enabling the transparent bridge, such as Full Cone, multi-dial, etc.
  • " +"After closing, restore the network settings when the plugin is installed, and the WEB console reverts to the original set IP.
  • " +msgstr "" +"
  • ✯适用于有上级路由,需要软路由的一些功能但又不想多级NAT的网络环境。
  • " +"✯交换机或客户端需要连接到软路由的网口下面。
  • " +"✯启用透明网桥后软路由的WEB控制台为网桥IP。
  • " +"✯启用透明网桥后软路由上的一些功能会失效,如:Full Cone、多拨等。
  • " +"✯关闭后恢复插件安装时的网络设置,WEB控制台恢复为原始设置的IP。
  • " diff --git a/.github/diy/packages/luci-app-bridge/root/etc/config/bridge b/.github/diy/packages/luci-app-bridge/root/etc/config/bridge new file mode 100644 index 000000000..0a880df32 --- /dev/null +++ b/.github/diy/packages/luci-app-bridge/root/etc/config/bridge @@ -0,0 +1,6 @@ + +config bridge 'bridge' + option gateway '192.168.1.1' + option ipaddr '192.168.1.2' + option netmask '255.255.255.0' + diff --git a/.github/diy/packages/luci-app-bridge/root/etc/init.d/bridge b/.github/diy/packages/luci-app-bridge/root/etc/init.d/bridge new file mode 100644 index 000000000..3af9c4065 --- /dev/null +++ b/.github/diy/packages/luci-app-bridge/root/etc/init.d/bridge @@ -0,0 +1,124 @@ +#!/bin/sh /etc/rc.common + +START=99 + +run_bridge() +{ + config_get enabled $1 enabled + config_get gateway $1 gateway + config_get ipaddr $1 ipaddr + config_get netmask $1 netmask + config_get network $1 network + + ipv6=$(uci get network.globals.ula_prefix) + if=$(cat /etc/config/network | wc -l) + + if [ "$enabled" = "1" ]; then + + #防止重复配置 + a=$(uci get network.bridge.device | sed 's/ /\n/g' |wc -l) + b=$(uci get network.bridge.ipaddr) + c=$(uci get network.bridge.netmask) + d=$(uci get network.bridge.gateway) + e=$(ls /sys/class/net | grep "eth" | wc -l) + + if [ "$a" = "$network" ] || [ "$a" = "$e" ] && [ "$network" = "" ] || [ "$a" = "$network" ]; then + f=yes + else + f=no + fi + + if [ "$b" = "$ipaddr" ] && [ "$c" = "$netmask" ] && [ "$d" = "$gateway" ] && [ "$f" = "yes" ]; then + break; + else + + #模拟输入 + if [ "$network" = "0" ] || [ "$network" = "" ]; then + eth=$(ls /sys/class/net | grep "eth" | tr '\n' ' ' | sed 's/[ ]*$//g') + else + eth=$(ETH $network | tr '\n' ' ' | sed 's/[ ]*$//g') + fi + + #备份配置 + if [ ! -f "/etc/bridge/firewall" ]; then + mkdir /etc/bridge + cp /etc/config/network /etc/bridge/network + cp /etc/config/firewall /etc/bridge/firewall + + fi + + #清空配置 + cat /dev/null> /etc/config/network + cat /dev/null> /etc/config/firewall + + #写入network网络接口 + uci set network.loopback=interface + uci set network.loopback.device=lo + uci set network.loopback.proto=static + uci set network.loopback.ipaddr=127.0.0.1 + uci set network.loopback.netmask=255.0.0.0 + uci set network.globals=globals + uci set network.globals.ula_prefix=$ipv6 + uci set network.bridge=interface + uci set network.bridge.type='bridge' + uci set network.bridge.device="$eth" + uci set network.bridge.proto='static' + uci set network.bridge.ipaddr=$ipaddr + uci set network.bridge.netmask=$netmask + uci set network.bridge.gateway=$gateway + uci set network.bridge.dns=$gateway + uci set network.bridge.force_link='0' + uci commit network + + #写入firewall防火墙 + uci add firewall zone + uci set firewall.@zone[0].input=ACCEPT + uci set firewall.@zone[0].output=ACCEPT + uci set firewall.@zone[0].forward=ACCEPT + uci set firewall.@zone[0].conntrack=1 + uci set firewall.@zone[0].mtu_fix=1 + uci set firewall.@zone[0].name=bridge + uci set firewall.@zone[0].network=bridge + uci commit firewall + + #重启网络DNS服务与防火墙 + /etc/init.d/network reload 2>/dev/null & + /etc/init.d/dnsmasq reload 2>/dev/null & + /etc/init.d/firewall reload 2>/dev/null & + + fi + + else + + #恢复配置&删除备份 + if [ -f "/etc/bridge/firewall" ]; then + cp /etc/bridge/network /etc/config/network + cp /etc/bridge/firewall /etc/config/firewall + rm -rf /etc/bridge + + #重启网络DNS服务与防火墙 + /etc/init.d/network reload 2>/dev/null & + /etc/init.d/dnsmasq reload 2>/dev/null & + /etc/init.d/firewall reload 2>/dev/null & + fi + + fi +} + +ETH() +{ + eth=0 + while [ $eth -le $(expr "$1" - 1) ] + do + eth=`expr $eth + 1` + a=`expr $eth - 1` + echo "eth$a" + done +} + +start() +{ + config_load bridge + config_foreach run_bridge bridge +} + diff --git a/.github/diy/packages/luci-app-bridge/root/etc/uci-defaults/bridge b/.github/diy/packages/luci-app-bridge/root/etc/uci-defaults/bridge new file mode 100644 index 000000000..1fe6627cd --- /dev/null +++ b/.github/diy/packages/luci-app-bridge/root/etc/uci-defaults/bridge @@ -0,0 +1,15 @@ +#!/bin/sh + +[ ! -f "/usr/share/ucitrack/luci-app-bridge.json" ] && { + cat > /usr/share/ucitrack/luci-app-bridge.json << EEOF +{ + "config": "bridge", + "init": "bridge" +} +EEOF +} + +chmod +x /etc/init.d/bridge + +rm -f /tmp/luci-indexcache +exit 0 diff --git a/.github/diy/packages/luci-app-kodexplorer/root/etc/kodexplorer/nginx.server.conf.template b/.github/diy/packages/luci-app-kodexplorer/root/etc/kodexplorer/nginx.server.conf.template new file mode 100644 index 000000000..61ad13334 --- /dev/null +++ b/.github/diy/packages/luci-app-kodexplorer/root/etc/kodexplorer/nginx.server.conf.template @@ -0,0 +1,26 @@ + + server { + listen |PORT|; + listen [::]:|PORT|; + |ssl_certificate| + |ssl_certificate_key| + ssl_session_timeout 5m; + ssl_ciphers HIGH:!aNULL:!MD5; + ssl_prefer_server_ciphers on; + server_name localhost; + root |project_directory|; + index index.html index.htm index.php; + location ~ \.php(.*)$ { + fastcgi_pass unix:|SOCK|; # 通过 Unix 套接字执行 PHP + fastcgi_index index.php; + fastcgi_split_path_info ^(.+\.php)(.*)$; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 修复 Nginx fastcgi 漏洞 + fastcgi_param PATH_INFO $fastcgi_path_info; + include /etc/nginx/fastcgi_params; + client_max_body_size |upload_max_filesize|; + client_body_timeout 3600s; + fastcgi_connect_timeout 3600s; + fastcgi_send_timeout 3600s; + fastcgi_read_timeout 3600s; + } + } diff --git a/.github/diy/packages/luci-app-log/po/zh_Hans/log-viewer.po b/.github/diy/packages/luci-app-log/po/zh_Hans/log-viewer.po new file mode 100644 index 000000000..dc8cfc0e4 --- /dev/null +++ b/.github/diy/packages/luci-app-log/po/zh_Hans/log-viewer.po @@ -0,0 +1,122 @@ +msgid "Alert" +msgstr "警报" + +msgid "All" +msgstr "全部" + +msgid "All entries" +msgstr "所有条目" + +msgid "Apply" +msgstr "应用" + +msgid "Apply message filter as regular expression" +msgstr "将消息过滤器应用为正则表达式" + +msgid "Apply timestamp filter as regular expression" +msgstr "将时间戳过滤器应用为正则表达式" + +msgid "Auto refresh" +msgstr "自动刷新" + +msgid "Convert timestamps to a human readable date" +msgstr "将时间戳转换为人类可读的日期" + +msgid "Date" +msgstr "日期" + +msgid "Dismiss" +msgstr "关闭" + +msgid "Download log" +msgstr "下载日志" + +msgid "Edit" +msgstr "编辑" + +msgid "Entries" +msgstr "条目" + +msgid "Facility" +msgstr "模块" + +msgid "Facilities" +msgstr "模块" + +msgid "Filter is regexp" +msgstr "过滤器是正则表达式" + +msgid "Filter settings" +msgstr "过滤设置" + +msgid "Host" +msgstr "主机" + +msgid "Hosts" +msgstr "主机" + +msgid "Invalid regular expression" +msgstr "无效的正则表达式" + +msgid "Kernel Log" +msgstr "内核日志" + +msgid "Last entries" +msgstr "显示最新条目数" + +msgid "Level" +msgstr "级别" + +msgid "Log" +msgstr "日志" + +msgid "Log Viewer" +msgstr "系统日志" + +msgid "Logging levels" +msgstr "日志级别" + +msgid "Logread not found" +msgstr "未找到 Logread" + +msgid "Message" +msgstr "消息" + +msgid "Message filter" +msgstr "消息过滤器" + +msgid "More entries" +msgstr "更多条目" + +msgid "No entries available..." +msgstr "没有可用条目..." + +msgid "Refresh log" +msgstr "刷新日志" + +msgid "Sorting entries" +msgstr "排序条目" + +msgid "System Log" +msgstr "系统日志" + +msgid "Timestamp" +msgstr "时间" + +msgid "Timestamp filter" +msgstr "时间过滤器" + +msgid "Type a search pattern..." +msgstr "输入搜索模式..." + +msgid "Unable to load log data:" +msgstr "无法加载日志数据:" + +msgid "Unsupported log format" +msgstr "不支持的日志格式" + +msgid "ascending" +msgstr "升序" + +msgid "descending" +msgstr "降序" diff --git a/.github/diy/packages/luci-app-log/root/etc/uci-defaults/luci-log b/.github/diy/packages/luci-app-log/root/etc/uci-defaults/luci-log new file mode 100644 index 000000000..9f5f23495 --- /dev/null +++ b/.github/diy/packages/luci-app-log/root/etc/uci-defaults/luci-log @@ -0,0 +1,5 @@ +#!/bin/sh + +sed -i "s/luci-mod-status-logs/luci-mod-status-log/" /usr/share/luci/menu.d/luci-mod-status.json + +exit 0 diff --git a/.github/diy/packages/luci-app-partexp/root/etc/hotplug.d/block/05-partexp b/.github/diy/packages/luci-app-partexp/root/etc/hotplug.d/block/05-partexp new file mode 100644 index 000000000..43ddd6937 --- /dev/null +++ b/.github/diy/packages/luci-app-partexp/root/etc/hotplug.d/block/05-partexp @@ -0,0 +1,9 @@ +[ "$ACTION" = "add" ] && { + [ "$(uci -q get partexp.global.target_disk)" ] || { + target_disk="$(lsblk -o NAME | grep sd | grep -v "[0-9]" | tail -n 1)" + [ "$(block info | grep "$target_disk" | grep "kernel")" ] || { + uci -q set partexp.global.target_disk="$target_disk" + uci commit partexp + } + } +} diff --git a/.github/diy/packages/luci-app-pptpd/Makefile.k b/.github/diy/packages/luci-app-pptpd/Makefile.k new file mode 100644 index 000000000..911b96f47 --- /dev/null +++ b/.github/diy/packages/luci-app-pptpd/Makefile.k @@ -0,0 +1,16 @@ +# +# Copyright (C) 2008-2014 The LuCI Team +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=LuCI page for PPTP VPN Server +LUCI_DEPENDS:=+pptpd +kmod-mppe +ipset + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature + + diff --git a/.github/diy/packages/luci-app-pptpd/Readme.txt b/.github/diy/packages/luci-app-pptpd/Readme.txt new file mode 100644 index 000000000..d36c33c57 --- /dev/null +++ b/.github/diy/packages/luci-app-pptpd/Readme.txt @@ -0,0 +1,21 @@ +Ìí¼ÓÈçÏ´úÂ뵽/feeds/luci.index + + +Source-Makefile: feeds/luci/applications/luci-app-pptpd/Makefile +Package: luci-app-pptpd +Submenu: 3. Applications +Version: x-1 +Depends: +libc +SSP_SUPPORT:libssp +USE_GLIBC:librt +USE_GLIBC:libpthread +pptpd +kmod-mppe +ipset +Conflicts: +Menu-Depends: +Provides: +Build-Depends: lua/host luci-base/host +Section: luci +Category: LuCI +Title: LuCI page for PPTP VPN Server +Maintainer: +Source: +Type: ipkg +Description: LuCI page for PPTP VPN Server + +@@ diff --git a/.github/diy/packages/luci-app-pptpd/luasrc/controller/pptpd.lua b/.github/diy/packages/luci-app-pptpd/luasrc/controller/pptpd.lua new file mode 100644 index 000000000..660bffc67 --- /dev/null +++ b/.github/diy/packages/luci-app-pptpd/luasrc/controller/pptpd.lua @@ -0,0 +1,38 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2008 Steven Barth +Copyright 2014 HackPascal + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +$Id$ +]]-- + +module("luci.controller.pptpd", package.seeall) + +function index() + if not nixio.fs.access("/etc/config/pptpd") then + return + end + + entry({"admin", "services", "pptpd"}, + alias("admin", "services", "pptpd", "settings"), + _("VPN Server"), 60) + + entry({"admin", "services", "pptpd", "settings"}, + cbi("pptpd/settings"), + _("General Settings"), 10).leaf = true + + entry({"admin", "services", "pptpd", "users"}, + cbi("pptpd/users"), + _("Users Manager"), 20).leaf = true + + entry({"admin", "services", "pptpd", "online"}, + cbi("pptpd/online"), + _("Online Users"), 30).leaf = true +end diff --git a/.github/diy/packages/luci-app-pptpd/luasrc/model/cbi/pptpd/online.lua b/.github/diy/packages/luci-app-pptpd/luasrc/model/cbi/pptpd/online.lua new file mode 100644 index 000000000..ec9b506e1 --- /dev/null +++ b/.github/diy/packages/luci-app-pptpd/luasrc/model/cbi/pptpd/online.lua @@ -0,0 +1,100 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2008 Steven Barth +Copyright 2014 HackPascal + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +$Id$ +]]-- + +local data = {} +local ds = require "luci.dispatcher" +local ps = luci.util.execi("/bin/busybox top -bn1 | grep '/usr/sbin/pppd'") +for line in ps do + local pid, ppid, speed, gateway, vip, cip = line:match( + "^ *(%d+) +(%d+) +.+options%.pptpd +(%d+) +(%S.-%S)%:(%S.-%S) +.+ +(.+)" + ) + + local idx = tonumber(pid) + if idx then + data["%02i.%s" % { idx, "online" }] = { + ['PID'] = pid, + ['PPID'] = ppid, + ['SPEED'] = speed, + ['GATEWAY'] = gateway, + ['VIP'] = vip, + ['CIP'] = cip, + ['BLACKLIST'] = 0 + } + end +end + +-- local ps = luci.util.execi("sed -n '/## pptpd-blacklist-/p' /etc/firewall.user") +local ps = luci.util.execi("sed = /etc/firewall.user | sed 'N;s/\\n/:/'") +for line in ps do + local idx, ip = line:match( + "^ *(%d+)%:.+%#%# pptpd%-blacklist%-(.+)" + ) + + local idx = tonumber(idx) + if idx then + data["%02i.%s" % { idx, "blacklist" }] = { + ['PID'] = "-1", + ['PPID'] = "-1", + ['SPEED'] = "-1", + ['GATEWAY'] = "-", + ['VIP'] = "-", + ['CIP'] = ip, + ['BLACKLIST'] = 1 + } + end +end + +f = SimpleForm("processes") +f.reset = false +f.submit = false + +t = f:section(Table, data, translate("Online Users")) +t:option(DummyValue, "GATEWAY", translate("Server IP")) +t:option(DummyValue, "VIP", translate("Client IP")) +t:option(DummyValue, "CIP", translate("IP address")) + +blacklist = t:option(Button, "_blacklist", translate("Blacklist")) +function blacklist.render(self, section, scope) + if self.map:get(section, "BLACKLIST")==0 then + self.title = translate("Add to Blacklist") + self.inputstyle = "remove" + else + self.title = translate("Remove from Blacklist") + self.inputstyle = "apply" + end + + Button.render(self, section, scope) +end +function blacklist.write(self, section) + local CIP = self.map:get(section, "CIP") + if self.map:get(section, "BLACKLIST")==0 then + luci.util.execi("echo 'iptables -A input_rule -s %s -p tcp --dport 1723 -j DROP ## pptpd-blacklist-%s' >> /etc/firewall.user" % { CIP, CIP }) + luci.util.execi("iptables -A input_rule -s %s -p tcp --dport 1723 -j DROP" % { CIP }) + null, self.tag_error[section] = luci.sys.process.signal(self.map:get(section, "PID"), 9) + else + luci.util.execi("sed -i -e '/## pptpd-blacklist-%s/d' /etc/firewall.user" % { CIP }) + luci.util.execi("iptables -D input_rule -s %s -p tcp --dport 1723 -j DROP" % { CIP }) + end + luci.http.redirect(ds.build_url("admin/services/pptpd/online")) +end + +kill = t:option(Button, "_kill", translate("Forced offline")) +kill.inputstyle = "reset" +function kill.write(self, section) + null, self.tag_error[section] = luci.sys.process.signal(self.map:get(section, "PID"), 9) + luci.http.redirect(ds.build_url("admin/services/pptpd/online")) +end + +return f diff --git a/.github/diy/packages/luci-app-pptpd/luasrc/model/cbi/pptpd/settings.lua b/.github/diy/packages/luci-app-pptpd/luasrc/model/cbi/pptpd/settings.lua new file mode 100644 index 000000000..3a2adf10e --- /dev/null +++ b/.github/diy/packages/luci-app-pptpd/luasrc/model/cbi/pptpd/settings.lua @@ -0,0 +1,63 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2008 Steven Barth +Copyright 2014 HackPascal + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +$Id$ +]]-- + +m = Map("pptpd") + +s = m:section(TypedSection, "service", translate("General settings")) +s.anonymous = true + +o = s:option(Flag, "enabled", translate("Enable VPN Server")) +o.rmempty = false +function o.write(self, section, value) + if value == "1" then + luci.sys.init.enable("pptpd") + luci.sys.call("/etc/init.d/pptpd start >/dev/null") + else + luci.sys.call("/etc/init.d/pptpd stop >/dev/null") + luci.sys.init.disable("pptpd") + end + return Flag.write(self, section, value) +end + +o = s:option(Value, "localip", translate("Server IP"), translate("VPN Server IP address, it not required.")) +o.datatype = "ipaddr" +o.placeholder = translate("10.0.0.1") +o.rmempty = true +o.default = "" + +o = s:option(Value, "remoteip", translate("Client IP"), translate("VPN Client IP address, it not required.")) +o.placeholder = translate("10.0.0.2-254") +o.rmempty = true +o.default = "" + +o = s:option(DynamicList, "dns", translate("DNS IP address"), translate("This will be sent to the client, it not required.")) +o.placeholder = translate("8.8.8.8") +o.datatype = "ipaddr" +--[[ +function o.write(self, section, value) + luci.sys.call("echo xiaopiao $value >> /tmp/xiaopiao") +end +]]-- + +o = s:option(Flag, "mppe", translate("Enable MPPE Encryption"), translate("Allows 128-bit encrypted connection.")) +o.rmempty = false + +o = s:option(Flag, "nat", translate("Enable NAT Forward"), translate("Allows forwarding traffic.")) +o.rmempty = false + +o = s:option(Flag, "internet", translate("Enable remote service"), translate("Allows remote computers on the Internet to connect to VPN Server.")) +o.rmempty = false + +return m diff --git a/.github/diy/packages/luci-app-pptpd/luasrc/model/cbi/pptpd/users.lua b/.github/diy/packages/luci-app-pptpd/luasrc/model/cbi/pptpd/users.lua new file mode 100644 index 000000000..b53224027 --- /dev/null +++ b/.github/diy/packages/luci-app-pptpd/luasrc/model/cbi/pptpd/users.lua @@ -0,0 +1,49 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2008 Steven Barth +Copyright 2014 HackPascal + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +$Id$ +]]-- + +m = Map("pptpd") + +s = m:section(TypedSection, "login", translate("Users Manager")) +s.addremove = true +s.anonymous = true +s.template = "cbi/tblsection" + +o = s:option(Flag, "enabled", translate("Enabled")) +o.rmempty = false + +o = s:option(Value, "username", translate("User name")) +o.placeholder = translate("User name") +o.rmempty = true + +o = s:option(Value, "password", translate("Password")) +o.password = true +o.rmempty = true + +-- DummyValue +o = s:option(Value, "ipaddress", translate("IP address")) +o.placeholder = translate("Automatically") +o.datatype = "ipaddr" +-- o.value = translate("Automatically (No support)") +o.rmempty = true +function o.cfgvalue(self, section) + value = self.map:get(section, "ipaddress") + return value=="*" and "" or value +end +function o.remove(self, section) + Value.write(self, section, "*") + --luci.sys.call("/etc/init.d/pptpd restart >/dev/null") +end + +return m diff --git a/.github/diy/packages/luci-app-pptpd/po/zh-cn/pptpd.po b/.github/diy/packages/luci-app-pptpd/po/zh-cn/pptpd.po new file mode 100644 index 000000000..2b097f1ee --- /dev/null +++ b/.github/diy/packages/luci-app-pptpd/po/zh-cn/pptpd.po @@ -0,0 +1,87 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2015-05-13\n" +"Last-Translator: ming1054\n" +"Language-Team: none\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Pootle 2.0.6\n" + +msgid "Users Manager" +msgstr "用户管理" + +msgid "Enabled" +msgstr "启用" + +msgid "User name" +msgstr "用户名" + +msgid "Password" +msgstr "密码" + +msgid "IP address" +msgstr "IP 地址" + +msgid "Automatically" +msgstr "自动分配" + +msgid "General settings" +msgstr "基本设置" + +msgid "Enable VPN Server" +msgstr "启用 VPN 服务器" + +msgid "Server IP" +msgstr "服务器 IP 地址" + +msgid "VPN Server IP address, it not required." +msgstr "VPN 服务器远程地址,留空将自动设置。" + +msgid "Client IP" +msgstr "客户端 IP 地址" + +msgid "VPN Client IP address, it not required." +msgstr "分配给客户端的 IP 地址范围,留空将自动设置。" + +msgid "DNS IP address" +msgstr "DNS IP 地址" + +msgid "This will be sent to the client, it not required." +msgstr "设置 VPN 服务器默认 DNS 服务器,该设置非必须。" + +msgid "Enable MPPE Encryption" +msgstr "启用MPPE 加密" + +msgid "Allows 128-bit encrypted connection." +msgstr "允许使用 128 位加密连接。" + +msgid "Enable NAT Forward" +msgstr "启用 NAT 转发" + +msgid "Allows forwarding traffic." +msgstr "允许转发流量" + +msgid "Enable remote service" +msgstr "启用远程服务" + +msgid "Allows remote computers on the Internet to connect to VPN Server." +msgstr "允许远程计算机通过互联网连接到此 VPN 服务器。" + +msgid "Online Users" +msgstr "在线用户" + +msgid "Blacklist" +msgstr "黑名单" + +msgid "Add to Blacklist" +msgstr "加入黑名单" + +msgid "Remove from Blacklist" +msgstr "从黑名单中移除" + +msgid "Forced offline" +msgstr "强制下线" diff --git a/.github/diy/packages/luci-app-pptpd/root/etc/config/pptpd b/.github/diy/packages/luci-app-pptpd/root/etc/config/pptpd new file mode 100644 index 000000000..3a12098b9 --- /dev/null +++ b/.github/diy/packages/luci-app-pptpd/root/etc/config/pptpd @@ -0,0 +1,16 @@ + +config service 'pptpd' + option localip '10.0.0.1' + option remoteip '10.0.0.2-254' + option nat '1' + option internet '1' + list dns '114.114.114.114' + option mppe '1' + option enabled '0' + +config login + option enabled '1' + option ipaddress '*' + option username 'username' + option password 'password' + diff --git a/.github/diy/packages/luci-app-pptpd/root/etc/init.d/pptpd b/.github/diy/packages/luci-app-pptpd/root/etc/init.d/pptpd new file mode 100644 index 000000000..383abc286 --- /dev/null +++ b/.github/diy/packages/luci-app-pptpd/root/etc/init.d/pptpd @@ -0,0 +1,102 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006 OpenWrt.org + +START=60 +BIN=/usr/sbin/pptpd +DEFAULT=/etc/default/$BIN +RUN_D=/var/run +PID_F=$RUN_D/$BIN.pid +CONFIG=/var/etc/pptpd.conf +CHAP_SECRETS=/var/etc/chap-secrets + +setup_dns() { + [ -n "$1" ] || return 0 + echo ms-dns $1>>/etc/ppp/options.pptpd +} +setup_login() { + local section="$1" + + ## Code by VPN Server ## + config_get enabled "$section" enabled + [ "$enabled" -eq 0 ] && return 0 + + config_get ipaddress "$section" ipaddress + [ -n "$ipaddress" ] || local ipaddress = "*" + ## Code by VPN Server ## + + config_get username "$section" username + config_get password "$section" password + [ -n "$username" ] || return 0 + [ -n "$password" ] || return 0 + + echo "$username * $password $ipaddress" >> $CHAP_SECRETS + ## echo "$username pptp-server $password *" >> $CHAP_SECRETS +} + +setup_config() { + local section="$1" + + config_get enabled "$section" enabled + [ "$enabled" -eq 0 ] && return 1 + + mkdir -p /var/etc + cp /etc/pptpd.conf $CONFIG + + config_get localip "$section" localip + config_get remoteip "$section" remoteip + [ -n "$localip" ] && echo "localip $localip" >> $CONFIG + [ -n "$remoteip" ] && echo "remoteip $remoteip" >> $CONFIG + + ## Code by VPN Server ## + config_get nat "$section" nat + config_get internet "$section" internet + echo Update firewall ... + sed -i -e "/## luci-app-pptpd/d" /etc/firewall.user + if [ "$nat" -eq 1 ]; then + echo "iptables -A forwarding_rule -s ${localip%.*}.0/24 -j ACCEPT ## luci-app-pptpd" >> /etc/firewall.user + echo Update NAT rule ... + fi + if [ "$internet" -eq 1 ]; then + echo "iptables -A input_rule -i ppp+ -p tcp -m tcp --dport 1723 -j ACCEPT ## luci-app-pptpd" >> /etc/firewall.user + echo "iptables -A input_rule -i ppp+ -p gre -j ACCEPT ## luci-app-pptpd" >> /etc/firewall.user + echo Update input rule ... + fi + fw3 restart + config_get mppe "$section" mppe + sed -i -e 's/#*mppe/mppe/g' /etc/ppp/options.pptpd + if [ "$mppe" -eq 0 ]; then + sed -i -e 's/mppe/#mppe/g' /etc/ppp/options.pptpd + fi + sed -i -e '/ms-dns/d' /etc/ppp/options.pptpd + config_list_foreach "pptpd" "dns" setup_dns + ## Code by VPN Server ## + + return 0 +} + +start_pptpd() { + [ -f $DEFAULT ] && . $DEFAULT + mkdir -p $RUN_D + for m in arc4 sha1_generic slhc crc-ccitt ppp_generic ppp_async ppp_mppe; do + insmod $m >/dev/null 2>&1 + done + ln -sfn $CHAP_SECRETS /etc/ppp/chap-secrets + service_start $BIN $OPTIONS -c $CONFIG +} + +start() { + config_load pptpd + setup_config pptpd || return + rm -f $CHAP_SECRETS + config_foreach setup_login login + start_pptpd +} + +stop() { + service_stop $BIN + + ## Code by VPN Server ## + sed -i -e "/## luci-app-pptpd/d" /etc/firewall.user + fw3 restart + ## Code by VPN Server ## +} diff --git a/.github/diy/packages/luci-app-pptpd/root/etc/ppp/options.pptpd b/.github/diy/packages/luci-app-pptpd/root/etc/ppp/options.pptpd new file mode 100644 index 000000000..3b356b496 --- /dev/null +++ b/.github/diy/packages/luci-app-pptpd/root/etc/ppp/options.pptpd @@ -0,0 +1,22 @@ +#debug +#logfile /tmp/pptp-server.log +auth +name "pptp-server" +lcp-echo-failure 3 +lcp-echo-interval 60 +default-asyncmap +mtu 1482 +mru 1482 +nobsdcomp +nodeflate +proxyarp +#nomppc +#mppe required,no40,no56,stateless +require-mschap-v2 +refuse-chap +refuse-mschap +refuse-eap +refuse-pap +#plugin radius.so +#radius-config-file /etc/radius.conf +ms-dns 114.114.114.114 diff --git a/.github/diy/packages/luci-app-pptpd/root/etc/uci-defaults/luci-pptpd b/.github/diy/packages/luci-app-pptpd/root/etc/uci-defaults/luci-pptpd new file mode 100644 index 000000000..3a593b890 --- /dev/null +++ b/.github/diy/packages/luci-app-pptpd/root/etc/uci-defaults/luci-pptpd @@ -0,0 +1,14 @@ +#!/bin/sh + +[ ! -f "/usr/share/ucitrack/luci-app-pptpd.json" ] && { + cat > /usr/share/ucitrack/luci-app-pptpd.json << EEOF +{ + "config": "pptpd", + "init": "pptpd" +} +EEOF +} + +chmod +x /etc/init.d/pptpd +rm -f /tmp/luci-indexcahe +exit 0 diff --git a/.github/diy/packages/luci-app-public-ip-monitor/po/zh_Hans/public_ip_monitor.po b/.github/diy/packages/luci-app-public-ip-monitor/po/zh_Hans/public_ip_monitor.po new file mode 100644 index 000000000..7edd900ae --- /dev/null +++ b/.github/diy/packages/luci-app-public-ip-monitor/po/zh_Hans/public_ip_monitor.po @@ -0,0 +1,151 @@ +msgstr "Content-Type: text/plain; charset=UTF-8" + +#: public_ip_monitor.js:64 public_ip_monitor.js:72 +msgid "From" +msgstr "从" + +#: public_ip_monitor.js:261 +msgid "General Settings" +msgstr "常规设置" + +#: public_ip_monitor.js:312 +msgid "History Location" +msgstr "历史记录位置" + +#: public_ip_monitor.js:321 +msgid "IPv4" +msgstr "IPv4" + +#: public_ip_monitor.js:276 +msgid "IPv4 Check Interval" +msgstr "IPv4 检查间隔" + +#: public_ip_monitor.js:129 +msgid "IPv4 Script" +msgstr "IPv4 脚本" + +#: public_ip_monitor.js:282 +msgid "IPv4 Script Location" +msgstr "IPv4 脚本位置" + +#: public_ip_monitor.js:270 +msgid "IPv4 Service" +msgstr "IPv4 服务" + +#: public_ip_monitor.js:325 +msgid "IPv6" +msgstr "IPv6" + +#: public_ip_monitor.js:300 +msgid "IPv6 Check Interval" +msgstr "IPv6 检查间隔" + +#: public_ip_monitor.js:137 +msgid "IPv6 Script" +msgstr "IPv6 脚本" + +#: public_ip_monitor.js:306 +msgid "IPv6 Script Location" +msgstr "IPv6 脚本位置" + +#: public_ip_monitor.js:294 +msgid "IPv6 Service" +msgstr "IPv6 服务" + +#: public_ip_monitor.js:264 +msgid "Monitor IPv4" +msgstr "监控 IPv4" + +#: public_ip_monitor.js:288 +msgid "Monitor IPv6" +msgstr "监控 IPv6" + +#: public_ip_monitor.js:264 +msgid "Monitor if there your public ipv4 address." +msgstr "监控您的公网 IPv4 地址。" + +#: public_ip_monitor.js:288 +msgid "Monitor if there your public ipv6 address." +msgstr "监控您的公网 IPv6 地址。" + +#: public_ip_monitor.js:97 +#: public_ip_monitor.js:28 public_ip_monitor.js:29 public_ip_monitor.js:46 +#: public_ip_monitor.js:47 public_ip_monitor.js:48 public_ip_monitor.js:91 +msgid "N/A" +msgstr "不可用" + +#: public_ip_monitor.js:78 public_ip_monitor.js:82 +msgid "No entries available" +msgstr "无可用条目" + +#: public_ip_monitor.js:91 public_ip_monitor.js:97 +msgid "Not monitored" +msgstr "未监控" + +#: public_ip_monitor.js:257 +msgid "Overview" +msgstr "概览" + +#: public_ip_monitor.js:252 +msgid "Public IP Monitor" +msgstr "公网 IP 监控" + +#: public_ip_monitor.js:107 +msgid "Public IPv4 Change History" +msgstr "公网 IPv4 变更历史" + +#: public_ip_monitor.js:88 +msgid "Public IPv4:" +msgstr "公网 IPv4:" + +#: public_ip_monitor.js:116 +msgid "Public IPv6 Change History" +msgstr "公网 IPv6 变更历史" + +#: public_ip_monitor.js:94 +msgid "Public IPv6:" +msgstr "公网 IPv6:" + +#: public_ip_monitor.js:130 +msgid "Script to run when the public IPv4 changes, use $1 to retrieve the new IPv4 inside the script." +msgstr "当公网 IPv4 发生变化时运行的脚本,使用 $1 在脚本中获取新的 IPv4。" + +#: public_ip_monitor.js:138 +msgid "Script to run when the public IPv6 changes, use $1 to retrieve the new IPv6 inside the script." +msgstr "当公网 IPv6 发生变化时运行的脚本,使用 $1 在脚本中获取新的 IPv6。" + +#: public_ip_monitor.js:276 public_ip_monitor.js:300 +msgid "The interval in seconds which we will retrieve data from the service." +msgstr "从服务获取数据的时间间隔(秒)。" + +#: public_ip_monitor.js:282 +msgid "The location of the IPv4 on change script to be triggered, use $1 to get the new IPv4 as input." +msgstr "IPv4 变更时触发的脚本位置,使用 $1 获取新的 IPv4 作为输入。" + +#: public_ip_monitor.js:306 +msgid "The location of the IPv6 on change script to be triggered, use $1 to get the new IPv6 as input." +msgstr "IPv6 变更时触发的脚本位置,使用 $1 获取新的 IPv6 作为输入。" + +#: public_ip_monitor.js:312 +msgid "The location the IPv4 and IPv6 history is stored." +msgstr "IPv4 和 IPv6 历史记录的存储位置。" + +#: public_ip_monitor.js:270 +msgid "The service that we can retrieve the public IPv4." +msgstr "可以获取公网 IPv4 的服务。" + +#: public_ip_monitor.js:294 +msgid "The service that we can retrieve the public IPv6." +msgstr "可以获取公网 IPv6 的服务。" + +#: public_ip_monitor.js:253 +msgid "This monitors changes on the internet-facing public IP and trigger tasks when a change occurs." +msgstr "监控互联网公网 IP 的变化,并在发生变化时触发任务。" + +#: public_ip_monitor.js:63 public_ip_monitor.js:71 +msgid "Timestamp" +msgstr "时间戳" + +#: public_ip_monitor.js:65 public_ip_monitor.js:73 +msgid "To" +msgstr "到" diff --git a/.github/diy/packages/luci-app-transmission/root/etc/uci-defaults/luci-transmission b/.github/diy/packages/luci-app-transmission/root/etc/uci-defaults/luci-transmission new file mode 100644 index 000000000..5f8bfe9fa --- /dev/null +++ b/.github/diy/packages/luci-app-transmission/root/etc/uci-defaults/luci-transmission @@ -0,0 +1,4 @@ + +sed -i "s/reload_service(/reload_service1(/" /etc/init.d/transmission + +exit 0 diff --git a/.github/diy/packages/luci-app-xray/po/zh_Hans/xray.zh-cn.po b/.github/diy/packages/luci-app-xray/po/zh_Hans/xray.zh-cn.po new file mode 100644 index 000000000..078225b47 --- /dev/null +++ b/.github/diy/packages/luci-app-xray/po/zh_Hans/xray.zh-cn.po @@ -0,0 +1,798 @@ +msgid "" +msgstr "" +"Project-Id-Version: 2.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-12-09 19:09+0080\n" +"PO-Revision-Date: 2025-03-01 13:22+0080\n" +"Last-Translator: xiechangan123\n" +"Language: zh-cn\n" +"Plural-Forms: nplurals=2; plural=n!=1;\n" +"MIME-Version: 1.1\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" +"\n" +"X-Loco-Source-Locale: zh_CN\n" +"X-Loco-Parser: loco_parse_po\n" + +msgid "Xray" +msgstr "Xray" + +msgid "General Settings" +msgstr "通用设置" + +msgid "Xray Executable Path" +msgstr "Xray运行目录" + +msgid "Enable Xray Service" +msgstr "启用Xray服务" + +msgid "Uncheck this to disable the entire Xray service." +msgstr "取消选中禁用全部Xray服务。" + +msgid "TCP Server (IPv4)" +msgstr "TCP服务器(IPv4)" + +msgid "Select multiple outbound servers to enable load balancing. Select none to disable TCP Outbound." +msgstr "选择多个出站服务器以启用负载平衡,未设置将禁用TCP出站。" + +msgid "UDP Server (IPv4)" +msgstr "UDP服务器(IPv4)" + +msgid "Select multiple outbound servers to enable load balancing. Select none to disable UDP Outbound." +msgstr "选择多个出站服务器以启用负载平衡,未设置将禁用UDP出站。" + +msgid "TCP Server (IPv6)" +msgstr "TCP服务器(IPv6)" + +msgid "UDP Server (IPv6)" +msgstr "UDP服务器(IPv6)" + +msgid "Balancer Strategy" +msgstr "负载均衡器配置" + +msgid "Strategy leastPing requires observatory (see "Extra Options" tab) to be enabled." +msgstr "配置leastPing需要启用后台连接观测(参阅“扩展选项”选项卡)。" + +msgid "Enable Transparent Proxy" +msgstr "启用透明代理" + +msgid "This enables DNS query forwarding and TProxy for both TCP and UDP connections." +msgstr "启用TCP和UDP透明代理、DNS查询转发。" + +msgid "Enable Sniffing" +msgstr "启用域名嗅探" + +msgid "If sniffing is enabled, requests will be routed according to domain settings in \"DNS Settings\" tab." +msgstr "如果启用,DNS请求会按照DNS设置选项中的规则进行转发。" + +msgid "Bittorrent Direct" +msgstr "BT下载直连" + +msgid "If enabled, no bittorrent request will be forwarded through Xray." +msgstr "如果启用,BT下载请求不会被Xray转发。" + +msgid "Enable Xray API Service" +msgstr "启用Xray API服务" + +msgid "Xray API Service uses port 8080 and GRPC protocol. Also callable via xray api or ubus call xray. See here for help." +msgstr "使用8080端口和GRPC协议的Xray API服务,也可通过xray api或ubus call xray调用。参阅此处获取帮助。" + +msgid "Server List" +msgstr "服务器列表" + +msgid "Xray Servers" +msgstr "服务器列表" + +msgid "Servers are referenced by index (order in the following list). Deleting servers may result in changes of upstream servers actually used by proxy and bridge." +msgstr "服务器按索引引用(以列表中的顺序),删除服务器可能会导致代理和桥接使用的上游服务器发生更改。" + +msgid "Alias (optional)" +msgstr "别名(可选)" + +msgid "Server Hostname" +msgstr "服务器" + +msgid "Domain Strategy" +msgstr "域名策略" + +msgid "Server Port" +msgstr "端口" + +msgid "UserId / Password" +msgstr "UID/密码" + +msgid "Fill user_id for vmess / VLESS, or password for shadowsocks / trojan (also supports Xray UUID Mapping)" +msgstr "vmess/vless使用UID,shadowsocks/trojan使用密码(支持Xray UUID映射)。" + +msgid "Protocol Settings" +msgstr "协议设置" + +msgid "Protocol" +msgstr "协议" + +msgid "Encrypt Method" +msgstr "加密方式" + +msgid "AlterID" +msgstr "额外ID" + +msgid "Transport Settings" +msgstr "传输设置" + +msgid "Transport" +msgstr "传输方式" + +msgid "Fake Header Type" +msgstr "伪装报文类型" + +msgid "Dialer Proxy" +msgstr "拨号代理" + +msgid "Similar to ProxySettings.Tag" +msgstr "类似于出站代理配置" + +msgid "" +"Configurations here override settings in the previous tabs with the following rules: " +"
    1. Object values will be replaced recursively so settings in previous tabs matter.
    2. " +"
    3. Arrays will be replaced entirely instead of being merged.
    4. " +"
    5. Tag tag is ignored.
    Override rules here may be changed later. Use this only for experimental or pre-release features." +msgstr "" +"自定义配置使用以下规则覆盖先前选项卡中的设置:" +"
    1. 对象值将以递归方式替换,因此先前选项卡中的设置很重要。
    2. " +"
    3. 数组将被完全替换,而不是被合并。
    4. " +"
    5. 标签 tag 被忽略。
    覆盖规则可能会更改。仅将其用于实验性或预发布功能。" + +msgid "Host" +msgstr "主机名" + +msgid "Path" +msgstr "路径" + +msgid "Maximum Transmission Unit" +msgstr "最大传输单元(MTU)" + +msgid "Transmission Time Interval" +msgstr "传输间隔时间(TTL)" + +msgid "Uplink Capacity" +msgstr "上行容量(MB)" + +msgid "Downlink Capacity" +msgstr "下行容量(MB)" + +msgid "Read Buffer Size" +msgstr "读取缓冲大小" + +msgid "Write Buffer Size" +msgstr "写入缓冲大小" + +msgid "Congestion Control" +msgstr "拥塞控制" + +msgid "Seed" +msgstr "加密种子" + +msgid "Security" +msgstr "加密" + +msgid "Key" +msgstr "密钥" + +msgid "Service Name" +msgstr "服务名" + +msgid "Multi Mode" +msgstr "多路复用" + +msgid "Health Check" +msgstr "健康检查" + +msgid "Permit Without Stream" +msgstr "允许空载检查" + +msgid "Proxy Settings" +msgstr "代理设置" + +msgid "Transparent proxy port (TCP4)" +msgstr "TCP透明代理端口(TCP4)" + +msgid "Transparent proxy port (UDP4)" +msgstr "UDP透明代理端口(UDP4)" + +msgid "Transparent proxy port (TCP6)" +msgstr "TCP透明代理端口(TCP6)" + +msgid "Transparent proxy port (UDP6)" +msgstr "UDP透明代理端口(UDP6)" + +msgid "Socks5 proxy port" +msgstr "Socks5代理端口" + +msgid "HTTP proxy port" +msgstr "HTTP代理端口" + +msgid "Bypass tproxy for uids" +msgstr "绕过uid透明代理" + +msgid "Processes started by users with these uids won't be forwarded through Xray." +msgstr "使用uid(用户ID)启动的进程不会被Xray转发。" + +msgid "Bypass tproxy for gids" +msgstr "绕过gid透明代理" + +msgid "Processes started by users in groups with these gids won't be forwarded through Xray." +msgstr "使用gid(组ID)启动的进程不会被Xray转发。" + +msgid "Priority for firewall rules" +msgstr "防火墙规则优先级" + +msgid "See firewall status page for rules Xray used and Netfilter Internal Priority for reference." +msgstr "查看防火墙状态页以了解Xray使用的规则。参阅Netfilter Internal Priority获取帮助。" + +msgid "Xray DNS Server Port" +msgstr "DNS端口" + +msgid "Do not use port 53 (dnsmasq), port 5353 (mDNS) or other common ports" +msgstr "不要使用53(dnsmasq)和5353(mDNS)或其他常见端口。" + +msgid "Extra DNS Server Ports" +msgstr "额外DNS端口" + +msgid "" +"Listen for DNS Requests on multiple ports (all of which serves as dnsmasq " +"upstream servers).
    For example if Xray DNS Server Port is 5300 and use 3 " +"extra ports, 5300 - 5303 will be used for DNS requests.
    Increasing this " +"value may help reduce the possibility of temporary DNS lookup failures." +msgstr "" +"在多个端口上监听DNS请求(所有端口都用作dnsmasq上游服务器)。" +"
    例如Xray DNS服务器端口为5300并使用3个额外端口,则5300-5303将用于DNS请求。" +"
    添加额外端口可能有助于减少临时DNS查找失败的可能性。" + +msgid "Socket Mark Number" +msgstr "Socket标记号" + +msgid "Avoid proxy loopback problems with local (gateway) traffic" +msgstr "避免代理流量发送到网关。" + +msgid "Interfaces for tproxy" +msgstr "透明代理接口" + +msgid "Enable transparent proxy on these interfaces." +msgstr "在这些接口上启用透明代理" + +msgid "WARNING: These features are experimental, may cause a lot of problems and are not guaranteed to be compatible across minor versions." +msgstr "警告:这些功能是实验性的,可能会导致很多问题,无法保证跨次要版本兼容。" + +msgid "Inbounds" +msgstr "入站代理" + +msgid "Transparent proxy port (TCP4)" +msgstr "透明代理端口(TCP4)" + +msgid "Transparent proxy port (UDP4)" +msgstr "透明代理端口(UDP4)" + +msgid "Transparent proxy port (TCP6)" +msgstr "透明代理端口(TCP6)" + +msgid "Transparent proxy port (UDP6)" +msgstr "透明代理端口(UDP6)" + +msgid "Address Pool (IPv4)" +msgstr "地址池(IPv4)" + +msgid "Address Pool Size (IPv4)" +msgstr "地址池大小(IPv4)" + +msgid "Address Pool (IPv6)" +msgstr "地址池(IPv6)" + +msgid "Address Pool Size (IPv6)" +msgstr "地址池大小(IPv6)" + +msgid "FakeDNS Routing" +msgstr "FakeDNS路由" + +msgid "See FakeDNS for details." +msgstr "参阅FakeDNS获取帮助。" + +msgid "Extra Inbounds" +msgstr "扩展入站" + +msgid "Add more socks5 / http inbounds and redirect to other outbounds." +msgstr "添加更多socks5/http入站并重定向到其他出站。" + +msgid "Listen Address" +msgstr "监听地址" + +msgid "Inbound Type" +msgstr "入站类型" + +msgid "LAN Hosts Access Control" +msgstr "访问控制" + +msgid "Devices to enable IPv4 tproxy" +msgstr "启用IPv4透明代理的设备" + +msgid "Enable IPv4 transparent proxy on these interfaces / network devices." +msgstr "在这些接口/网络设备上启用IPv4透明代理。" + +msgid "Devices to enable IPv6 tproxy" +msgstr "启用IPv6透明代理的设备" + +msgid "Enable IPv6 transparent proxy on these interfaces / network devices." +msgstr "在这些接口/网络设备上启用IPv6透明代理。" + +msgid "Devices to disable IPv4 tproxy" +msgstr "禁用IPv4透明代理的设备" + +msgid "This overrides per-device settings below. FakeDNS and manual transparent proxy won't be affected by this option." +msgstr "这将覆盖下面的设备设置,FakeDNS和手动透明代理不会受到此选项的影响。" + +msgid "Devices to disable IPv6 tproxy" +msgstr "禁用IPv6透明代理的设备" + +msgid "Per-device settings here override per-interface enabling settings above. FakeDNS and manual transparent proxy won't be affected by these options." +msgstr "此处的设备设置将覆盖上述已启用接口设置,FakeDNS和手动透明代理不会受到这些选项的影响。" + +msgid "MAC Address" +msgstr "MAC地址" + +msgid "Extra inbound (TCP4)" +msgstr "扩展入站(TCP4)" + +msgid "Extra inbound (UDP4)" +msgstr "扩展入站(UDP4)" + +msgid "Extra inbound (TCP6)" +msgstr "扩展入站(TCP6)" + +msgid "Extra inbound (UDP6)" +msgstr "扩展入站(UDP6)" + +msgid "Dynamic Direct" +msgstr "动态直连" + +msgid "Access Control Strategy (IPv4)" +msgstr "访问控制策略(IPv4)" + +msgid "Access Control Strategy (IPv6)" +msgstr "访问控制策略(IPv6)" + +msgid "Enable for IPv4 TCP" +msgstr "启用IPv4 TCP" + +msgid "This should improve performance with large number of connections." +msgstr "应该可以提高大量连接的性能。" + +msgid "Enable for IPv4 UDP" +msgstr "启用IPv4 UDP" + +msgid "This may cause problems but worth a try." +msgstr "可能会出问题,但值得一试。" + +msgid "Enable for IPv6 TCP" +msgstr "启用IPv6 TCP" + +msgid "This may not be very useful but it should be good enough for a try." +msgstr "可能不是很有用,但应该足够好,值得一试。" + +msgid "Enable for IPv6 UDP" +msgstr "启用IPv6 UDP" + +msgid "This may cause problems and is not very useful at the same time. Not recommended." +msgstr "可能会出问题,同时不是很有用,不推荐。" + +msgid "Dynamic Direct Timeout" +msgstr "动态直连超时" + +msgid "Larger value consumes more memory and performs generally better. Unit in seconds." +msgstr "值越大,消耗的内存越多,性能通常越好,以秒为单位。" + +msgid "Override IPv4 TTL" +msgstr "覆盖IPv4 TTL" + +msgid "Strongly not recommended. Only used for some network environments with specific restrictions." +msgstr "强烈不推荐,仅用于某些特殊限制的网络环境。" + +msgid "Override IPv6 Hop Limit" +msgstr "覆盖IPv6 Hop Limit" + +msgid "TTL / Hop Limit Match" +msgstr "TTL/Hop Limit匹配" + +msgid "Only override TTL / hop limit for packets with specific TTL / hop limit." +msgstr "仅覆盖特定TTL/hop limit数据包的TTL/hop limit。" + +msgid "Bypass Transparent Proxy" +msgstr "绕过透明代理" + +msgid "DNS Settings" +msgstr "DNS设置" + +msgid "DNS" +msgstr "路由设置" + +msgid "Fast DNS" +msgstr "快速DNS" + +msgid "DNS for resolving outbound domains and following bypassed domains" +msgstr "用于解析出站域名和绕过域名。" + +msgid "Bypassed domain rules" +msgstr "绕过域名规则" + +msgid "Specify rules like geosite:cn or domain:bilibili.com. See documentation for details." +msgstr "指定例如geosite:cn或domain:bilibili.com等规则。参阅此处获取帮助。" + +msgid "" +"Specify rules like domain:bilibili.com or see documentation for details." +"
    In order to use Geosite rules you need a valid resource file " +"/usr/share/xray/geosite.dat.
    Compile your firmware again with data files " +"to use Geosite rules, or download one and upload it to your router." +msgstr "" +"指定例如domain:bilibili.com等规则,或参阅此处获取帮助。" +"为了使用Geosite规则,需要一个有效的资源文件/usr/share/xray/geosite.dat" +"添加资源文件后重新编译固件,或从" +"此处下载后上传到路由器。" + +msgid "Secure DNS" +msgstr "安全DNS" + +msgid "DNS for resolving known polluted domains (specify forwarded domain rules here)" +msgstr "用于解析已知污染的域名(指定域名转发规则)。" + +msgid "Forwarded domain rules" +msgstr "域名转发规则" + +msgid "Specify rules like geosite:geolocation-!cn or domain:youtube.com. See documentation for details." +msgstr "指定例如geosite:geolocation-!cn或domain:youtube.com等规则。参阅此处获取帮助。" + +msgid "" +"Specify rules like domain:youtube.com or see documentation for details." +"
    In order to use Geosite rules you need a valid resource file " +"/usr/share/xray/geosite.dat.
    Compile your firmware again with data files " +"to use Geosite rules, or download one and upload it to your router." +msgstr "" +"指定例如domain:youtube.com或参阅此处获取帮助。" +"为了使用Geosite规则,需要一个有效的资源文件/usr/share/xray/geosite.dat" +"添加资源文件后重新编译固件,或从" +"此处下载后上传到路由器。" + +msgid "Default DNS" +msgstr "默认DNS" + +msgid "DNS for resolving other sites (not in the rules above) and DNS records other than A or AAAA (TXT and MX for example)" +msgstr "用于解析其他站点的DNS(不在上述规则中)和A或AAAA以外的DNS记录(例如TXT和MX)。" + +msgid "Blocked domain rules" +msgstr "阻止域名规则" + +msgid "Specify rules like geosite:category-ads or domain:baidu.com. See documentation for details." +msgstr "指定例如geosite:category-ads或domain:baidu.com等规则。参阅此处获取帮助。" + +msgid "" +"Specify rules like domain:baidu.com or see documentation for details." +"
    In order to use Geosite rules you need a valid resource file " +"/usr/share/xray/geosite.dat.
    Compile your firmware again with data files " +"to use Geosite rules, or download one and upload it to your router." +msgstr "" +"指定例如domain:baidu.com或参阅此处获取帮助。" +"为了使用Geosite规则,需要一个有效的资源文件/usr/share/xray/geosite.dat" +"添加资源文件后重新编译固件,或从" +"此处下载后上传到路由器。" + +msgid "Blocked to loopback" +msgstr "阻止回环" + +msgid "Return 127.127.127.127 as response for blocked domain rules. If not selected, NXDOMAIN will be returned." +msgstr "对阻止域名规则返回127.127.127.127,未设置将返回回环地址Loopback Address。" + +msgid "Transparent Proxy Rules" +msgstr "透明代理规则" + +msgid "Outbound Routing" +msgstr "出站路由" + +msgid "GeoIP Direct Code List (IPv4)" +msgstr "GeoIP直连域名列表(IPv4)" + +msgid "Hosts in these GeoIP sets will not be forwarded through Xray. Remove all items to forward all non-private hosts." +msgstr "此GeoIP列表中的域名不会被Xray转发,未设置即为转发所有非私有域名。" + +msgid "GeoIP Direct Code List (IPv6)" +msgstr "GeoIP直连域名列表(IPv6)" + +msgid "" +"Resource file /usr/share/xray/geoip.dat not exist. All network traffic will " +"be forwarded.
    Compile your firmware again with data files to use this " +"feature, or
    download one " +"(maybe disable transparent proxy first) and upload it to your router." +msgstr "" +"资源文件/usr/share/xray/geoip.dat不存在。所有网络将被转发。" +"添加资源文件后重新编译固件,或从此处下载后上传到路由器。" + +msgid "Routing Domain Strategy" +msgstr "域名路由策略" + +msgid "Domain resolution strategy when matching domain against rules. (For tproxy, this is effective only when sniffing is enabled.)" +msgstr "域名与规则匹配时的域名解析策略(对于透明代理,仅在启用域名嗅探时有效)。" + +msgid "Bypassed IP" +msgstr "绕过IP" + +msgid "Requests to these IPs won't be forwarded through Xray." +msgstr "这些IP不会被Xray转发。" + +msgid "Forwarded IP" +msgstr "转发IP" + +msgid "Requests to these IPs will always be handled by Xray (but still might be bypassed by Xray itself, like private addresses).
    Useful for some really strange network. If you really need to forward private addresses, try Manual Transparent Proxy below." +msgstr "这些IP始终由Xray转发(私有地址可能会被Xray绕过)。
    对一些奇怪的网络有用,确需转发私人地址,尝试下面的手动透明代理。" + +msgid "Default Ports Policy" +msgstr "默认端口策略" + +msgid "Forwarded TCP Ports" +msgstr "TCP转发端口" + +msgid "Requests to these TCP Ports will be forwarded through Xray. Recommended ports: 80, 443, 853" +msgstr "对这些TCP端口的请求会被Xray转发。建议端口:80、443、853。" + +msgid "Forwarded UDP Ports" +msgstr "UDP转发端口" + +msgid "Requests to these UDP Ports will be forwarded through Xray. Recommended ports: 53, 443" +msgstr "对这些UDP端口的请求会被Xray转发。建议端口:53、443。" + +msgid "Bypassed TCP Ports" +msgstr "TCP绕过端口" + +msgid "Requests to these TCP Ports won't be forwarded through Xray." +msgstr "对这些TCP端口的请求不会被Xray转发。" + +msgid "Bypassed UDP Ports" +msgstr "UDP绕过端口" + +msgid "Requests to these UDP Ports won't be forwarded through Xray." +msgstr "对这些UDP端口的请求不会被Xray转发。" + +msgid "Manual Transparent Proxy" +msgstr "自定义透明代理" + +msgid "Compared to iptables REDIRECT, Xray could do NAT46 / NAT64 (for example accessing IPv6 only sites). See FakeDNS for details." +msgstr "相比iptables重定向,Xray可以进行NAT46/NAT64(对于某些仅IPv6的网站)。参阅FakeDNS获取帮助。" + +msgid "Source Address" +msgstr "源地址" + +msgid "Source Port" +msgstr "源端口" + +msgid "Destination Address" +msgstr "目标地址" + +msgid "Destination Port" +msgstr "目标端口" + +msgid "Domain names to associate" +msgstr "关联域名" + +msgid "Exempt rebind protection" +msgstr "豁免重绑定保护" + +msgid "Avoid dnsmasq filtering RFC1918 IP addresses (and some TESTNET addresses as well) from result." +msgstr "避免Dnsmasq过滤RFC1918私有IP地址及某些测试网IP地址。" + +msgid "Force Forward (TCP)" +msgstr "强制转发(TCP)" + +msgid "Force Forward server (TCP)" +msgstr "强制转发服务器(TCP)" + +msgid "Force Forward (UDP)" +msgstr "强制转发(UDP)" + +msgid "Force Forward server (UDP)" +msgstr "强制转发服务器(UDP)" + +msgid "This destination must be forwarded through an outbound server." +msgstr "此目标必须通过出站服务器转发。" + +msgid "HTTPS Server" +msgstr "HTTPS服务器" + +msgid "Enable Xray HTTPS Server" +msgstr "启用Xray HTTPS服务" + +msgid "This will start a HTTPS server which serves both as an inbound for Xray and a reverse proxy web server." +msgstr "这将启动一个HTTPS服务器,该服务器既用作Xray的入站服务器,又用作反向代理Web服务器。" + +msgid "Xray HTTPS Server Port" +msgstr "Xray HTTPS服务端口" + +msgid "This port needs to be set accept input manually in firewall settings." +msgstr "此端口需要在系统防火墙accept input中手动设置。" + +msgid "Certificate File" +msgstr "证书" + +msgid "Private Key File" +msgstr "私钥" + +msgid "Only protocols which support fallback are available. Note that REALITY does not support fallback right now." +msgstr "只支持可以回落的协议。注意REALITY目前不支持回落。" + +msgid "Default Fallback HTTP Server" +msgstr "默认回落HTTP服务器" + +msgid "Only HTTP/1.1 supported here. For HTTP/2 upstream, use Fallback Servers below" +msgstr "只支持HTTP/1.1。如使用HTTP/2,使用下面的回落服务。" + +msgid "Fallback Servers" +msgstr "回落服务器" + +msgid "Specify upstream servers here." +msgstr "指定上游服务器。" + +msgid "SNI" +msgstr "服务器域名(SNI)" + +msgid "ALPN" +msgstr "应用层传输协议(ALPN)" + +msgid "Xver" +msgstr "发送代理协议版本" + +msgid "Custom Options" +msgstr "自定义选项" + +msgid "Custom Configuration Hook" +msgstr "自定义配置钩子" + +msgid "Read ucode Documentation for the language used. Code filled here may need to change after upgrading luci-app-xray." +msgstr "参阅ucode Documentation获取帮助。升级luci-app-xray后,此处填写的代码可能需要更改" + +msgid "Stream Security" +msgstr "传输层安全" + +msgid "Server Name" +msgstr "服务器名" + +msgid "Allow Insecure" +msgstr "允许不安全" + +msgid "Fingerprint" +msgstr "指纹" + +msgid "Flow" +msgstr "流控模式" + +msgid "[Same as Main Server]" +msgstr "[与主服务相同]" + +msgid "WARNING: at least one of asset files (geoip.dat, geosite.dat) is not found under /usr/share/xray. Xray may not work properly. See here for help." +msgstr "警告:/usr/share/xray目录下至少一个资源文件(geoip.dat, geosite.dat)不存在。Xray可能无法正常工作。参阅此处报告问题或提出请求。" + +msgid "Asset files check: " +msgstr "资源检查:" + +msgid "Report issues or request for features here." +msgstr "此处报告问题或提出请求。" + +msgid "Log Level" +msgstr "日志等级" + +msgid "Read Xray log in \"System Log\" or use logread command." +msgstr "在系统日志中或使用logread命令查看Xray日志。" + +msgid "Enable Access Log" +msgstr "启用访问日志" + +msgid "Access log will also be written to System Log." +msgstr "访问日志将被记录在系统日志中。" + +msgid "Enable DNS Log" +msgstr "启用DNS日志" + +msgid "DNS log will also be written to System Log." +msgstr "DNS查询日志将被记录在系统日志中。" + +msgid "Enable Statistics" +msgstr "启用统计信息" + +msgid "Enable statistics of inbounds / outbounds data. Use Xray API to query values." +msgstr "启用入站/出站数据的统计信息,使用Xray API查询数据。" + +msgid "Enable Observatory" +msgstr "启用后台连接观测" + +msgid "Enable latency measurement for TCP and UDP outbounds." +msgstr "为TCP和UDP出站启用后台连接观测。" + +msgid "Enable Firewall Counters" +msgstr "启用防火墙计数器" + +msgid "Add counters to firewall4 for transparent proxy rules. (Not supported in all OpenWrt versions. )" +msgstr "为透明代理规则添加counters to firewall4(不支持OpenWrt所有版本)。" + +msgid "Enable Xray Metrics Server" +msgstr "启用Xray指标服务" + +msgid "Enable built-in metrics server for pprof and expvar. See here for details." +msgstr "为pprof和expvar启用内置指标服务。参阅此处获取帮助。" + +msgid "Xray Metrics Server Port" +msgstr "Xray指标服务端口" + +msgid "Metrics may be sensitive so think twice before setting it as Default Fallback HTTP Server." +msgstr "指标可能很敏感,审慎将其设置为默认回退HTTP服务器。" + +msgid "Handshake Timeout" +msgstr "握手超时" + +msgid "Policy: Handshake timeout when connecting to upstream. See here for help." +msgstr "策略:与服务器握手超时时间。参阅此处获取帮助。" + +msgid "Connection Idle Timeout" +msgstr "空闲等待时间" + +msgid "Policy: Close connection if no data is transferred within given timeout. See here for help." +msgstr "策略:在给定时间内未传输任何数据,则关闭连接。参阅此处获取帮助。" + +msgid "Uplink Only Timeout" +msgstr "等待上行时间" + +msgid "Policy: How long to wait before closing connection after server closed connection. See here for help." +msgstr "策略:当服务器关闭连接后的等待时间。参阅此处获取帮助。" + +msgid "Downlink Only Timeout" +msgstr "等待下行时间" + +msgid "Policy: How long to wait before closing connection after client closed connection. See here for help." +msgstr "策略:当客户端关闭连接后的等待时间。参阅此处获取帮助。" + +msgid "Buffer Size" +msgstr "缓冲区大小" + +msgid "Policy: Internal cache size per connection. See here for help." +msgstr "策略:每个连接的缓存大小。参阅此处获取帮助。" + +msgid "Preview or Deprecated" +msgstr "预览或弃用" + +msgid "Show preview or deprecated features (requires reboot to take effect)." +msgstr "显示预览或弃用的功能(重启后生效)。" + +msgid "Bridge" +msgstr "桥接" + +msgid "Reverse proxy tool. Currently only client role (bridge) is supported. See here for help." +msgstr "反向代理工具,目前仅支持客户端(桥接)。参阅此处获取帮助。" + +msgid "Upstream" +msgstr "上游服务器" + +msgid "Redirect address" +msgstr "重定向地址" + +msgid "Extra Options" +msgstr "扩展选项" + +msgid "Initial Windows Size" +msgstr "初始化窗口大小" + +msgid "Route Only" +msgstr "仅路由" + +msgid "Use sniffed domain for routing only but still access through IP. Reduces unnecessary DNS requests. See here for help." +msgstr "仅使用域名嗅探进行路由,但仍通过IP进行访问,减少不必要的 DNS 请求。参阅此处获取帮助。" diff --git a/.github/diy/packages/luci-theme-spectra/htdocs/luci-static/spectra/bgm/bg1.jpg b/.github/diy/packages/luci-theme-spectra/htdocs/luci-static/spectra/bgm/bg1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..48d4b7c82b08016c039783d31c91fc0f995746b9 GIT binary patch literal 125396 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

    w5K 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�>?p$hvXmLq;@ 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

    SB0F zgIARr=PyVH6&4%}I+%E0mkO0DJyS(aPd;W5PYqzJna?vRVpgLSBF!!i-uj*9Xj|Sl z!#&6JnCd?XmjrbNG7+fMd{v3Xr7r4>&(o)@D)k#ZQ*+ah;1jG12;c-oxd2Ku#X3lx z1Y@LQ!GIuxFtmj_WDTxnBDO)5Pk8>EF$VPr=>p|cPJ>@ltZ`~~^b_p*#%zF|XK15} zjwHbhvFR*en6|Sa9wDePvp0FFU5vuhJ+hYf?+;i-kG}aboc79hybSn#M}CR?#79?9 z%5EcNu_Sy^Ul`6xQ2D?7M5YtW^?_gjN_5@!8g-S_CPY(qXxs$$bsY87otM4A&XDk9 zU}HF=L=)3N)XTFH&AH%~YN}ge+QkIb*RHaz$|De~bFhS$V#k4iT=6?Y#1bH}5cQR4 ztx!7hFjE+MidxK#p*vrNG34;#w3v|SUte@Ta|DuNrtIZr6e z4=;Zf#TuC=>nT?OYFKF3%P_RXIxE!bV;i@S_?g`)sb)3;RI5`Hpt{oiObQir781Y# zXk`i^fOgxEfI!`?YLz)`u<%hmn@c4e$9F%V;ZX5zLSicRjyesX5~;N|JSca_eyjS& z)#XRdblL&L3l1df?u`!(rZJ9Cyo^;=?%1=R(on;ZRZX@$YT{|r({|`3O4Ta(j-3Yp zN|3n?yj0sx|-t!lC1etKL)x)(u)(Vo!BP3>YGp%*xNW z9QTSisN=Br!Ljv(UNS4Km|j(&DFITD)pb5%B|zvHbA-ziyu@MqGnq$p%ZO#=D#n;_ z2Z&pVlo5$$UDRnP)(*PpcrpeCE7ZE6Uje=56@xuSJ|;i3sMmi^7x<2?RHTL2z#kCe zrA@xd#YLut+G|y_w%mkc37C3$Qs;JpW3}ul{wBHkM&Kv2X=bQjl8@BE8))Z+O1X3! zz;je{(@*y?2Mj^ILOKa(7*eF8ouIilFmMChW6Oc}YL*n-uZRnYO1OGR?V)31>j;NU z<{1d>ENq#LpsERsg+Qpc8Wi^ zbrB7~DsBwC#8RfH?_-;nshDaHO_`qCa`=_qX`yyD0s{D|oul{$!cwQq%Jn;Hy_%lt z?+t_|=2KkmtNHK~5O0e?_)_rjQ7}}yIt$e5csbHEsZEG!JjDfblIE|;4S zcef(~Q+$jz+zDG0C{!W*IW9e8V(UG2s1zHETa}|YDsNy!v8ld`Gy=nc0M2rN0*U~6 za3`>F{u`hCOg&=*RCK8uxSr?V{fN-x-DXrar5$dz;py7%BkzQ^>{&4t_ zM_=1nX;9jm7@`w%6kCWM;~odz9wZ%EV5!)9Nz0onX?c%9M-@j92Xv56sGr8rU`02( z9kk<4veE}XhkNv%(5+6rN@9~{u+}qJWnHFFY)FSg?sJzQ5~PDESE^KZuO6|h{H9T@ ztYT+XP}`1T3lkf}ej^hdU$LWM;(Y|d(I|uQG)1riRc_xDN7+c`UhTsUEl6>x{{VSc z{{Xf)3GB)?R;YRCI99|hJqE4Q{$+dBtf82bVobH6l?H0mhb0A%uEHj@N$9`73jPo} zn0iGVK=(Er2fn}5Pf;;=8kmPHDvb%SB2d9%l$5JuNbWCx%21*ym+B3;*cnk)nP8`L z`bAs%LpL7k%33oCRBXd>5%Z$AQNhN|^dsS=m5*H%2Hk0J7lKs(Mgz9vNIjY zl?)s3rTsMY<5XK3-gJiq1h4{9K~9>W=H(F=arqYWoLiGW-Cd1KThAyp9x}2lX zNyzMJ3t!}Nga{zg4fPK8RRWdzC?rdp+&!pB$$BH-x*i^{|b zOmAqUxhM67xedMhk+cl=3=C?HMy)WS)EB*dPXTR?##n+u`T@ZFFtY|O_1y1&+{G49 zCNKWlub`B_p-<5M@}yn(QU02Gam86G;p!c(QN0=vK_Jg(($8ETORU6Kzw*%O_KXu4 ztY|h;N0(WJ!@U*N&bsB~I6DPaW5^Q`a-xH{8v4W*RUHI&3L^{ZcYtvo?S!?V-`-Oa`=s01q2Hle%NCd>QJ*k6b8^S;U4TJ!0VQc%=nX=p&xR?jJ zGW0wP0lAH+4fF$n_+e%TYQNsF%s|bDtU2T|fz5}f<#8%+2K+GQ^p}n?GvS;K#-rsG z`$}m1$k)_L1k$0WiT?m-ut(IQ`P}@t8Cy`R)raIYo5DaBF`DM*n)U#FpZYD9GFHqK|Cn7>UM-!k?)QN;f0tXYS@J6{{XRvg%#}TR-kzsucWFt;Tq_} zq4zM!lC^9(*frPFg76x%9-2c8CiU&f7xieevzO3qDHjBX`AbGR`}c+u2EOTv=(&q9 z6S`b7urn1`v%%D<%+m@!dT_Y8n+wf{nczXR3`Wv}A*!OOAqmut#H)eBQZ&kf!LO+@ zrW%`gKvO@0s7|h+M*&^b8-*l8w5PF}sl2E@(Aq0ls}4r;qXtzXC;>w>79#Q)!dY5m+=kgj#tU|H-BY2|v##_Z=MUO56+}d)y5sVz*Hev3z(Ws#v z;d2fh0SvkkJ*8Lvnu2vC{#*e4budH3ju=c=X@@i%_mjMb)06}qL}Oq-xqo?6`nA8k zxFPS62`Z$*s8Ae`X(^l2SyN>6iEN^Fstvb>w4JO~63VyU9-hi?mOOvh3T5m>7R=wKj#M;d$jg8+gzgzz!VfjtCO zJ&;w<<&43oq3UHO$l(u#w(>nVResK*H`zKK7qkb99Yk|cx!6NOp*IznLU9zee)@AG zaS_$U)ZRAYX9W9##l_*OgxE0QjHg~V z)s3vM;j4jimL8%ECL@(N*jma!D`IxkYZncORs=1G^AQ-Wuk#W7CRP5mU+*wLjoOO| z**OGdF%qKF3dmzA4Qm-i3ZnzQj6Y~CQ7y4p5r81=3gtS9x{oj0?<@UBG$vkO+`PQa zGfdMo%`P}vSWKd2nI=h=Sj%w`aHxW%H$$@mCLPOCOx`8#x2WTYqAMk~VXBy{YAXiP zqG-dY>lj$@!oF&D>BSA08EX$kxYqFHu@N;<#}N5a+|LB7 zQ4WUVp@~pB<{y-;R;yI)2Z$X6Y(q91I0rPt)_Qf+*pSA}G1V9@QO`nV3Z+2pOs&xB z4@r$@?x-E#-g`QwTeT(^L8_jU7;3d=y}=$Cg*9G^m*1>qA{PEz2*}Tfby0F!Qo&QE zz4Ms#PypHy4~Y+|pPUz4FzX8fgo&6G*Lb7_7wd1kFYaDmUS416niDU? zOG|r~mzkz$8Uq3Mtt~AqC4>Xq3znfHW*YjBa~DmJj6!a{FEJ_wAzgee!wB}PZoEWB z&Vch8ACwcBh8a^@l!vLGV0oCz8AveP5)UXFBZuX)dT^+v7*rc`nu{=tr8Xy=SF#9d z8(i%fiyj72tU(IegRz7I66obQZnIs40>BOjX^I{L>&BDzZ+=I3_*AIo2;FPISrBCT6 z0p9sQIOqvoRZYZstgRZ=Vwykl{R+)P{zLLvsDH?QNMt>ljs6j1xliKHyFKrfnF?kl z$0$avHuf7nB|5!RZ16lRjrHIGWkOnIq=YLw^MLQ6P0Iekzay{WPr5ztB>?A`2)>;g zH`;$bNzZePxXPXYfZ&8e6^@lX9sd6S5PR@Y1?~+Br9n(}Y}fN1C_r(L3a0F*A=7Vp zKJ545#R#KBy!M@^7#`q=^G*^IYDfU~rakoc{HiU_P)>s7bc(s^9!;=WOitW3K}hGs zAZdnF>qCH;K+pCu#WeL@9najLnCP)iV@<(@9w9=4gC2H5o6uvHLW37py0E&SjW-0w zwCiHJwyv$I)Zp67+Y_PlFoTaF^HQh#4pWO{35C*XgOQE639Na!utC14QYPgJXtAJ4 zC=AEh7DABbQKaFaSt@e+tghX~G)Dxh95Xa(;GI&D9k8BQM{46mG`D}zW})$)lFvut zcgY%*HqN^0KMR*%OW=3Sb<8?adh1#L029`Fe*@Nbd=)-H2eaXL^jYZcTs;P=T}F7KmaTw+>_rabM5Ta0LYXcO7YNg9Gyr>|=C@L%=SINh<<*1QCEvmw`e13cA1E#q_8-Ccf27oN)_#MyOZ z_MUu&lUmmHS^_=IAE$s$fpu|rxCClbZ)LOMQ=aE)eblDXs_ht1=+E4MnbDayx@9p0 z0I~qGg!TdmDauer{SX1V06U{9 ze@m3sIol)EGqmi-kVdn#Xv!A4`-wrWcV(oe^m>lefT?sQ5KDip5f@OQGDO2=LThzUp2F8b#069)i6C>b zr_jVpl}>~rTAtF^5$*@MkJsb$xxiB~E;&LqX|u2-^C{1B`$vcwu(}j$J4Q#EZ$@$L zKjfLwsRP-cJEG7aLIFYo=rIAZZ7~DdDa?YL-4+;efd^#@ z5DKR8vTH;!*e0xfH9_d-1(t^2n6l;=I>TxS^y9q^Tr+rUht zpYs#snbFukETGUV0&&j#$84eWG+(P;MO5milcznvpc{F`iQ}G{5EThEws#LSO01!1Q14dSa1O(@7 z5V^sY0T7`=Y_x(EXFaFenekO?H!BA;>W*V`Wh8h7(TO!3YXFWg2q5TJ^c0PYi4!ot zqo70<2voW?8e|r>;Z`z0?3?qu0a#C+I za)NnABLQ~+h7Ckr0KU$pKCY;cG%1}DfQY;sa+zgn(!KSRNm)RZeufK z;ifJbnnHfg=f@mT-(Z0eVx+jkQ6Zx!^(dR7n%Dupr+^7Uvs+>fl{(?>Er{f$6YeGf zB~&HOB~l+~&ouLX3XoW}B6obkS~vJHQ1@OQ&JP?NuTi9K)eb zZc;`7Do-uAO{+}r2gL|bgJpEAp`n9aP5~80(oq~0b$6O~Wxk{P0M?hdG%ErrGfmZJ z%d(9EYluy7CJ;>!0OC58PS0I=f)hnaGFLx%YPy0zGBoQdEw80oK7d!win8F=@aNLc#GIj~XlP3dt2pmg8NP(`X zGz%es(~h8$6V9L53QoxD=xkHOIE5r`iBzfeZIjw4Dd9NQ>5O54?Kyu{S;tU3f}_$2 zIbULkn}pfn1p+vj>1a+c(x2Km0V&`#25-NA2=*t(3A7w2Qp!5V`UNs%qIN@skgD{` zOt3kRf~nFgRkXn55MpaUPHtffqSh~NS9Y6+q^^-uCP5Nhn=mJUID{Uv3_*tvG7-3h z_8IX)lg`Q;NON*M{AkTZ<8Wn86sQKn>Usp{P0DGuW9Ws<@D~6is+}WdCp5pcQOD0k z)yAP^0~kTwT}HocPnL%OoX|)l3nn<_cOH0aov@VNl|=q%^Fj;c8N8=lSllO7cCa9$ zRp-OM)an*Geqjc5cibOIgwVzqYXB&ilH!{+UCE&nnD_(+HERY~YMkR4o_>Gnb)2ON zjowhoQ5xY01o7<5X@5=EM|9Evo446Mm{^OU09%f^%St)h2A4MNFlAA$;^=mx>YN8_ zXKILoM}OMKJUA+@YScm4FRyfizS6v2D0;+*$9$tYo=vezl+A6qQA z3_2^J#fO*Gw!zMZx5Sjn%+a$7Zyfl#OQqqwh8qNALx!PIcp^3-J+|?0@!#e()f^fW zHj81p?p9Y-cP4}Y11oeuV)urLD&)!4bcany<%4y^b{c#K@{6MZfp$uP-oGm!q6Jkj z+F>&$TPkK-keiFNpk#RO!%^9vo1O<;C_2Tvw5uGh*w~^VkbC$6aR6#lS}8ULr&5bc z_0enq5D;!IaA+i{FLq<-Fsa*rnZRp{I|I}saX17RNR;vPx}fi}E!~#%*>sISE z$;N$v`MkjcSLm-A<>F zO#lIg>GmZx4MGT}0hQe00*VDr24+UT*5_|$JX$Ax#hemg@;k$pze`t>HuuFoVz!(&+lE7F>cE5)WE-(V71vZ_@ zO$tW^T7iw7_6eZeold+JyKeo(1U18DOSk3<<>mY;Z4Nh8DVAJlfxw$9W&Nf-4aNo9 zJC)CoRWml>NFW`z@Kow$bQ5Gu!9d7W`!wC?m|*4RiL<=1rtGy_<79ozC{f);7%QV! z1)vm2=DJm3l!W6a@YLAqh5~C^!435|5>s0@IFbM)qT=^vK7j-g!nfYL%-}V^AYsGI zCvWpoK~8yeN|h>8EK5$BdL0oENGLq!0s?5x$mL|h;Nl37gaef6u}pDep}@ib7$H{? zNO`7e5Y-VDQ_0uzavUy=eGidNxDGn#e8S2sNdN$0czt;;asqNh>Rot4@uYehB&jdv;a14Io`B;2Mnww?Df6LiL{L)mV-o=KyMsQXvo5JF@@ zPA&w8YNtuih%0;fA2EOm4q`kcD8ioXK40jnvKj~dlL^Q?7IJe00We0psUYVXgLGQj z%nt(UP1-?;l@V+lC5MMT?=(vjL}x+;m5M(zDxe+dddNhy}1#7s1l#^-nokQxjEsZ%KNKyGz7 zju)`Lu>mrZSS_zK=e2@eq{4IhwwGp^KFC?YZh5pJ4jT}f#j zfN>|YWWfRoaDt!^K}{Ki9e>MHo9vYLmH_}sl{v4?2_iR61lw_|6KVMPGev92RVgkfjO!dx^>Eh95` zM8HAqbBPw6MOgXQi7>! zjqwK&z-%xGSSXR}{3@e0Hx5UDAf7A`xNnPpj3vC3Spm8(I5@*xU~Ex2qINT7n$ZYY zuj(HV5R%g4vVcS?Z*xQfoJlfK7C^xVkxv)=WGGSHU=v`0tv}zDHPB0??tB+$h z!e@=wI0Q@t1VB+Bgj;k_(*~676FV*NDikK0r^Z|Z0&v@#N|C_R6p8-;vIG&!m_uA0 zg*O*5z5+e;C{g$bP@}od5gg)A1n5Sf$W5(8w)Q?YPN`341j0xzi~zvgCP z5a9?X3xI|dZ1Rd4U@)f{T&4myVhFZye#oA|@kYdqBfuyel}8q`*1D2+RLL&6z@n(0 z*!AEbg9n0t6&=lF7qlHDClj6XsBs4g#!kwe6WXa^$rn!05E#^{78;_`%8YS6p#*;% zCjgoeyO!8ju?0#F2LPp0ESimIg9zvl>=ZQ%bXKefl0Ag>yE~z!WPid|S9pBFu+_m- z0nB(C3Hc_J(*;fiFvHq;+k-Y>(0M>T>~uW!ku%#HgUt$5$dKa*&>KAp2X`SsyONq3 z-pf=HgGL3xx|I6F*{Q9KQ<$;Y(khr8uw}`w>%Vn{r(`K*a_BX7&daE6HHkh z!g(V%jXnxpvHMYON4dO;1u)BTJk~;ph3XJ#0_okO-mpkA3=}Gj+v+U3)_AV9oYrw| zZ-5B7trALgbE8BeNz|%M%=87-M}{>~b+5U^;1ER&3aNG!N@oQj{{WEF%zuR5$WOQg zCbr0wM5chXB^NX_HR8}wq8uifkc9#o;&s~wcIol6&Fo59{_;} zkeu!a?)>}4GH!HD!lg{M8lvJ%oC#Ff)v`{dNNAFr^7nrUp##7cfo^dr-IIe2xESEq zG@;olR$^?5GNh*K=v7|G{{Y|kOe6-8$uh9&w*LSm z6GW5%81!Q_Bl92`F|N0`w5CVx!m^z*y~K&H?F&nmkCY^RIdvT_w>){K$`;kO{3#ZIQx{-ap7DoFX$f)OQdri16BiRY4(TDzrA5 ze!rkXj9T2!Xy#Prdyc@s^g$IU?M|6V^JUpM3=b%iBM27CkGvZ0}V$Dsj+6$x)VyCC`z{$u0sd`Qa#WY<2q5?Qk?K{W(AaHeyN|{Y{4*PFK;Ki>Say=h3`C(aA?ZS5E4_I z8q!tVEojPiZ}}t?`)CHtEg}Kx+5b7Q7P=p zR1R=a)mOb%j!jUh*rITWLqqZ&iK7E}Z$F?;GD+_%2+Su#W9qKgIj#`qm?MqmUdo$2 zuzzz5uu~>yf}d<4a0h@A41^xi*(MXK z56TH$bG{InP!~)@0-R_}l+qwZimUTgo=}09I~7;&-{^v3I8*JlWda5s07*s~2$?5S z{s(!AuE9~X>kiRuJJDQN@Jf|VNG%}bJMuijWW*D2iiv3(i-gg-aSd#vB;Rz=j)0UC zK`59IHB9Xzu)yF=m1>#KhR9+9Xo2Q}I0M2dIEgkMDu7E&dN&!5;j%kAU((U>u(u<7{35+f<5p!vbtk-kKGSk>O-$0Ar z<98G^#jY*TsclOeIXR>lHX$;haff!lp7pk*H!Fmp~+TCy+tT)^CGb7u`8N&=$*N_l7jMqUSi59q|HC5HKe*r7&XB zMZ%JGOr~9PVa++wVCqv-8@WXbyU9CMuteEasn$N-k*E9MV1a|(4f9P1VWGjTV_BU0 zOEao!U?)?7m>CKW9bFoLB{i@VDB%0n$LAkZK?jiuubUel^pcrOy5`MN0EUPh0SpPU zoW#4CO&3D}s;=p9RNFpSZc{WR8>6XRCaldd>;AC`t;ObD9Fqp>Xz|0k3!5om)RH>1(xzmB7P!WMJ2~7wH7>p^@%CmKhIc!1% zkV~`+s}5-`5TK3*P;t4iRcV$RX@gou_(u&PnXdp{8fIHQs;jd+rVCGbppyYZY52Jk zP18v`VCO}GD2*G+u2cfaaM^tk7Sc1Ogzcj4gMD$&}g}C8ANKO#V=v z(Z|cT6UkDW^BLr=IEKGvU8J^E4M23C;`|Tdw6?sM!FVU|_*63AdBXp@ZBS z(n@T^olVLKxCGH@TVQZ1txmDfJ0See0~?82nM@EkLkp%2#)u|3wAiN9&+NNGoYK-k zP^=Xyxr7}?4QX+J5Twzq%B@5?2-||AfB+rS*_7J`m?_L{-94pNLs~g1V#M>tJHk_1 zT<8hT4H+5gP!eHA!2yHJoEz-ZsO{hZ>Y5`Skm&)O&(L7hFamHmZ-silk*52eL1-~+ zcphyW(?pawX!g}+9@BQ$#9%xXQVw2mfN44e);JJm6AouWYykrYxKk0U{{V#7H$v6b zvBFwYnp$A0&i3PwOm<?_)~j{4LT~%X%N|!5CG-gKnsWgIErHoaiaZh}>rn(4`WDS%Q8mZ=R5G1G66zto(pD!#yAlYUQVVy#$dX6{`v~T@~ z)FE#qA*?2DY=HKMc?nGdi!&b4*%EF^xz$r{XLtoUoJs=!BFVb(IpNlU8DO-0$3q1%ScrLXt>6SCfkJ3 z0LlReI7kL3iNZk$v9_{c4JE^5=QNWV6iERxGJ-en8B`gW^RQ2Lcb9A|-}Z_lEigB7 zXj@?Yad%^*e)oR`3@f`eMz?0%;Kn)nS-k%M(hUGW7Q|?d4l1Mb7}#(zx8NoOtCC4f z9CWolNsfRli`%a1yU8GW;v8B*38yp^N*qNwG~GG5TwBWuW(jAg?-@tz`a3|?{{ZD3 zfK6^^0nDeI)enMbM+a(gb?NkT%Ap@NpqyY5n(3FH%wy;HYH6 z0W?74XKW7yGzi>*%~YqIzB?!)%OQnKOU00IfdK)z;~*l&6xJ|ot9|LTU}nT>5Fmg@ zc#7#Zs>bZrm8n#I^}eaSr~c&BaCWB?CWTNnY&?1(K>&r)-xTuh;|hf<2e^LFil-To zi7|jjbX97Z8*b6j4LBG$9AHXnXoNK4XjIJ91v9c0F)t^QDfIoR++j_E3EZF*pg4+g zAWCV!)pVA_n(P24WWxlvSzG{K9UC;QrCZiHd+7 z4ZdoS$(os1@!4W9X`#?sUpb?*NU}{r|$YC_e1y^j+J_(|5s5cs*a{zeH zc8ckLdr99FFZ58tzur=+G^p4dL2-}1SDd3U-39f(vvTfW4jv5(4_}H8dYsL8|Rj63v z3=o;p9^TZrFY4K|9GK$fHOFx{!lZqYH*JxE2-t+i!7`jlFcFv_rWkZ=f1Wek*ifND zg&yFl=Ql>6{{VscPpWPdz^hI4PWNw^RGvsP+7>v}9?t-A_8Ycoz~FVn*;H|>Q>taa z`jE7;ruZ;)Dx*tIwm31oF4lG$CTLI^BWOfO;c68OuCT-#szcjx!&BwK2w?VJdDx;M zMg0%(seRQy+At~87E<8rkei})o>O&qns%tuByu|@nE>||6e#y&iWDeNvaG0#3Lf7_ zuS;^=>w$m?L}vEg+3Ts}`=oV`q*?90-vd15xG?z-xd(8_m~6Zd&hY*dOI|sxmsj zE<0E^+hH4x5NwnN!+@Ju+^=A3F8Tz*)A<4chf5S}Zh@IAA>eU_7}TKG0dR1p<^d(b z>pL~f5Pd(0BKB_Jg+?757g*1TAyS#Ja_gx4VRh8toYo7irST_#NrXE=Qv0fZv|wTp zb9sbIW%2b6T zfTM*sWP4r6qQOnhV9*D1vgEG+nN&Jc^{^Wv8^; z94d)#1rr(R@-jS*8(%4BXX5D*hRrsdydA;T&8Cr4P& zHco7~uCFo5H%zA12m=7BQV?9RxP}Sqh8m!LW5UD-loNuyWI!)%q zRD0b{K52xsf)!U6Wji4EFv!-ySCbCePsP1sbNbfIOuH bL_s^F1S(*X0_1rrmV%~2HWHb*{b&E#I{tCA literal 0 HcmV?d00001 diff --git a/.github/diy/packages/luci-theme-spectra/htdocs/luci-static/spectra/bgm/bg2.jpg b/.github/diy/packages/luci-theme-spectra/htdocs/luci-static/spectra/bgm/bg2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..682a524a62d81064c6a9928db87cb3a0ee40f66b GIT binary patch literal 316608 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 z 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
    + + <%- end %> +- +- <%+cbi/tabmenu%> +- +
    + <%+cbi/ucisection%> +
    + +--- a/luci-app-nginx-manager/luasrc/model/cbi/nginx-manager.lua ++++ b/luci-app-nginx-manager/luasrc/model/cbi/nginx-manager.lua +@@ -1,5 +1,5 @@ + local fs = require "nixio.fs" +-local m = Map("nginx-manager",translate("Nginx Manager"), translate("A simple Nginx manager") .. [[

    Powered by sundaqiang]]) ++local m = Map("nginx-manager",translate("Nginx Manager"), translate("A simple Nginx manager") .. [[
    Powered by sundaqiang]]) + s = m:section(TypedSection, "nginx", translate("Web site list")) + s.template = "nginx-manager/index" + s.addremove = true diff --git a/.github/diy/patches/luci-app-openvpn-server.patch b/.github/diy/patches/luci-app-openvpn-server.patch new file mode 100644 index 000000000..4aad6f018 --- /dev/null +++ b/.github/diy/patches/luci-app-openvpn-server.patch @@ -0,0 +1,125 @@ +--- a/luci-app-openvpn-server/root/etc/uci-defaults/openvpn ++++ b/luci-app-openvpn-server/root/etc/uci-defaults/openvpn +@@ -1,5 +1,7 @@ + #!/bin/sh + ++grep -qv "myvpn" /etc/config/openvpn && grep -q "myvpn" /etc/config/openvpn-opkg && cp -f /etc/config/openvpn-opkg /etc/config/openvpn ++ + openvpn_port="$(uci -q get openvpn.myvpn.port)" + [ -z "$openvpn_port" ] && openvpn_port=1194 + +--- a/luci-app-openvpn-server/luasrc/controller/openvpn-server.lua ++++ b/luci-app-openvpn-server/luasrc/controller/openvpn-server.lua +@@ -6,13 +6,13 @@ function index() + return + end + +- entry({"admin", "services", "openvpn-server"},firstchild(), _("OpenVPN Server"), 1).dependent = true ++ entry({"admin", "vpn", "openvpn-server"},firstchild(), _("OpenVPN Server"), 1).dependent = true + +- entry({"admin", "services", "openvpn-server", "general"}, cbi("openvpn-server/openvpn-server"), _("OpenVPN Server"), 1).leaf = true +- entry({"admin", "services", "openvpn-server", "log"},form("openvpn-server/openvpn-server_run_log"), _("Running log"), 2).leaf = true +- entry({"admin", "services", "openvpn-server", "passlog"},form("openvpn-server/openvpn-server_pass_log"), _("Login log"), 3).leaf = true ++ entry({"admin", "vpn", "openvpn-server", "general"}, cbi("openvpn-server/openvpn-server"), _("OpenVPN Server"), 1).leaf = true ++ entry({"admin", "vpn", "openvpn-server", "log"},form("openvpn-server/openvpn-server_run_log"), _("Running log"), 2).leaf = true ++ entry({"admin", "vpn", "openvpn-server", "passlog"},form("openvpn-server/openvpn-server_pass_log"), _("Login log"), 3).leaf = true + +- entry({"admin", "services", "openvpn-server","status"},call("act_status")).leaf=true ++ entry({"admin", "vpn", "openvpn-server","status"},call("act_status")).leaf=true + end + + function act_status() + +--- a/luci-app-openvpn-server/luasrc/model/cbi/openvpn-server/openvpn-server.lua ++++ b/luci-app-openvpn-server/luasrc/model/cbi/openvpn-server/openvpn-server.lua +@@ -166,7 +166,7 @@ if pid == "" then + message = luci.util.exec("/etc/init.d/openvpn start 2>&1") + luci.util.exec("sleep 2") + luci.http.redirect( +- luci.dispatcher.build_url("admin", "services", "openvpn-server") .. "?message=" .. message ++ luci.dispatcher.build_url("admin", "vpn", "openvpn-server") .. "?message=" .. message + ) + end + else +@@ -177,7 +177,7 @@ else + luci.util.exec("/etc/init.d/openvpn stop") + luci.util.exec("sleep 2") + luci.http.redirect( +- luci.dispatcher.build_url("admin", "services", "openvpn-server") ++ luci.dispatcher.build_url("admin", "vpn", "openvpn-server") + ) + end + end + +--- a/luci-app-openvpn-server/luasrc/view/openvpn/openvpn_status.htm ++++ b/luci-app-openvpn-server/luasrc/view/openvpn/openvpn_status.htm +@@ -1,5 +1,5 @@ + + +--- a/luci-app-passwall/root/usr/share/passwall/0_default_config ++++ b/luci-app-passwall/root/usr/share/passwall/0_default_config +@@ -57,13 +57,17 @@ config global_other + option show_node_info '0' + + config global_rules +- option auto_update '0' ++ option auto_update '1' + option chnlist_update '1' + option chnroute_update '1' + option chnroute6_update '1' + option gfwlist_update '1' +- option geosite_update '0' +- option geoip_update '0' ++ option geosite_update '1' ++ option geoip_update '1' ++ option enable_geoview '1' ++ option geo2rule '1' ++ option week_update '7' ++ option time_update '4' + list gfwlist_url 'https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/gfw.txt' + list chnroute_url 'https://ispip.clang.cn/all_cn.txt' + list chnroute_url 'https://cdn.jsdelivr.net/gh/gaoyifan/china-operator-ip@ip-lists/china.txt' +@@ -72,8 +76,8 @@ config global_rules + list chnlist_url 'https://cdn.jsdelivr.net/gh/felixonmars/dnsmasq-china-list/accelerated-domains.china.conf' + list chnlist_url 'https://cdn.jsdelivr.net/gh/felixonmars/dnsmasq-china-list/apple.china.conf' + option v2ray_location_asset '/usr/share/v2ray/' +- option geoip_url 'https://github.com/Loyalsoldier/geoip/releases/latest/download/geoip.dat' +- option geosite_url 'https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat' ++ option geoip_url 'https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/geoip.dat' ++ option geosite_url 'https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat' + + config global_app + option sing_box_file '/usr/bin/sing-box' diff --git a/.github/diy/patches/luci-app-passwall2.patch b/.github/diy/patches/luci-app-passwall2.patch new file mode 100644 index 000000000..8b94c1313 --- /dev/null +++ b/.github/diy/patches/luci-app-passwall2.patch @@ -0,0 +1,311 @@ +--- a/luci-app-passwall2/root/etc/uci-defaults/luci-passwall2 ++++ b/luci-app-passwall2/root/etc/uci-defaults/luci-passwall2 +@@ -1,5 +1,10 @@ + #!/bin/sh + ++[ "`which nft`" ] && { ++uci -q set passwall2.@global_forwarding[0].use_nft=1 ++uci -q commit passwall2 ++} ++ + if [ -e "/etc/config/ucitrack" ]; then + uci -q batch <<-EOF + delete ucitrack.@passwall2[-1] + +--- a/luci-app-passwall2/Makefile ++++ b/luci-app-passwall2/Makefile +@@ -32,6 +32,21 @@ LUCI_DEPENDS:=+coreutils +coreutils-base64 +coreutils-nohup +curl \ + +ip-full +libuci-lua +lua +luci-compat +luci-lib-jsonc +resolveip +tcping \ + +xray-core +v2ray-geoip +v2ray-geosite \ + +unzip \ ++ +PACKAGE_$(PKG_NAME)_INCLUDE_Haproxy:haproxy \ ++ +PACKAGE_$(PKG_NAME)_INCLUDE_Hysteria:hysteria \ ++ +PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy:naiveproxy \ ++ +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client:shadowsocks-libev-ss-local \ ++ +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client:shadowsocks-libev-ss-redir \ ++ +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Server:shadowsocks-libev-ss-server \ ++ +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Client:shadowsocks-rust-sslocal \ ++ +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Server:shadowsocks-rust-ssserver \ ++ +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Client:shadowsocksr-libev-ssr-local \ ++ +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Client:shadowsocksr-libev-ssr-redir \ ++ +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Server:shadowsocksr-libev-ssr-server \ ++ +PACKAGE_$(PKG_NAME)_INCLUDE_Simple_Obfs:simple-obfs-client \ ++ +PACKAGE_$(PKG_NAME)_INCLUDE_SingBox:sing-box \ ++ +PACKAGE_$(PKG_NAME)_INCLUDE_tuic_client:tuic-client \ ++ +PACKAGE_$(PKG_NAME)_INCLUDE_V2ray_Plugin:v2ray-plugin \ + +PACKAGE_$(PKG_NAME)_INCLUDE_IPv6_Nat:ip6tables-mod-nat + + define Package/$(PKG_NAME)/config +@@ -71,7 +86,6 @@ config PACKAGE_$(PKG_NAME)_Nftables_Transparent_Proxy + + config PACKAGE_$(PKG_NAME)_INCLUDE_Haproxy + bool "Include Haproxy" +- select PACKAGE_haproxy + default y if aarch64||arm||i386||x86_64 + + config PACKAGE_$(PKG_NAME)_INCLUDE_Hysteria +@@ -87,8 +101,6 @@ config PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy + + config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client + bool "Include Shadowsocks Libev Client" +- select PACKAGE_shadowsocks-libev-ss-local +- select PACKAGE_shadowsocks-libev-ss-redir + default y + + config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Server +@@ -99,7 +111,6 @@ config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Server + config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Client + bool "Include Shadowsocks Rust Client" + depends on !i386 +- select PACKAGE_shadowsocks-rust-sslocal + default y if aarch64||x86_64 + + config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Server +@@ -110,8 +121,6 @@ config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Server + + config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Client + bool "Include ShadowsocksR Libev Client" +- select PACKAGE_shadowsocksr-libev-ssr-local +- select PACKAGE_shadowsocksr-libev-ssr-redir + default y + + config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Server +@@ -121,12 +130,10 @@ config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Libev_Server + + config PACKAGE_$(PKG_NAME)_INCLUDE_Simple_Obfs + bool "Include Simple-Obfs (Shadowsocks Plugin)" +- select PACKAGE_simple-obfs-client + default y + + config PACKAGE_$(PKG_NAME)_INCLUDE_SingBox + bool "Include Sing-Box" +- select PACKAGE_sing-box + default y if aarch64||arm||i386||x86_64 + + config PACKAGE_$(PKG_NAME)_INCLUDE_tuic_client +@@ -137,7 +144,6 @@ config PACKAGE_$(PKG_NAME)_INCLUDE_tuic_client + + config PACKAGE_$(PKG_NAME)_INCLUDE_V2ray_Plugin + bool "Include V2ray-Plugin (Shadowsocks Plugin)" +- select PACKAGE_v2ray-plugin + default y if aarch64||arm||i386||x86_64 + + endif + +--- a/luci-app-passwall2/luasrc/controller/passwall2.lua ++++ b/luci-app-passwall2/luasrc/controller/passwall2.lua +@@ -82,6 +82,7 @@ function index() + entry({"admin", "services", appname, "subscribe_manual"}, call("subscribe_manual")).leaf = true + entry({"admin", "services", appname, "subscribe_manual_all"}, call("subscribe_manual_all")).leaf = true + entry({"admin", "services", appname, "flush_set"}, call("flush_set")).leaf = true ++ entry({"admin", "services", appname, "ip"}, call('check_ip')).leaf = true + + --[[Components update]] + entry({"admin", "services", appname, "check_passwall2"}, call("app_check")).leaf = true +@@ -89,6 +90,61 @@ local function http_write_json(content) + http.write_json(content or {code = 1}) + end + ++function check_site(host, port) ++ local nixio = require "nixio" ++ local socket = nixio.socket("inet", "stream") ++ socket:setopt("socket", "rcvtimeo", 2) ++ socket:setopt("socket", "sndtimeo", 2) ++ local ret = socket:connect(host, port) ++ socket:close() ++ return ret ++end ++ ++function get_ip_geo_info() ++ local result = luci.sys.exec('curl --retry 3 -m 10 -LfsA "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36" http://ip-api.com/json/') ++ local json = require "luci.jsonc" ++ local info = json.parse(result) ++ ++ return { ++ flag = string.lower(info.countryCode) or "un", ++ country = get_country_name(info.countryCode) or "Unknown", ++ ip = info.query, ++ isp = info.isp ++ } ++end ++ ++function get_country_name(countryCode) ++ local country_names = { ++ US = "美国", CN = "中国", JP = "日本", GB = "英国", DE = "德国", ++ FR = "法国", BR = "巴西", IT = "意大利", RU = "俄罗斯", CA = "加拿大", ++ KR = "韩国", ES = "西班牙", AU = "澳大利亚", MX = "墨西哥", ID = "印度尼西亚", ++ NL = "荷兰", TR = "土耳其", CH = "瑞士", SA = "沙特阿拉伯", SE = "瑞典", ++ PL = "波兰", BE = "比利时", AR = "阿根廷", NO = "挪威", AT = "奥地利", ++ TW = "台湾", ZA = "南非", TH = "泰国", DK = "丹麦", MY = "马来西亚", ++ PH = "菲律宾", SG = "新加坡", IE = "爱尔兰", HK = "香港", FI = "芬兰", ++ CL = "智利", PT = "葡萄牙", GR = "希腊", IL = "以色列", NZ = "新西兰", ++ CZ = "捷克", RO = "罗马尼亚", VN = "越南", UA = "乌克兰", HU = "匈牙利", ++ AE = "阿联酋", CO = "哥伦比亚", IN = "印度", EG = "埃及", PE = "秘鲁", TW = "台湾" ++ } ++ return country_names[countryCode] ++end ++ ++function check_ip() ++ local e = {} ++ local port = 80 ++ local geo_info = get_ip_geo_info(ip) ++ e.ip = geo_info.ip ++ e.flag = geo_info.flag ++ e.country = geo_info.country ++ e.isp = geo_info.isp ++ e.baidu = check_site('www.baidu.com', port) ++ e.taobao = check_site('www.taobao.com', port) ++ e.google = check_site('www.google.com', port) ++ e.youtube = check_site('www.youtube.com', port) ++ luci.http.prepare_content('application/json') ++ luci.http.write_json(e) ++end ++ + function reset_config() + luci.sys.call('/etc/init.d/passwall2 stop') + luci.sys.call('[ -f "/usr/share/passwall2/0_default_config" ] && cp -f /usr/share/passwall2/0_default_config /etc/config/passwall2') + +--- a/luci-app-passwall2/luasrc/model/cbi/passwall2/client/global.lua ++++ b/luci-app-passwall2/luasrc/model/cbi/passwall2/client/global.lua +@@ -544,5 +544,6 @@ footer.global_cfgid = global_cfgid + footer.shunt_list = api.jsonc.stringify(shunt_list) + + m:append(footer) ++m:append(Template(appname .. "/global/status_bottom")) + + return m + +diff --git a/luci-app-passwall2/luasrc/view/passwall2/global/status_bottom.htm b/luci-app-passwall2/luasrc/view/passwall2/global/status_bottom.htm +new file mode 100644 +index 000000000000..a00fff9c79b3 +--- /dev/null ++++ b/luci-app-passwall2/luasrc/view/passwall2/global/status_bottom.htm +@@ -0,0 +1,128 @@ ++ ++
    ++
    ++
    ++
    ++ 获取中... ++
    ++
    ++
    ++ ++ ++ ++ ++
    ++
    ++
    ++
    ++
    ++ ++ diff --git a/.github/diy/patches/luci-app-store.patch b/.github/diy/patches/luci-app-store.patch new file mode 100644 index 000000000..82a4e09f0 --- /dev/null +++ b/.github/diy/patches/luci-app-store.patch @@ -0,0 +1,30 @@ +--- a/luci-app-store/src/compat.conf ++++ b/luci-app-store/src/compat.conf +@@ -1 +1 @@ +-src/gz istore_compat https://istore.istoreos.com/repo/all/compat +\ No newline at end of file ++# src/gz istore_compat https://istore.istoreos.com/repo/all/compat + +--- a/luci-app-store/Makefile ++++ b/luci-app-store/Makefile +@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk + + LUCI_TITLE:=LuCI based ipk store + LUCI_DESCRIPTION:=luci-app-store is a ipk store developed by LinkEase team +-LUCI_DEPENDS:=+curl +opkg +luci-lib-ipkg +tar +libuci-lua +mount-utils +luci-lib-taskd ++LUCI_DEPENDS:=@(x86_64||aarch64) +curl +opkg +luci-lib-ipkg +tar +libuci-lua +mount-utils +luci-lib-taskd + LUCI_EXTRA_DEPENDS:=luci-lib-taskd (>=1.0.19) + LUCI_PKGARCH:=all + + +--- a/luci-app-store/luasrc/view/store/main.htm ++++ b/luci-app-store/luasrc/view/store/main.htm +@@ -26,6 +26,8 @@

    <%:iStore%> + + v<%=id.version%> + ++
    ++ 更多插件, 请使用 系统->软件包 +

    + +
    diff --git a/.github/diy/patches/luci-app-turboacc.patch b/.github/diy/patches/luci-app-turboacc.patch new file mode 100644 index 000000000..8477d553f --- /dev/null +++ b/.github/diy/patches/luci-app-turboacc.patch @@ -0,0 +1,241 @@ +--- a/luci-app-turboacc/Makefile ++++ b/luci-app-turboacc/Makefile +@@ -7,6 +7,7 @@ include $(TOPDIR)/rules.mk + + PKG_NAME:=luci-app-turboacc + PKG_RELEASE:=$(COMMITCOUNT) ++PKG_FLAGS:=nonshared + + PKG_LICENSE:=GPL-3.0-only + PKG_MAINTAINER:=Lean +@@ -21,10 +22,7 @@ PKG_CONFIG_DEPENDS:= \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_SHORTCUT_FE_DRV + + LUCI_TITLE:=LuCI support for Flow Offload / Shortcut-FE +-LUCI_DEPENDS:=+PACKAGE_$(PKG_NAME)_INCLUDE_PDNSD:pdnsd-alt \ +- +PACKAGE_$(PKG_NAME)_INCLUDE_BBR_CCA:kmod-tcp-bbr \ +- +PACKAGE_$(PKG_NAME)_INCLUDE_DNSFORWARDER:dnsforwarder \ +- +PACKAGE_$(PKG_NAME)_INCLUDE_DNSPROXY:dnsproxy \ ++LUCI_DEPENDS:=+PACKAGE_$(PKG_NAME)_INCLUDE_BBR_CCA:kmod-tcp-bbr \ + +PACKAGE_$(PKG_NAME)_INCLUDE_OFFLOADING:kmod-ipt-offload \ + +PACKAGE_$(PKG_NAME)_INCLUDE_SHORTCUT_FE:kmod-fast-classifier \ + +PACKAGE_$(PKG_NAME)_INCLUDE_SHORTCUT_FE_CM:kmod-shortcut-fe-cm \ + +--- a/luci-app-turboacc/luasrc/controller/turboacc.lua ++++ b/luci-app-turboacc/luasrc/controller/turboacc.lua +@@ -13,7 +13,7 @@ function index() + end + + local function fastpath_status() +- return luci.sys.call("/etc/init.d/turboacc check_status fastpath") == 0 ++ return luci.sys.call("/etc/init.d/turboacc check_status fastpath >/dev/null") == 0 + end + + local function bbr_status() + +--- a/luci-app-turboacc/luasrc/model/cbi/turboacc.lua ++++ b/luci-app-turboacc/luasrc/model/cbi/turboacc.lua +@@ -10,7 +10,7 @@ s = m:section(TypedSection, "turboacc", "") + s.addremove = false + s.anonymous = true + +-if nixio.fs.access("/lib/modules/" .. kernel_version .. "/xt_FLOWOFFLOAD.ko") then ++if nixio.fs.access("/lib/modules/" .. kernel_version .. "/xt_FLOWOFFLOAD.ko") or nixio.fs.access("/lib/modules/" .. kernel_version .. "/nft_flow_offload.ko") then + sw_flow = s:option(Flag, "sw_flow", translate("Software flow offloading")) + sw_flow.default = 0 + sw_flow.description = translate("Software based offloading for routing/NAT") +@@ -48,36 +48,15 @@ bbr_cca.default = 0 + bbr_cca.description = translate("Using BBR CCA can improve TCP network performance effectively") + end + +-fullcone_nat = s:option(ListValue, "fullcone_nat", translate("FullCone NAT")) ++if nixio.fs.access("/lib/modules/" .. kernel_version .. "/xt_FULLCONENAT.ko") or nixio.fs.access("/lib/modules/" .. kernel_version .. "/nft_fullcone.ko") then ++fullcone_nat = s:option(Flag, "fullcone_nat", translate("FullCone NAT")) + fullcone_nat.default = 0 +-fullcone_nat:value("0", translate("Disable")) +-fullcone_nat:value("1", translate("Compatible Mode")) +-fullcone_nat:value("2", translate("High Performing Mode")) + fullcone_nat.description = translate("Using FullCone NAT can improve gaming performance effectively") +- +-if nixio.fs.access("/usr/sbin/pdnsd") or nixio.fs.access("/usr/bin/dnsforwarder") or nixio.fs.access("/usr/bin/dnsproxy") then +-dns_caching = s:option(Flag, "dns_caching", translate("DNS Caching")) +-dns_caching.default = 0 +-dns_caching.rmempty = false +-dns_caching.description = translate("Enable DNS Caching and anti ISP DNS pollution") +-end +- +-dns_caching_mode = s:option(ListValue, "dns_caching_mode", translate("Resolve DNS Mode"), translate("DNS Program")) +-if nixio.fs.access("/usr/sbin/pdnsd") then +-dns_caching_mode:value("1", translate("Using PDNSD to query and cache")) ++if nixio.fs.access("/usr/sbin/nft") then ++fullcone_nat6 = s:option(Flag, "fullcone_nat6", translate("FullCone NAT6")) ++fullcone_nat6.default = 0 ++fullcone_nat6.description = translate("Using FullCone NAT6 can improve gaming performance effectively") + end +-if nixio.fs.access("/usr/bin/dnsforwarder") then +-dns_caching_mode:value("2", translate("Using DNSForwarder to query and cache")) + end +-if nixio.fs.access("/usr/bin/dnsproxy") then +-dns_caching_mode:value("3", translate("Using DNSProxy to query and cache")) +-end +-dns_caching_mode.default = 1 +-dns_caching_mode:depends("dns_caching", 1) +- +-dns_caching_dns = s:option(Value, "dns_caching_dns", translate("Upsteam DNS Server")) +-dns_caching_dns.default = "114.114.114.114,114.114.115.115,223.5.5.5,223.6.6.6,180.76.76.76,119.29.29.29,119.28.28.28,1.2.4.8,210.2.4.8" +-dns_caching_dns.description = translate("Muitiple DNS server can saperate with ','") +-dns_caching_dns:depends("dns_caching", 1) + + return m + +--- a/luci-app-turboacc/root/etc/init.d/turboacc ++++ b/luci-app-turboacc/root/etc/init.d/turboacc +@@ -18,11 +18,10 @@ inital_conf(){ + config_get "sfe_flow" "config" "sfe_flow" "0" + config_get "bbr_cca" "config" "bbr_cca" "0" + config_get "fullcone_nat" "config" "fullcone_nat" "0" +- config_get "dns_caching" "config" "dns_caching" "0" +- config_get "dns_caching_mode" "config" "dns_caching_mode" "0" +- config_get "dns_caching_dns" "config" "dns_caching_dns" ++ config_get "fullcone_nat6" "config" "fullcone_nat6" "0" + +- [ ! -e "/lib/modules/$(uname -r)/xt_FLOWOFFLOAD.ko" ] && { sw_flow="0"; hw_flow="0"; } ++ [[ ! -e "/lib/modules/$(uname -r)/xt_FLOWOFFLOAD.ko" && ! -e "/lib/modules/$(uname -r)/nft_flow_offload.ko" ]] && { sw_flow="0"; hw_flow="0"; } ++ [[ ! -e "/lib/modules/$(uname -r)/xt_FULLCONENAT.ko" && ! -e "/lib/modules/$(uname -r)/nft_fullcone.ko" ]] && { fullcone_nat="0"; fullcone_nat6="0"; } + [ ! -e "/lib/modules/$(uname -r)/tcp_bbr.ko" ] && bbr_cca="0" + } + +@@ -264,6 +263,7 @@ start(){ + uci set firewall.@defaults[0].flow_offloading="${sw_flow}" + uci set firewall.@defaults[0].flow_offloading_hw="${hw_flow}" + uci set firewall.@defaults[0].fullcone="${fullcone_nat}" ++ uci set firewall.@defaults[0].fullcone6="${fullcone_nat6}" + uci commit firewall + + [ "${sw_flow}" -ne "1" ] && [ "${sfe_flow}" -eq "1" ] && { +@@ -280,27 +280,6 @@ start(){ + sysctl -w net.ipv4.tcp_congestion_control="cubic" + fi + +- if [ "${dns_caching}" -eq "1" ]; then +- stop_dnscache +- sleep 1 +- +- rm -f "/var/log/dnscache.file" +- if [ "${dns_caching_mode}" = "1" ]; then +- start_pdnsd +- elif [ "${dns_caching_mode}" = "2" ]; then +- start_dnsforwarder +- elif [ "${dns_caching_mode}" = "3" ]; then +- start_dnsproxy +- fi +- +- change_dns +- +- /usr/share/dnscache/dnscache-while.sh > "/var/log/dnscache.file" 2>&1 & +- else +- revert_dns +- stop_dnscache +- fi +- + if [ "${restart_utils}" = "true" ]; then + echo "DNSMASQ change" + /etc/init.d/dnsmasq restart >"/dev/null" 2>&1 +@@ -314,6 +293,7 @@ stop(){ + uci set firewall.@defaults[0].flow_offloading="${sw_flow}" + uci set firewall.@defaults[0].flow_offloading_hw="${hw_flow}" + uci set firewall.@defaults[0].fullcone="${fullcone_nat}" ++ uci set firewall.@defaults[0].fullcone6="${fullcone_na6}" + uci commit firewall + + [ "${hw_wed}" -eq "0" ] && { +@@ -322,9 +302,6 @@ stop(){ + + unload_sfe + +- stop_dnscache +- revert_dns +- + if [ "${restart_utils}" = "true" ]; then + echo "DNSMASQ revert" + /etc/init.d/dnsmasq restart >"/dev/null" 2>&1 +@@ -346,10 +323,10 @@ restart(){ + check_status(){ + case "$1" in + "fastpath") +- if [ "$(cat "/sys/module/xt_FLOWOFFLOAD/refcnt" 2>"/dev/null" || echo 0)" -ne "0" ]; then ++ if [[ "$(cat "/sys/module/xt_FLOWOFFLOAD/refcnt" 2>"/dev/null" || echo 0)" -ne "0" || "$(cat "/sys/module/nft_flow_offload/refcnt" 2>"/dev/null" || echo 0)" -ne "0" ]]; then + echo -n "Flow Offloading" + exit 0 +- elif [ "$(cat "/sys/module/xt_FLOWOFFLOAD/refcnt" 2>"/dev/null")" -eq "0" ] && \ ++ elif [[ "$(cat "/sys/module/xt_FLOWOFFLOAD/refcnt" 2>"/dev/null")" -eq "0" || "$(cat "/sys/module/nft_flow_offload/refcnt" 2>"/dev/null")" -eq "0" ]] && \ + [ -e /sys/kernel/debug/hnat/hnat_version ]; then + echo -n "MediaTek HWNAT" + exit 0 +@@ -370,7 +347,7 @@ check_status(){ + fi + ;; + "fullconenat") +- if [ -z "$(iptables -t nat -L zone_wan_postrouting | grep -i fullcone)" ]; then ++ if [[ -z "$(iptables -t nat -L zone_wan_postrouting | grep -i fullcone)" && "$(cat "/sys/module/nft_fullcone/refcnt" 2>"/dev/null" || echo 0)" -eq "0" ]]; then + exit 1 + else + exit 0 +@@ -380,9 +357,6 @@ check_status(){ + [ "x$(cat "/proc/sys/net/ipv4/tcp_congestion_control" 2>"/dev/null")" = "xbbr" ] && \ + exit 0 || exit 1 + ;; +- "dns") +- pgrep "dnscache" >"/dev/null" && exit 0 || exit 1 +- ;; + *) + exit 2 + ;; + +--- a/luci-app-turboacc/root/etc/config/turboacc ++++ b/luci-app-turboacc/root/etc/config/turboacc +@@ -3,9 +3,7 @@ config turboacc 'config' + option sw_flow '1' + option hw_flow '1' + option sfe_flow '1' +- option fullcone_nat '2' ++ option fullcone_nat '1' ++ option fullcone_nat6 '0' + option hw_wed '0' + option bbr_cca '0' +- option dns_caching '0' +- option dns_caching_mode '1' +- option dns_caching_dns '114.114.114.114,114.114.115.115,223.5.5.5,223.6.6.6,180.76.76.76,119.29.29.29,119.28.28.28,1.2.4.8,210.2.4.8' + +--- a/shortcut-fe/shortcut-fe/Makefile ++++ b/shortcut-fe/shortcut-fe/Makefile +@@ -58,7 +58,6 @@ define KernelPackage/shortcut-fe-cm + CONFIG_NF_CONNTRACK_CHAIN_EVENTS=y \ + CONFIG_NF_CONNTRACK_EVENTS=y \ + CONFIG_XFRM=y +- CONFLICTS:=kmod-shortcut-fe-drv + endef + + define KernelPackage/shortcut-fe-cm/Description + +--- a/shortcut-fe/fast-classifier/Makefile ++++ b/shortcut-fe/fast-classifier/Makefile +@@ -32,7 +32,6 @@ define KernelPackage/fast-classifier/Default + CONFIG_NF_CONNTRACK_CHAIN_EVENTS=y \ + CONFIG_NF_CONNTRACK_MARK=y \ + CONFIG_XFRM=y +- CONFLICTS:=kmod-shortcut-fe-drv kmod-shortcut-fe-cm + endef + + define KernelPackage/fast-classifier + +--- a/luci-app-turboacc/luasrc/view/turboacc/turboacc_status.htm ++++ b/luci-app-turboacc/luasrc/view/turboacc/turboacc_status.htm +@@ -4,7 +4,6 @@ + <%:Flow Offloading%><%:Collecting data...%> + <%:FullCone NAT%><%:Collecting data...%> + <%:BBR CCA%><%:Collecting data...%> +- <%:DNS Caching%><%:Collecting data...%> + + + diff --git a/.github/diy/patches/luci-app-upnp.patch b/.github/diy/patches/luci-app-upnp.patch new file mode 100644 index 000000000..28265902d --- /dev/null +++ b/.github/diy/patches/luci-app-upnp.patch @@ -0,0 +1,11 @@ +--- a/luci-app-upnp/root/usr/share/rpcd/ucode/luci.upnp ++++ b/luci-app-upnp/root/usr/share/rpcd/ucode/luci.upnp +@@ -46,7 +46,7 @@ const methods = { + + if (ipt) { + for (let line = ipt.read('line'); length(line); line = ipt.read('line')) { +- let m = match(line, /^([0-9]+)\s+([a-z]+).+dpt:([0-9]+) to:(\S+):([0-9]+)/); ++ let m = match(line, /^([0-9]+).*\s+([a-z]+).+dpt:([0-9]+) to:(\S+):([0-9]+)/); + + if (m) { + push(rules, { diff --git a/.github/diy/patches/luci-app-xjay.patch b/.github/diy/patches/luci-app-xjay.patch new file mode 100644 index 000000000..ec67bda0e --- /dev/null +++ b/.github/diy/patches/luci-app-xjay.patch @@ -0,0 +1,22 @@ +--- a/luci-app-xjay/Makefile ++++ b/luci-app-xjay/Makefile +@@ -15,7 +15,9 @@ define Package/$(PKG_NAME) + SECTION:=Custom + CATEGORY:=Extra packages + TITLE:=LuCI Support for Xray +- DEPENDS:=+luci-base +xray-core +xray-geodata +jsonfilter ++ DEPENDS:=+luci-base +xray-core +xray-geodata +jsonfilter \ ++ +PACKAGE_XRAY_INCLUDE_IPTABLES_SUPPORT:kmod-nft-tproxy \ ++ +PACKAGE_XRAY_INCLUDE_IPTABLES_SUPPORT:kmod-nft-socket + PKGARCH:=all + endef + +@@ -39,7 +41,7 @@ config PACKAGE_XRAY_INCLUDE_NFTABLES_SUPPORT + select PACKAGE_nftables-json + select PACKAGE_kmod-nft-tproxy + select PACKAGE_kmod-nft-socket +- default n ++ default y + + endmenu + endef diff --git a/.github/diy/patches/luci-app-xray.patch b/.github/diy/patches/luci-app-xray.patch new file mode 100644 index 000000000..7b3c0add7 --- /dev/null +++ b/.github/diy/patches/luci-app-xray.patch @@ -0,0 +1,21 @@ +--- a/luci-app-xray/Makefile ++++ b/luci-app-xray/Makefile +@@ -144,6 +144,8 @@ endif + $(INSTALL_DATA) ./root/usr/share/xray/protocol/vmess.mjs $(1)/usr/share/xray/protocol/vmess.mjs + $(INSTALL_DATA) ./root/usr/share/xray/protocol/socks.mjs $(1)/usr/share/xray/protocol/socks.mjs + $(INSTALL_DATA) ./root/usr/share/xray/protocol/http.mjs $(1)/usr/share/xray/protocol/http.mjs ++ $(INSTALL_DIR) $(1)/usr/lib/lua/luci/i18n ++ po2lmo ./po/zh-cn/xray.zh-cn.po $(1)/usr/lib/lua/luci/i18n/xray.zh-cn.lmo + endef + + $(eval $(call BuildPackage,$(PKG_NAME))) + +--- a/luci-app-xray/root/etc/config/xray_core ++++ b/luci-app-xray/root/etc/config/xray_core +@@ -6,5 +6,5 @@ config general + list geoip_direct_code_list_v6 'cn' + list tproxy_ifaces_v4 'br-lan' + list tproxy_ifaces_v6 'br-lan' +- option transparent_proxy_enable '1' ++ option transparent_proxy_enable '0' + option xray_bin '/usr/bin/xray' diff --git a/.github/diy/patches/luci-theme-openmptcprouter.patch b/.github/diy/patches/luci-theme-openmptcprouter.patch new file mode 100644 index 000000000..85c25d4d3 --- /dev/null +++ b/.github/diy/patches/luci-theme-openmptcprouter.patch @@ -0,0 +1,11 @@ +--- a/luci-theme-openmptcprouter/luasrc/view/themes/openmptcprouter/header.htm ++++ b/luci-theme-openmptcprouter/luasrc/view/themes/openmptcprouter/header.htm +@@ -50,7 +50,7 @@ +
    +
    + diff --git a/.github/diy/patches/miniupnpd.patch b/.github/diy/patches/miniupnpd.patch new file mode 100644 index 000000000..2cbb2eeaf --- /dev/null +++ b/.github/diy/patches/miniupnpd.patch @@ -0,0 +1,31 @@ +--- a/miniupnpd/files/upnpd.config ++++ b/miniupnpd/files/upnpd.config +@@ -1,5 +1,5 @@ + config upnpd config +- option enabled 0 ++ option enabled 1 + option enable_natpmp 1 + option enable_upnp 1 + option secure_mode 1 +@@ -13,7 +13,7 @@ config upnpd config + option upnp_lease_file /var/run/miniupnpd.leases + option igdv1 1 + option ipv6_disable 1 +- option use_stun 0 ++ option use_stun 1 + option stun_host stun.miwifi.com + option stun_port 3478 + option force_forwarding 1 + + config perm_rule + +--- a/miniupnpd/Makefile ++++ b/miniupnpd/Makefile +@@ -58,7 +58,6 @@ define Package/miniupnpd-nftables + TITLE+= (nftables) + VARIANT:=nftables + DEFAULT_VARIANT:=1 +- CONFLICTS:=miniupnpd-iptables + endef + + define Package/miniupnpd/conffiles/Default diff --git a/.github/diy/patches/mosdns.patch b/.github/diy/patches/mosdns.patch new file mode 100644 index 000000000..e733dd671 --- /dev/null +++ b/.github/diy/patches/mosdns.patch @@ -0,0 +1,6 @@ +--- a/luci-app-mosdns/root/etc/hotplug.d/iface/99-mosdns ++++ b/luci-app-mosdns/root/etc/hotplug.d/iface/99-mosdns +@@ -1,2 +1,2 @@ + #!/bin/sh +-[ "$ACTION" = ifup ] && /etc/init.d/mosdns restart ++[[ "$ACTION" = ifup && "$(uci -q get mosdns.mosdns.enabled)" == 1 ]] && /etc/init.d/mosdns restart diff --git a/.github/diy/patches/mtwifi.patch.b b/.github/diy/patches/mtwifi.patch.b new file mode 100644 index 000000000..d9b0745ed --- /dev/null +++ b/.github/diy/patches/mtwifi.patch.b @@ -0,0 +1,50 @@ +--- a/luci-app-mtwifi/luasrc/view/admin_mtk/mtk_wifi_dev_cfg.htm ++++ b/luci-app-mtwifi/luasrc/view/admin_mtk/mtk_wifi_dev_cfg.htm +@@ -472,7 +472,7 @@ + } + + function getCountryRegionList(mode) { +- XHR.get('<%=luci.dispatcher.build_url("admin", "network", "wifi", "get_country_region_list")%>', 'mode='+mode, ++ XHR.get('<%=luci.dispatcher.build_url("admin", "network", "wifi", "get_country_region_list")%>', { "mode" : mode }, + function(x) + { + //console.log(x); +@@ -497,7 +497,7 @@ + } + + function getChannelList(mode, country_region) { +- XHR.get('<%=luci.dispatcher.build_url("admin", "network", "wifi", "get_channel_list")%>', 'mode='+mode+'&country_region='+country_region, ++ XHR.get('<%=luci.dispatcher.build_url("admin", "network", "wifi", "get_channel_list")%>', { "mode" : mode, "country_region" : country_region }, + function(x) + { + console.log(x); +@@ -616,7 +616,7 @@ + mode = mode.value*1; + + var cr = GetCountryRegion(mode); +- XHR.get('<%=luci.dispatcher.build_url("admin", "network", "wifi", "get_5G_2nd_80Mhz_channel_list")%>', 'ch_cur='+ch+'&country_region='+cr, ++ XHR.get('<%=luci.dispatcher.build_url("admin", "network", "wifi", "get_5G_2nd_80Mhz_channel_list")%>', { "ch_cur" : ch, "country_region" : cr }, + function(x) + { + //console.log(x); +@@ -658,7 +658,7 @@ + mode = mode.value*1; + + var cr = GetCountryRegion(mode); +- XHR.get('<%=luci.dispatcher.build_url("admin", "network", "wifi", "get_HT_ext_channel_list")%>', 'ch_cur='+ch+'&country_region='+cr, ++ XHR.get('<%=luci.dispatcher.build_url("admin", "network", "wifi", "get_HT_ext_channel_list")%>', { "ch_cur" : ch, "country_region" : cr }, + function(x) + { + console.log(x); + +--- a/luci-app-mtwifi/luasrc/view/admin_mtk/mtk_wifi_overview.htm ++++ b/luci-app-mtwifi/luasrc/view/admin_mtk/mtk_wifi_overview.htm +@@ -31,7 +31,7 @@

    无线概况

    + + + +- ++ + + + Generic Mediatek <%=dev.devname%> diff --git a/.github/diy/patches/nodogsplash.patch b/.github/diy/patches/nodogsplash.patch new file mode 100644 index 000000000..c51c92316 --- /dev/null +++ b/.github/diy/patches/nodogsplash.patch @@ -0,0 +1,12 @@ +--- a/luci-app-nodogsplash/Makefile ++++ b/luci-app-nodogsplash/Makefile +@@ -36,9 +36,6 @@ define Package/luci-app-nodogsplash/install + $(INSTALL_DIR) $(1)/www/luci-static/resources/view/nodogsplash/ + $(INSTALL_DATA) ./htdocs/luci-static/resources/view/nodogsplash/*.js $(1)/www/luci-static/resources/view/nodogsplash/ + +- $(INSTALL_DIR) $(1)/usr/libexec/rpcd/ +- $(INSTALL_DATA) ./root/usr/libexec/rpcd/luci.nodogsplash $(1)/usr/libexec/rpcd/ +- + $(INSTALL_DIR) $(1)/usr/share/luci/menu.d/ + $(INSTALL_DATA) ./root/usr/share/luci/menu.d/luci-app-nodogsplash.json $(1)/usr/share/luci/menu.d/ + diff --git a/.github/diy/patches/oaf.patch b/.github/diy/patches/oaf.patch new file mode 100644 index 000000000..458ea4e32 --- /dev/null +++ b/.github/diy/patches/oaf.patch @@ -0,0 +1,14 @@ +-- /dev/null ++++ b/luci-app-oaf/root/usr/share/rpcd/acl.d/luci-app-oaf.json +@@ -0,0 +1,11 @@ ++{ ++ "luci-app-oaf": { ++ "description": "Grant UCI access for luci-app-oaf", ++ "read": { ++ "uci": [ "appfilter" ] ++ }, ++ "write": { ++ "uci": [ "appfilter" ] ++ } ++ } ++} diff --git a/.github/diy/patches/opkginstall.patch b/.github/diy/patches/opkginstall.patch new file mode 100644 index 000000000..d20a395cd --- /dev/null +++ b/.github/diy/patches/opkginstall.patch @@ -0,0 +1,219 @@ +--- a/luci-app-package-manager/htdocs/luci-static/resources/view/package-manager.js ++++ b/luci-app-package-manager/htdocs/luci-static/resources/view/package-manager.js +@@ -184,7 +184,7 @@ function parseList(s, dest) + val = RegExp.$2.trim(); + } + else if (pkg) { +- dest.pkgs[pkg.name] = pkg; ++ dest.pkgs[pkg.name] = dest.pkgs[pkg.name] ? dest.pkgs[pkg.name] : pkg; + + var provides = dest.providers[pkg.name] ? [] : [ pkg.name ]; + +@@ -248,7 +248,7 @@ function display(pattern) + var avail = packages.available.pkgs[name], + inst = packages.installed.pkgs[name]; + +- if (!inst || !inst.installed) ++ if (!inst || !inst.installed || pkg.name.includes('kmod-') || pkg.name.includes('busybox') || pkg.name.includes('base-files')) + continue; + + if (!avail || compareVersion(avail.version, pkg.version) <= 0) +@@ -288,7 +288,7 @@ function display(pattern) + 'data-action': 'install', + 'click': handleInstall + }, _('Install…')); +- else if (inst.installed && inst.version != pkg.version) ++ else if (inst.installed && compareVersion(pkg.version, inst.version) > 0) + btn = E('div', { + 'class': 'btn cbi-button-positive', + 'data-package': name, +@@ -790,7 +790,8 @@ function handleInstall(ev) + 'id': 'overwrite-cb', + 'type': 'checkbox', + 'name': 'overwrite', +- 'disabled': isReadonlyView ++ 'disabled': isReadonlyView, ++ 'checked': true + }), ' ', + E('label', { 'for': 'overwrite-cb' }), ' ', + _('Allow overwriting conflicting package files') +@@ -1029,6 +1030,8 @@ function handlePkg(ev) + if (res.pkmcmd) + dlg.appendChild(E('pre', [ res.pkmcmd ])); + ++ var showModalFlag = (cmd !== 'update' && pkg) || res.stderr; ++ if (showModalFlag) { + if (res.stdout) + dlg.appendChild(E('pre', [ res.stdout ])); + +@@ -1056,6 +1059,10 @@ function handlePkg(ev) + resolveFn(res); + }, this, res) + }, _('Dismiss')))); ++ } else { ++ ui.hideModal(); ++ updateLists(); ++ } + }).catch(function(err) { + ui.addNotification(null, E('p', _('Unable to execute %s %s command: %s').format(L.hasSystemFeature('apk') ? 'apk' : 'opkg', cmd, err))); + ui.hideModal(); +@@ -1150,6 +1157,42 @@ return view.extend({ + }, + + render: function(listData) { ++ var checkUpdateNeeded = function() { ++ return Promise.all([ ++ L.resolveDefault(fs.stat('/tmp/opkg-lists'), null), ++ L.resolveDefault(fs.list('/tmp/opkg-lists'), []), ++ L.resolveDefault(fs.read('/tmp/resolv.conf.d/resolv.conf.auto'), '') ++ ]).then(function(results) { ++ var stat = results[0]; ++ var files = results[1]; ++ var resolvContent = results[2]; ++ ++ var isEmpty = files.length === 0; ++ var needUpdate = false; ++ ++ if (isEmpty) { ++ needUpdate = true; ++ } else if (stat) { ++ var currentDate = new Date(); ++ var lastUpdateDate = new Date(stat.mtime * 1000); // Convert seconds to milliseconds ++ // 检查是否在今天的零点之后更新过 ++ var today = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate()); ++ needUpdate = lastUpdateDate < today; ++ } else { ++ needUpdate = true; ++ } ++ ++ // 检查 resolv.conf.auto 文件内容 ++ var hasResolvContent = resolvContent && resolvContent.trim().length > 0; ++ ++ // 只有当需要更新且 resolv.conf.auto 不为空时,才返回 true ++ return needUpdate && hasResolvContent; ++ }).catch(function(error) { ++ console.error('Error checking update status:', error); ++ return false; // 如果出错,不执行更新 ++ }); ++ }; ++ + var query = decodeURIComponent(L.toArray(location.search.match(/\bquery=([^=]+)\b/))[1] || ''); + + var view = E([], [ +@@ -1191,6 +1234,7 @@ return view.extend({ + E('label', {}, _('Actions') + ':'), ' ', + E('span', { 'class': 'control-group' }, [ + E('button', { 'class': 'btn cbi-button-positive', 'data-command': 'update', 'click': handlePkg, 'disabled': isReadonlyView }, [ _('Update lists…') ]), ' ', ++ E('button', { 'class': 'btn cbi-button-negative', 'data-command': 'upgradeall', 'click': handlePkg, 'disabled': isReadonlyView }, [ _('Upgrade all…') ]), ' ', + E('button', { 'class': 'btn cbi-button-action', 'click': handleUpload, 'disabled': isReadonlyView }, [ _('Upload Package…') ]), ' ', + E('button', { 'class': 'btn cbi-button-neutral', 'click': handleConfig }, [ _('Configure %s').format(L.hasSystemFeature('apk') ? 'apk' : 'opkg') ]) + ]) +@@ -1276,7 +1320,17 @@ return view.extend({ + ]); + + requestAnimationFrame(function() { +- updateLists(listData) ++ updateLists(listData); ++ checkUpdateNeeded().then(function(needUpdate) { ++ if (needUpdate) { ++ setTimeout(function() { ++ var updateButton = document.querySelector('button[data-command="update"]'); ++ if (updateButton) { ++ updateButton.click(); ++ } ++ }, 10) ++ } ++ }); + }); + + return view; + +--- a/luci-app-package-manager/root/usr/libexec/package-manager-call ++++ b/luci-app-package-manager/root/usr/libexec/package-manager-call +@@ -27,7 +27,7 @@ case "$action" in + find "${lists_dir:-/usr/lib/opkg/lists}" -type f '!' -name '*.sig' | xargs -r gzip -cd + fi + ;; +- install|update|upgrade|remove) ++ install|update|upgrade|upgradeall|remove) + ( + cmd="$ipkg_bin" + +@@ -89,10 +89,45 @@ case "$action" in + + if flock -x 200; then + pkmcmd="$cmd $action $@" +- $cmd $action "$@" /tmp/ipkg.out 2>/tmp/ipkg.err +- code=$? +- stdout=$(cat /tmp/ipkg.out) ++ if [ $action == "upgradeall" ]; then ++ $cmd update /tmp/ipkg.out 2>/tmp/ipkg.err ++ code=$? ++ if [ $code == 0 ]; then ++ . /etc/profile.d/opkg.sh ++ if [[ "$(cat `opkg export au`)" ]] && lock -n /var/lock/opkg-upgrade; then ++ opkg upgr >/tmp/ipkg.out 2>>/tmp/ipkg.err ++ code=$? ++ lock -u /var/lock/opkg-upgrade ++ else ++ echo "🎉 所有软件包已是最新~" >>/tmp/ipkg.out ++ code=0 ++ fi ++ fi ++ else ++ $cmd $action "$@" /tmp/ipkg.out 2>/tmp/ipkg.err ++ code=$? ++ fi ++ pkgn="$(echo $@ | cut -d - -f 3-)" ++ case "$action" in ++ install|upgrade) ++ if [ "$(opkg list-installed | cut -f 1 -d ' ' | grep -w $@)" ]; then ++ rm -f /tmp/ipkg.err ++ ([ -f /etc/profile.d/opkg.sh ] && . /etc/profile.d/opkg.sh && opkg save) & ++ fi ++ ;; ++ remove) ++ if [ ! "$(opkg list-installed | cut -f 1 -d ' ' | grep -w $@)" ]; then ++ rm -f /tmp/ipkg.err ++ ([ -f /etc/profile.d/opkg.sh ] && . /etc/profile.d/opkg.sh && opkg save) & ++ fi ++ ;; ++ esac + stderr=$(cat /tmp/ipkg.err) ++ [ -n "$stderr" ] || { ++ echo "🎉 已完成, 请关闭本窗口~" >>/tmp/ipkg.out ++ code=0 ++ } ++ stdout=$(cat /tmp/ipkg.out) + else + code=255 + stderr="Failed to acquire lock" +@@ -110,7 +145,7 @@ case "$action" in + ;; + *) + echo "Usage: $0 {list-installed|list-available|update}" >&2 +- echo " $0 {install|upgrade|remove} pkg[ pkg...]" >&2 ++ echo " $0 {install|upgrade|upgradeall|remove} pkg[ pkg...]" >&2 + exit 1 + ;; + esac + + +--- a/luci-app-package-manager/root/usr/share/rpcd/acl.d/luci-app-package-manager.json ++++ b/luci-app-package-manager/root/usr/share/rpcd/acl.d/luci-app-package-manager.json +@@ -8,6 +8,7 @@ + "/usr/libexec/package-manager-call list-available": [ "exec" ], + "/etc/opkg.conf": [ "read" ], + "/etc/opkg/*.conf": [ "read" ], ++ "/tmp/resolv.conf.d/resolv.conf.auto": [ "read" ], + "/etc/apk/repositories": [ "read" ], + "/etc/apk/repositories.d/distfeeds.list": [ "read" ], + "/etc/apk/repositories.d/customfeeds.list": [ "read" ] +@@ -24,6 +25,7 @@ + "/usr/libexec/package-manager-call update": [ "exec" ], + "/usr/libexec/package-manager-call upgrade": [ "exec" ], + "/usr/libexec/package-manager-call upgrade *": [ "exec" ], ++ "/usr/libexec/package-manager-call upgradeall": [ "exec" ], + "/etc/opkg.conf": [ "write" ], + "/etc/opkg/*.conf": [ "write" ], + "/etc/apk/repositories": [ "write" ], diff --git a/.github/diy/patches/p910nd.patch b/.github/diy/patches/p910nd.patch new file mode 100644 index 000000000..53247d6fa --- /dev/null +++ b/.github/diy/patches/p910nd.patch @@ -0,0 +1,9 @@ +--- a/p910nd/Makefile ++++ b/p910nd/Makefile +@@ -28,6 +28,7 @@ define Package/p910nd + SUBMENU:=Printing + TITLE:=A small non-spooling printer server + URL:=http://p910nd.sourceforge.net ++ DEPENDS:=+kmod-usb-printer + USERID:=p910nd=393:lp=7 + endef diff --git a/.github/diy/patches/pgyvpn.patch b/.github/diy/patches/pgyvpn.patch new file mode 100644 index 000000000..3f261d101 --- /dev/null +++ b/.github/diy/patches/pgyvpn.patch @@ -0,0 +1,11 @@ +--- a/pgyvpn/Makefile ++++ b/pgyvpn/Makefile +@@ -78,7 +78,7 @@ define Package/pgyvpn/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_DIR) $(1)/usr/share/pgyvpn + +- $(CP) $(PKG_BUILD_DIR)/{pgyvpn_oraysl,pgyvpnsvr} $(1)/usr/sbin ++ $(CP) $(PKG_BUILD_DIR)/pgyvpn_oraysl $(1)/usr/sbin + $(INSTALL_BIN) ./files/etc/init.d/* $(1)/etc/init.d + $(INSTALL_CONF) ./files/etc/config/* $(1)/etc/config + $(INSTALL_BIN) ./files/etc/hotplug.d/iface/* $(1)/etc/hotplug.d/iface diff --git a/.github/diy/patches/qt6base.patch b/.github/diy/patches/qt6base.patch new file mode 100644 index 000000000..df34e4696 --- /dev/null +++ b/.github/diy/patches/qt6base.patch @@ -0,0 +1,19 @@ +--- a/qt6base/Makefile ++++ b/qt6base/Makefile +@@ -38,6 +38,16 @@ include $(INCLUDE_DIR)/cmake.mk + + STRIP:=$(TARGET_CROSS)strip $(call qstrip,$(CONFIG_STRIP_ARGS)) + ++define Host/Prepare ++ $(call Host/Prepare/Default) ++ $(SED) 's/^qt_internal_check_if_path_has_symlinks/# &/' $(HOST_BUILD_DIR)/CMakeLists.txt ++endef ++ ++define Build/Prepare ++ $(call Build/Prepare/Default) ++ $(SED) 's/^qt_internal_check_if_path_has_symlinks/# &/' $(PKG_BUILD_DIR)/CMakeLists.txt ++endef ++ + define Package/libQt6/Default + SECTION:=libs + CATEGORY:=Libraries diff --git a/.github/diy/patches/quickstart.patch b/.github/diy/patches/quickstart.patch new file mode 100644 index 000000000..01ec7a8e8 --- /dev/null +++ b/.github/diy/patches/quickstart.patch @@ -0,0 +1,23 @@ +--- a/luci-app-quickstart/Makefile ++++ b/luci-app-quickstart/Makefile +@@ -6,7 +6,7 @@ + include $(TOPDIR)/rules.mk + + LUCI_TITLE:=LuCI support for quickstart +-LUCI_DEPENDS:=+quickstart +luci-app-store ++LUCI_DEPENDS:=+quickstart +luci-app-ttyd +luci-i18n-ttyd-zh-cn + LUCI_PKGARCH:=all + + # PKG_RELEASE MUST be empty for luci.mk + +--- a/luci-app-quickstart/luasrc/controller/quickstart.lua ++++ b/luci-app-quickstart/luasrc/controller/quickstart.lua +@@ -5,7 +5,7 @@ module("luci.controller.quickstart", package.seeall) + function index() + if luci.sys.call("pgrep quickstart >/dev/null") == 0 then + local uci = require "luci.model.uci".cursor() +- entry({"admin", "quickstart"}, template("quickstart/home"), _("QuickStart"), 1).leaf = true ++ entry({"admin", "quickstart"}, template("quickstart/home")).leaf = true + entry({"admin", "network_guide"}, call("networkguide_index"), _("NetworkGuide"), 2) + entry({"admin", "network_guide", "pages"}, call("quickstart_index", {index={"admin", "network_guide", "pages"}})).leaf = true + if uci:get("quickstart", "main", "wifi_menu") == "1" then diff --git a/.github/diy/patches/routerdog.patch b/.github/diy/patches/routerdog.patch new file mode 100644 index 000000000..ea3df569f --- /dev/null +++ b/.github/diy/patches/routerdog.patch @@ -0,0 +1,49 @@ +--- a/routergo/Makefile ++++ b/routergo/Makefile +@@ -27,7 +27,7 @@ define Package/$(PKG_NAME) + CATEGORY:=Network + SUBMENU:=Web Servers/Proxies + TITLE:=RouterGo +- DEPENDS:=@(x86_64||aarch64||arm) +docker ++ DEPENDS:=@(x86_64||aarch64||arm) +docker +luci-app-linkease + URL:=https://github.com/Carseason/openwrt-packages + endef + + +--- a/luci-app-routerdog/luasrc/controller/routerdog.lua ++++ b/luci-app-routerdog/luasrc/controller/routerdog.lua +@@ -2,7 +2,7 @@ module("luci.controller.routerdog", package.seeall) + + function index() + if nixio.fs.access("/usr/lib/lua/luci/view/routerdog/main.htm") then +- entry({"admin", "routerdog"}, template("routerdog/index"), _("RouterDog"), 1).leaf = true ++ entry({"admin", "routerdog"}, template("routerdog/index")).leaf = true + end + entry({"admin", "routerdog_api"}, call("redirect_index")) + entry({"admin", "routerdog_api", "status"}, call("routerdog_api_status")) + +--- a/luci-app-routerdog/root/usr/share/luci/menu.d/luci-app-routerdog.json ++++ /dev/null +@@ -1,10 +0,0 @@ +-{ +- "admin/routerdog": { +- "title": "RouterDog", +- "order": -1, +- "action": { +- "type": "template", +- "path": "routerdog/index" +- } +- } +-} +\ No newline at end of file + +--- a/luci-app-routerdog/root/etc/uci-defaults/50_luci-routerdog ++++ b/luci-app-routerdog/root/etc/uci-defaults/50_luci-routerdog +@@ -1,4 +1,7 @@ + #!/bin/sh + ++uci set wizard.default.landing_page='routerdog' ++uci commit wizard ++ + rm -f /tmp/luci-indexcache + exit 0 diff --git a/.github/diy/patches/samba4.patch b/.github/diy/patches/samba4.patch new file mode 100644 index 000000000..443a885e5 --- /dev/null +++ b/.github/diy/patches/samba4.patch @@ -0,0 +1,13 @@ +--- a/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js ++++ b/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js +@@ -113,6 +113,10 @@ return view.extend({ + o.rmempty = false; + + s.option(form.Flag, 'force_root', _('Force Root')); ++ o.enabled = 'yes'; ++ o.disabled = 'no'; ++ o.default = 'yes'; ++ o.rmempty = false; + + o = s.option(form.Value, 'users', _('Allowed users')); + o.rmempty = true; diff --git a/.github/diy/patches/ssr-plus.patch b/.github/diy/patches/ssr-plus.patch new file mode 100644 index 000000000..13436b752 --- /dev/null +++ b/.github/diy/patches/ssr-plus.patch @@ -0,0 +1,238 @@ +--- a/luci-app-ssr-plus/Makefile ++++ b/luci-app-ssr-plus/Makefile +@@ -118,7 +118,7 @@ endchoice + + choice + prompt "V2ray-core Selection" +- default PACKAGE_$(PKG_NAME)_INCLUDE_Xray if aarch64||arm||i386||x86_64 ++ default PACKAGE_$(PKG_NAME)_INCLUDE_Xray + default PACKAGE_$(PKG_NAME)_INCLUDE_NONE_V2RAY + + config PACKAGE_$(PKG_NAME)_INCLUDE_NONE_V2RAY + +--- a/luci-app-ssr-plus/luasrc/controller/shadowsocksr.lua ++++ b/luci-app-ssr-plus/luasrc/controller/shadowsocksr.lua +@@ -28,11 +28,67 @@ function index() + entry({"admin", "services", "shadowsocksr", "reset"}, call("act_reset")) + entry({"admin", "services", "shadowsocksr", "restart"}, call("act_restart")) + entry({"admin", "services", "shadowsocksr", "delete"}, call("act_delete")) ++ entry({'admin', 'services', "shadowsocksr", 'ip'}, call('check_ip')) -- 获取ip情况 + --[[Backup]] + entry({"admin", "services", "shadowsocksr", "backup"}, call("create_backup")).leaf = true + + end + ++function check_site(host, port) ++ local nixio = require "nixio" ++ local socket = nixio.socket("inet", "stream") ++ socket:setopt("socket", "rcvtimeo", 2) ++ socket:setopt("socket", "sndtimeo", 2) ++ local ret = socket:connect(host, port) ++ socket:close() ++ return ret ++end ++ ++function get_ip_geo_info() ++ local result = luci.sys.exec('curl --retry 3 -m 10 -LfsA "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36" http://ip-api.com/json/') ++ local json = require "luci.jsonc" ++ local info = json.parse(result) ++ ++ return { ++ flag = string.lower(info.countryCode) or "un", ++ country = get_country_name(info.countryCode) or "Unknown", ++ ip = info.query, ++ isp = info.isp ++ } ++end ++ ++function get_country_name(countryCode) ++ local country_names = { ++ US = "美国", CN = "中国", JP = "日本", GB = "英国", DE = "德国", ++ FR = "法国", BR = "巴西", IT = "意大利", RU = "俄罗斯", CA = "加拿大", ++ KR = "韩国", ES = "西班牙", AU = "澳大利亚", MX = "墨西哥", ID = "印度尼西亚", ++ NL = "荷兰", TR = "土耳其", CH = "瑞士", SA = "沙特阿拉伯", SE = "瑞典", ++ PL = "波兰", BE = "比利时", AR = "阿根廷", NO = "挪威", AT = "奥地利", ++ TW = "台湾", ZA = "南非", TH = "泰国", DK = "丹麦", MY = "马来西亚", ++ PH = "菲律宾", SG = "新加坡", IE = "爱尔兰", HK = "香港", FI = "芬兰", ++ CL = "智利", PT = "葡萄牙", GR = "希腊", IL = "以色列", NZ = "新西兰", ++ CZ = "捷克", RO = "罗马尼亚", VN = "越南", UA = "乌克兰", HU = "匈牙利", ++ AE = "阿联酋", CO = "哥伦比亚", IN = "印度", EG = "埃及", PE = "秘鲁", TW = "台湾" ++ } ++ return country_names[countryCode] ++end ++ ++function check_ip() ++ local e = {} ++ local port = 80 ++ local geo_info = get_ip_geo_info(ip) ++ e.ip = geo_info.ip ++ e.flag = geo_info.flag ++ e.country = geo_info.country ++ e.isp = geo_info.isp ++ e.baidu = check_site('www.baidu.com', port) ++ e.taobao = check_site('www.taobao.com', port) ++ e.google = check_site('www.google.com', port) ++ e.youtube = check_site('www.youtube.com', port) ++ luci.http.prepare_content('application/json') ++ luci.http.write_json(e) ++end ++ + function subscribe() + luci.sys.call("/usr/bin/lua /usr/share/shadowsocksr/subscribe.lua >>/var/log/ssrplus.log") + luci.http.prepare_content("application/json") + +--- a/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua ++++ b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua +@@ -168,5 +168,6 @@ if is_finded("chinadns-ng") then + end + end + ++m:section(SimpleSection).template = "shadowsocksr/status_bottom" + return m + +diff --git a/luci-app-ssr-plus/luasrc/view/shadowsocksr/status_bottom.htm b/luci-app-passwall/luasrc/view/shadowsocksr/status_bottom.htm +new file mode 100644 +index 000000000000..a00fff9c79b3 +--- /dev/null ++++ b/luci-app-ssr-plus/luasrc/view/shadowsocksr/status_bottom.htm +@@ -0,0 +1,128 @@ ++ ++
    ++
    ++
    ++
    ++ 获取中... ++
    ++
    ++
    ++ ++ ++ ++ ++
    ++
    ++
    ++
    ++
    ++ ++ + +--- a/luci-app-ssr-plus/root/etc/uci-defaults/luci-ssr-plus ++++ b/luci-app-ssr-plus/root/etc/uci-defaults/luci-ssr-plus +@@ -43,5 +43,8 @@ if [ -s "/etc/uwsgi/vassals/luci-webui.ini" ];then + /etc/init.d/uwsgi restart + fi + ++grep -q ip-api.com /etc/ssrplus/black.list || ++ sed -i '$a ip-api.com' /etc/ssrplus/black.list ++ + rm -f /tmp/luci-indexcache /tmp/luci-indexcache.* + rm -rf /tmp/luci-modulecache/ diff --git a/.github/diy/patches/syncthing.patch b/.github/diy/patches/syncthing.patch new file mode 100644 index 000000000..03670c4b4 --- /dev/null +++ b/.github/diy/patches/syncthing.patch @@ -0,0 +1,10 @@ +--- a/luci-app-syncthing/root/etc/uci-defaults/luci-syncthing ++++ b/luci-app-syncthing/root/etc/uci-defaults/luci-syncthing +@@ -1,6 +1,7 @@ + #!/bin/sh + touch /etc/config/syncthing + ++sed -i "s/127.0.0.1:8384/0.0.0.0:8384/" /etc/config/syncthing + uci -q batch <<-EOF >/dev/null + delete ucitrack.@syncthing[-1] + add ucitrack syncthing diff --git a/.github/diy/patches/syscontrol.patch b/.github/diy/patches/syscontrol.patch new file mode 100644 index 000000000..cb2d10e2d --- /dev/null +++ b/.github/diy/patches/syscontrol.patch @@ -0,0 +1,35 @@ +--- a/luci-app-syscontrol/root/usr/bin/ram_release.sh ++++ b/luci-app-syscontrol/root/usr/bin/ram_release.sh +@@ -15,13 +15,13 @@ + . /lib/functions.sh + . /usr/share/libubox/jshn.sh + +-export TZ='Asia/Jakarta' ++export TZ='Asia/Shanghai' + + LOG_FILE="/var/log/ram_release.log" + PID_FILE="/var/run/ram_release.pid" + + log_message() { +- local timestamp=$(TZ='Asia/Jakarta' date +"%Y-%m-%d %H:%M:%S %Z") ++ local timestamp=$(TZ='Asia/Shanghai' date +"%Y-%m-%d %H:%M:%S %Z") + echo "$timestamp: $1" >> "$LOG_FILE" + logger -t "RAM Release" -- "$1" + } +@@ -43,7 +43,7 @@ update_cron() { + cron_days=$(echo $days | sed 's/mon/1/g; s/tue/2/g; s/wed/3/g; s/thu/4/g; s/fri/5/g; s/sat/6/g; s/sun/0/g') + hour=$(echo $time | cut -d: -f1) + minute=$(echo $time | cut -d: -f2) +- cron_entry="$minute $hour * * $cron_days TZ='Asia/Jakarta' /usr/bin/ram_release.sh release" ++ cron_entry="$minute $hour * * $cron_days TZ='Asia/Shanghai' /usr/bin/ram_release.sh release" + echo "$cron_entry" >> /etc/crontabs/root + log_message "Cron job updated: $cron_entry" + else + +--- a/luci-app-syscontrol/root/etc/config/77_syscontrol ++++ b/luci-app-syscontrol/root/etc/config/77_syscontrol +@@ -1,4 +1,4 @@ + config ram_release 'schedule' +- option enabled '1' ++ option enabled '0' + option time '03:00' diff --git a/.github/diy/patches/tencentddns.patch b/.github/diy/patches/tencentddns.patch new file mode 100644 index 000000000..8a79f59a7 --- /dev/null +++ b/.github/diy/patches/tencentddns.patch @@ -0,0 +1,23 @@ +--- a/luci-app-tencentddns/files/luci/i18n/tencentddns.zh-cn.po ++++ b/luci-app-tencentddns/files/luci/i18n/tencentddns.zh-cn.po +@@ -23,16 +23,16 @@ msgid "Base" + msgstr "基本设置" + + msgid "Key ID" +-msgstr "密钥ID" ++msgstr "Token ID" + + msgid "Key ID Mean" +-msgstr "DNSPod后台密钥管理中的ID" ++msgstr "DNSPod Token中的Token ID" + + msgid "Key Token" +-msgstr "密钥Token" ++msgstr "Token值" + + msgid "Key Token Mean" +-msgstr "DNSPod后台密钥管理中的Token" ++msgstr "DNSPod Token中的Token值" + + + msgid "WAN-IP Source" diff --git a/.github/diy/patches/timedreboot.patch b/.github/diy/patches/timedreboot.patch new file mode 100644 index 000000000..d60952928 --- /dev/null +++ b/.github/diy/patches/timedreboot.patch @@ -0,0 +1,80 @@ +--- a/luci-app-timedreboot/luasrc/model/cbi/timedreboot.lua ++++ b/luci-app-timedreboot/luasrc/model/cbi/timedreboot.lua +@@ -39,9 +39,4 @@ once=s:option(Flag,"once",translate("Only once")) + once.rmempty = false + once.default=0 + +-local apply =luci.http.formvalue("cbi.apply") +-if apply then +- luci.sys.call("/etc/init.d/timedreboot restart") +-end +- + return m + +--- a/luci-app-timedreboot/po/zh_Hans ++++ /dev/null +@@ -1 +0,0 @@ +-zh-cn +\ No newline at end of file + +--- a/luci-app-timedreboot/root/etc/init.d/timedreboot ++++ b/luci-app-timedreboot/root/etc/init.d/timedreboot +@@ -1,6 +1,11 @@ + #!/bin/sh /etc/rc.common ++ + START=50 + ++boot() { ++ exit 0; ++} ++ + run_reboot() + { + if [ -e "/usr/bin/dorboot" ]; then + +--- /dev/null ++++ b/luci-app-timedreboot/root/etc/uci-defaults/luci-timedreboot +@@ -0,0 +1,13 @@ ++#!/bin/sh ++ ++[ ! -f "/usr/share/ucitrack/luci-app-timedreboot.json" ] && { ++ cat > /usr/share/ucitrack/luci-app-timedreboot.json << EEOF ++{ ++ "config": "timedreboot", ++ "init": "timedreboot" ++} ++EEOF ++} ++ ++rm -f /tmp/luci-indexcache ++exit 0 +\ No newline at end of file + +--- a/luci-app-timedreboot/root/usr/bin/dorboot ++++ b/luci-app-timedreboot/root/usr/bin/dorboot +@@ -3,8 +3,6 @@ + # [K] (C)2020 + # http://github.com/kongfl888/luci-app-timedreboot + +-sleep 5s +- + if [ ! -e "/etc/config/timedreboot" ]; then + echo "timedreboot cfg is not exit" >> /tmp/timedreboot.log + logger "timedreboot cfg is not exit. Stop!" +@@ -60,7 +58,6 @@ rebootsys() { + fi + sleep 5s + touch /etc/banner +- sleep 5s + reboot + } + +@@ -123,8 +120,6 @@ if [ "${1}" = "0" -o "${1}" = "1" ]; then + rebootsys + else + justcfg +- sleep 10s +- justcfg + fi + + exit 0 diff --git a/.github/diy/patches/vssr.patch.b b/.github/diy/patches/vssr.patch.b new file mode 100644 index 000000000..81ab91d40 --- /dev/null +++ b/.github/diy/patches/vssr.patch.b @@ -0,0 +1,23 @@ +--- a/luci-app-vssr/root/usr/share/vssr/subscribe.lua ++++ b/luci-app-vssr/root/usr/share/vssr/subscribe.lua +@@ -369,7 +369,7 @@ end + local function wget(url) + local stdout = + luci.sys.exec( +- 'wget-ssl -q --user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36" --no-check-certificate -t 3 -T 10 -O- "' .. url .. '"' ++ 'wget -q --user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36" --no-check-certificate -t 3 -T 10 -O- "' .. url .. '"' + ) + return trim(stdout) + end + +--- a/luci-app-vssr/luasrc/view/vssr/tblsection.htm ++++ b/luci-app-vssr/luasrc/view/vssr/tblsection.htm +@@ -7,7 +7,7 @@ + 总计 +- <%- print(self.des)-%>个节点 ++ <%=self.des%>个节点 + +
    +
    diff --git a/.github/diy/patches/watchcat.patch b/.github/diy/patches/watchcat.patch new file mode 100644 index 000000000..fcec5a20b --- /dev/null +++ b/.github/diy/patches/watchcat.patch @@ -0,0 +1,43 @@ +--- a/watchcat/files/watchcat.init ++++ b/watchcat/files/watchcat.init +@@ -32,6 +32,8 @@ time_to_seconds() { + + config_watchcat() { + # Read config ++ config_get_bool enabled "$1" enabled 0 ++ [ "$enabled" = "1" ] || { echo "Watcat $1 not enabled."; return 1; } + config_get period "$1" period "120" + config_get mode "$1" mode "ping_reboot" + config_get pinghosts "$1" pinghosts "8.8.8.8" + +--- a/watchcat/files/watchcat.config ++++ b/watchcat/files/watchcat.config +@@ -1,5 +1,5 @@ + config watchcat + option period '6h' + option mode 'ping_reboot' +- option pinghosts '8.8.8.8' ++ option pinghosts '223.5.5.5' + option forcedelay '30' + +--- a/luci-app-watchcat/htdocs/luci-static/resources/view/watchcat.js ++++ b/luci-app-watchcat/htdocs/luci-static/resources/view/watchcat.js +@@ -18,6 +18,9 @@ return view.extend({ + + s.tab('general', _('General Settings')); + ++ o = s.taboption('general', form.Flag, 'enabled', _('Enabled')); ++ o.rmempty = false; ++ + o = s.taboption('general', form.ListValue, 'mode', + _('Mode'), + _("Ping Reboot: Reboot this device if a ping to a specified host fails for a specified duration of time.
    \ +@@ -51,7 +51,7 @@ return view.extend({ + + o = s.taboption('general', form.DynamicList, 'pinghosts', _('Hosts To Check'), _(`IP addresses or hostnames to ping.`)); + o.datatype = 'host'; +- o.default = ['8.8.8.8', '1.1.1.1']; ++ o.default = ['223.5.5.5', '8.8.8.8', '1.1.1.1']; + o.depends({ mode: "ping_reboot" }); + o.depends({ mode: "restart_iface" }); + o.depends({ mode: "run_script" }); diff --git a/.github/diy/patches/webd.patch b/.github/diy/patches/webd.patch new file mode 100644 index 000000000..aae6e3a9f --- /dev/null +++ b/.github/diy/patches/webd.patch @@ -0,0 +1,11 @@ +--- a/webd/Makefile ++++ b/webd/Makefile +@@ -78,7 +78,7 @@ ifeq ($(ARCH),aarch64) + endif + + PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(TARGET_ARCH)-openwrt-linux-$(TARGET_BOARD).tar.gz +-PKG_SOURCE_URL:=https://webd.cf/webd/$(PKG_VERSION)/ ++PKG_SOURCE_URL:=https://webd.cf/webd/webd_dl/$(PKG_VERSION)/ + PKG_HASH:=skip + + UNTAR_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) diff --git a/.github/diy/patches/wiwiz.patch b/.github/diy/patches/wiwiz.patch new file mode 100644 index 000000000..e500097b4 --- /dev/null +++ b/.github/diy/patches/wiwiz.patch @@ -0,0 +1,11 @@ +--- a/wifidog-wiwiz/Makefile ++++ b/wifidog-wiwiz/Makefile +@@ -20,7 +20,7 @@ define Package/wifidog-wiwiz + SUBMENU:=Portal + SECTION:=net + CATEGORY:=Wiwiz/PinPinWiFi +- DEPENDS:=+iptables-mod-extra +iptables-mod-ipopt +iptables-mod-nat-extra +libpthread +curl +jsonfilter ++ DEPENDS:=+luci-app-eqos +dcc2-wiwiz-nossl +iptables-mod-extra +iptables-mod-ipopt +iptables-mod-nat-extra +libpthread +curl +jsonfilter + TITLE:=wifidog-wiwiz + URL:=http://www.wiwiz.com + MENU:=1 diff --git a/.github/diy/patches/wiwiz.patch.b b/.github/diy/patches/wiwiz.patch.b new file mode 100644 index 000000000..255af5209 --- /dev/null +++ b/.github/diy/patches/wiwiz.patch.b @@ -0,0 +1,11 @@ +--- a/wifidog-wiwiz/Makefile ++++ b/wifidog-wiwiz/Makefile +@@ -21,7 +21,7 @@ define Package/wifidog-wiwiz + SUBMENU:=Portal + SECTION:=net + CATEGORY:=Wiwiz/PinPinWiFi +- DEPENDS:=+iptables-mod-extra +iptables-mod-ipopt +iptables-mod-nat-extra +libpthread +curl ++ DEPENDS:=+dcc2-wiwiz-nossl +luci-app-eqos +iptables-mod-extra +iptables-mod-ipopt +iptables-mod-nat-extra +iptables-mod-conntrack-extra +iptables-mod-iface +iptables-mod-ipmark +libpthread +curl + TITLE:=wifidog-wiwiz + URL:=http://www.wiwiz.com + endef diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml new file mode 100644 index 000000000..7eba2a438 --- /dev/null +++ b/.github/workflows/upstream.yml @@ -0,0 +1,531 @@ +# +# This is free software, lisence use MIT. +# +# +# +name: Merge-upstream +on: + push: + paths: + - '.github/workflows/upstream.yml' + - '.gitignore' + - '.github/diy/**' + schedule: + - cron: 0 */12 * * * + workflow_dispatch: + inputs: + ssh: + description: 'ssh' + required: false + default: 'true' + watch: + types: started + repository_dispatch: + +jobs: + merge: + if: github.event.repository.owner.id == github.event.sender.id || ! github.event.sender.id || github.event.sender.id == '119362912' + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@main + with: + fetch-depth: 0 + + - uses: de-vri-es/setup-git-credentials@v2 + with: + credentials: https://kiddin9:${{ secrets.TOKEN_KIDDIN9 }}@github.com/ + + - name: Set git identity + run : | + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git config --global user.name "github-actions[bot]" + sudo timedatectl set-timezone "Asia/Shanghai" + + - name: Syn upstream + run: | + shopt -s extglob + set +e + git rm -r --cache * >/dev/null 2>&1 & + rm -rf `find ./* -maxdepth 0 -type d ! -name ".github/diy"` >/dev/null 2>&1 + function git_clone() { + git clone --depth 1 $1 $2 + if [ "$?" != 0 ]; then + echo "error on $1" + pid="$( ps -q $$ )" + kill $pid + fi + } + function git_sparse_clone() { + trap 'rm -rf "$tmpdir"' EXIT + branch="$1" curl="$2" && shift 2 + rootdir="$PWD" + tmpdir="$(mktemp -d)" || exit 1 + if [ ${#branch} -lt 10 ]; then + git clone -b "$branch" --depth 1 --filter=blob:none --sparse "$curl" "$tmpdir" + cd "$tmpdir" + else + git clone --filter=blob:none --sparse "$curl" "$tmpdir" + cd "$tmpdir" + git checkout $branch + fi + if [ "$?" != 0 ]; then + echo "error on $curl" + exit 1 + fi + git sparse-checkout init --cone + git sparse-checkout set "$@" + mv -n $@ $rootdir/ || true + cd $rootdir + } + function mvdir() { + mv -n `find $1/* -maxdepth 0 -type d` ./ + rm -rf $1 + } + ( + git_clone https://github.com/kiddin9/my-packages && mvdir my-packages + git_clone https://github.com/kiddin9/openwrt-bypass && mvdir openwrt-bypass + git_clone https://github.com/kiddin9/luci-app-dnsfilter + git_clone https://github.com/kiddin9/aria2 + git_clone https://github.com/kiddin9/luci-theme-edge + git_clone https://github.com/kiddin9/autoshare && mvdir autoshare + git_clone https://github.com/kiddin9/luci-app-xlnetacc + git_clone https://github.com/kiddin9/luci-app-wizard + git_clone https://github.com/kiddin9/luci-app-adguardhome + git_clone https://github.com/kiddin9/luci-app-cloudreve + git_clone https://github.com/kiddin9/openwrt-filebrowser && mvdir openwrt-filebrowser + # git_clone https://github.com/kiddin9/nginx-ui-openwrt && mvdir nginx-ui-openwrt + ) & + ( + # git_clone https://github.com/kiddin9/openwrt-netdata netdata + git_clone https://github.com/kiddin9/luci-app-syscontrol + git_clone https://github.com/kiddin9/luci-app-chinadns-ng + git_clone https://github.com/kiddin9/openwrt-my-dnshelper && mvdir openwrt-my-dnshelper + git_clone https://github.com/kiddin9/openwrt-lingtigameacc && mvdir openwrt-lingtigameacc + git_clone https://github.com/kiddin9/luci-app-timewol + git_clone https://github.com/kiddin9/luci-app-vsftpd + git_clone https://github.com/kiddin9/openwrt-subconverter && mvdir openwrt-subconverter + git_clone https://github.com/kiddin9/luci-app-syncdial + ) & + ( + git_clone https://github.com/Openwrt-Passwall/openwrt-passwall && mvdir openwrt-passwall + git_clone https://github.com/Openwrt-Passwall/openwrt-passwall-packages && mvdir openwrt-passwall-packages + git_clone https://github.com/sbwml/luci-app-mosdns openwrt-mos && mv -n openwrt-mos/{*mosdns,v2dat} ./; rm -rf openwrt-mos + git clone https://github.com/fw876/helloworld && mvdir helloworld + git_clone https://github.com/Lienol/openwrt-package liep + git_clone https://github.com/rufengsuixing/luci-app-autoipsetadder + git_clone https://github.com/NateLol/luci-app-beardropper + git_clone https://github.com/riverscn/openwrt-iptvhelper && mvdir openwrt-iptvhelper + git_clone https://github.com/kongfl888/luci-app-timedreboot + git_clone https://github.com/sbwml/luci-app-webdav + git_clone https://github.com/sbwml/package_kernel_tcp-brutal + git_clone https://github.com/hudra0/luci-app-qosmate + ) & + ( + #git_clone https://github.com/jerrykuku/luci-app-vssr + #git_clone https://github.com/jerrykuku/luci-app-ttnode + git_clone https://github.com/sirpdboy/luci-app-advancedplus + git_clone https://github.com/sirpdboy/luci-app-taskplan taskplan && mvdir taskplan + git_clone https://github.com/sirpdboy/luci-app-lucky oplucky && mvdir oplucky + git_clone https://github.com/sirpdboy/luci-app-partexp partexp && mvdir partexp + # git_clone https://github.com/sirpdboy/luci-app-netspeedtest speedtest && rm -rf speedtest/{iperf*,演示.gif};mvdir speedtest + git_clone https://github.com/sirpdboy/luci-app-parentcontrol + git_clone https://github.com/sirpdboy/luci-app-poweroffdevice poweroffdevice && mvdir poweroffdevice + git_clone https://github.com/sirpdboy/luci-app-watchdog watchdog1 && mvdir watchdog1 + git_clone https://github.com/sirpdboy/luci-app-cupsd cupsd1 && mv -n cupsd1/{luci-app-cupsd,cups} ./ ; rm -rf cupsd1 + git_clone https://github.com/sirpdboy/luci-app-timecontrol timecontrol && mvdir timecontrol + git_clone https://github.com/sirpdboy/luci-theme-kucat + git_clone https://github.com/sirpdboy/luci-app-kucat-config + git_clone https://github.com/sirpdboy/luci-app-chatgpt-web + git_clone https://github.com/sirpdboy/luci-app-eqosplus + # git_clone https://github.com/muink/luci-app-homeproxy + ) & + ( + git_clone https://github.com/destan19/OpenAppFilter && mvdir OpenAppFilter + git_clone https://github.com/lvqier/luci-app-dnsmasq-ipset + git_clone https://github.com/walkingsky/luci-wifidog luci-app-wifidog + git_clone https://github.com/peter-tank/luci-app-autorepeater + git_clone https://github.com/brvphoenix/luci-app-wrtbwmon wrtbwmon1 && mvdir wrtbwmon1 + git_clone https://github.com/brvphoenix/wrtbwmon wrtbwmon2 && mvdir wrtbwmon2 + git_clone https://github.com/muink/openwrt-fastfetch + git_clone https://github.com/timsaya/luci-app-bandix bandix1 && mv -f bandix1/luci-app-bandix ./;rm -rf bandix1 + git_clone https://github.com/timsaya/openwrt-bandix bandix2 && mv -f bandix2/openwrt-bandix ./;rm -rf bandix2 + ) & + ( + git_clone https://github.com/everburstSun/tencentcloud-openwrt-plugin-ddns && mv -n tencentcloud-openwrt-plugin-ddns/tencentcloud_ddns ./luci-app-tencentddns; rm -rf tencentcloud-openwrt-plugin-ddns + git_clone https://github.com/Tencent-Cloud-Plugins/tencentcloud-openwrt-plugin-cos && mv -n tencentcloud-openwrt-plugin-cos/tencentcloud_cos ./luci-app-tencentcloud-cos; rm -rf tencentcloud-openwrt-plugin-cos + git_clone https://github.com/doushang/luci-app-shortcutmenu luci-shortcutmenu && mv -n luci-shortcutmenu/luci-app-shortcutmenu ./ ; rm -rf luci-shortcutmenu + git_clone https://github.com/aa65535/openwrt-dist-luci + # git_clone https://github.com/morytyann/OpenWrt-msd && mvdir OpenWrt-msd + # git_clone https://github.com/messense/aliyundrive-webdav aliyundrive && mv -n aliyundrive/openwrt/* ./ ; rm -rf aliyundrive + # git_clone https://github.com/sbilly/netmaker-openwrt && mv -n netmaker-openwrt/netmaker ./; rm -rf netmaker-openwrt + # git_clone https://github.com/lisaac/luci-app-dockerman dockerman && mv -n dockerman/applications/* ./; rm -rf dockerman + ) & + ( + git_clone https://github.com/ophub/luci-app-amlogic amlogic && mv -n amlogic/luci-app-amlogic ./;rm -rf amlogic + git_clone https://github.com/mingxiaoyu/luci-app-cloudflarespeedtest cloudflarespeedtest && mv -n cloudflarespeedtest/applications/* ./;rm -rf cloudflarespeedtest + git_clone https://github.com/Openwrt-Passwall/openwrt-passwall2 passwall2 && mv -n passwall2/luci-app-passwall2 ./;rm -rf passwall2 + git_clone https://github.com/linkease/nas-packages && mv -n nas-packages/network/services/* ./; rm -rf nas-packages + git_clone https://github.com/linkease/nas-packages-luci && mv -n nas-packages-luci/luci/* ./; rm -rf nas-packages-luci + git_clone https://github.com/linkease/istore && mv -n istore/luci/* ./; rm -rf istore + #git_clone https://github.com/linkease/lcdsimple lcdsimple1 && mvdir lcdsimple1 + git_clone https://github.com/fcshark-org/openwrt-fchomo && mvdir openwrt-fchomo + git_clone https://github.com/Tokisaki-Galaxy/luci-app-tailscale-community tailscalec && mv -n tailscalec/luci-app-tailscale-community ./;rm -rf tailscalec + ) & + ( + git_clone https://github.com/frainzy1477/luci-app-clash + git_clone https://github.com/peter-tank/luci-app-fullconenat + git_clone https://github.com/KFERMercer/luci-app-tcpdump + git_clone https://github.com/ykxVK8yL5L/pikpak-webdav pikpak && mv -n pikpak/openwrt/* ./;rm -rf pikpak + git_clone https://github.com/jjm2473/openwrt-apps && rm -rf openwrt-apps/{luci-app-cpufreq,luci-app-ota,luci-alias.mk} && sed -i "s/luci-alias.mk/..\/luci.mk/" openwrt-apps/*/Makefile && mvdir openwrt-apps + git_clone https://github.com/nikkinikki-org/OpenWrt-nikki && mv -f OpenWrt-nikki/{luci-app-nikki,nikki} ./;rm -rf OpenWrt-nikki + ) & + ( + git_clone https://github.com/ZeaKyX/speedtest-web + git_clone https://github.com/ZeaKyX/luci-app-speedtest-web + git_clone https://github.com/linkease/openwrt-app-actions + git_clone https://github.com/Wulnut/luci-app-suselogin + git_clone https://github.com/mchome/openwrt-dogcom + git_clone https://github.com/lucikap/luci-app-brukamen && mv -n luci-app-brukamen/luci* ./;rm -rf luci-app-brukamen luci-app-autoshell_*.ipk + git_clone https://github.com/yichya/luci-app-xray yichya && mv -f yichya/status ./luci-app-xray-status;mv -f yichya/core ./luci-app-xray;rm -rf yichya + git_clone https://github.com/rafmilecki/luci-app-xjay + # git_clone https://github.com/kiddin9/openwrt-thunder && mvdir openwrt-thunder + ) & + ( + git_clone https://github.com/honwen/luci-app-aliddns + git_clone https://github.com/peter-tank/luci-app-dnscrypt-proxy2 + git_clone https://github.com/sundaqiang/openwrt-packages && mv -n openwrt-packages/luci-* ./; rm -rf openwrt-packages + git_clone https://github.com/CHN-beta/rkp-ipid + git_clone https://github.com/2018nuoyan/openwrt_nezha && mv -n openwrt_nezha/*nezhav1 ./; rm -rf openwrt_nezha + git clone https://github.com/Ausaci/luci-app-nat6-helper -b main-dev + ) & + ( + # git_clone https://github.com/zzsj0928/luci-app-pushbot + git_clone https://github.com/shanglanxin/luci-app-homebridge + git_clone https://github.com/ykxVK8yL5L/luci-app-synology synology && mv -n synology/luci-app-synology ./ && rm -rf synology + git_clone https://github.com/htynkn/openwrt-switch-lan-play && mv -n openwrt-switch-lan-play/package/* ./ && rm -rf openwrt-switch-lan-play + git_clone https://github.com/xptsp/luci-app-nodogsplash + git_clone https://github.com/xptsp/luci-mod-listening-ports + git_clone https://github.com/xptsp/luci-app-squid-adv + ) & + ( + git_clone https://github.com/honwen/luci-app-shadowsocks-rust + git_clone https://github.com/Hyy2001X/AutoBuild-Packages && rm -rf AutoBuild-Packages/luci-app-adguardhome && mvdir AutoBuild-Packages + # git_clone https://github.com/lazywalker/mmdvm-openwrt && rm -rf mmdvm-openwrt/misc && mvdir mmdvm-openwrt + git_clone https://github.com/4IceG/luci-app-at-socat at-socat && mvdir at-socat + git_clone https://github.com/4IceG/luci-app-easyconfig-transfer easyconfig && mvdir easyconfig + git_clone https://github.com/4IceG/luci-app-atcommands atcommands && mvdir atcommands + ) & + ( + git_clone https://github.com/Diciya/luci-app-broadbandacc + git_clone https://github.com/wiwizcom/WiFiPortal && mvdir WiFiPortal + # git_clone https://github.com/vinewx/NanoHatOLED && mv NanoHatOLED/nanohatoled ./ && rm -rf NanoHatOLED + git_clone https://github.com/zerolabnet/luci-app-torbp + git_clone https://github.com/sbwml/luci-app-airconnect airconnect1 && mv airconnect1/* ./ && rm -rf airconnect1 + git_clone https://github.com/openwrtdiy/luci-app-pppoe-user + git_clone https://github.com/derisamedia/luci-theme-alpha + git_clone https://github.com/animegasan/luci-app-alpha-config + git_clone https://github.com/gofly/openwrt-luci-proto-tinc + git_clone https://github.com/hzyitc/mnh-openwrt && mvdir mnh-openwrt + ) & + ( + git_clone https://github.com/QiuSimons/luci-app-daed-next daed1 && mvdir daed1 + git_clone https://github.com/JiaY-shi/fancontrol fanc && mv fanc/{fancontrol,luci-app-fancontrol} ./;rm -rf fanc + git_sparse_clone master "https://github.com/coolsnowwolf/lede" package/wwan package/lean package/network/services/shellsync package/qca/shortcut-fe && cp -rf wwan/*/* ./ ; rm -Rf wwan + git_clone https://github.com/Siriling/5G-Modem-Support && rm -rf 5G-Modem-Support/rooter && mvdir 5G-Modem-Support + git_clone https://github.com/linkease/istore-packages + ) & + ( + git_clone https://github.com/muink/luci-app-dnsproxy + git_clone https://github.com/muink/luci-app-einat + git_clone https://github.com/muink/openwrt-einat-ebpf + git_clone https://github.com/muink/openwrt-natmapt + git_clone https://github.com/muink/luci-app-natmapt + git_clone https://github.com/muink/openwrt-stuntman + git_clone https://github.com/muink/openwrt-alwaysonline + git_clone https://github.com/muink/luci-app-alwaysonline + git_clone https://github.com/muink/openwrt-rgmac + git_clone https://github.com/muink/luci-app-change-mac + git_clone https://github.com/muink/luci-app-packagesync + git_clone https://github.com/muink/luci-app-tn-netports + git_clone https://github.com/muink/openwrt-go-stun + git_clone https://github.com/muink/luci-app-tinyfilemanager + git_clone https://github.com/muink/openwrt-Toolkit + ) & + ( + git_clone https://github.com/gSpotx2f/luci-app-temp-status + git_clone https://github.com/gSpotx2f/luci-app-cpu-perf + git_clone https://github.com/gSpotx2f/luci-app-log + git_clone https://github.com/gSpotx2f/luci-app-internet-detector idetector && mv idetector/*internet-detector* ./;rm -rf idetector + git_clone https://github.com/gSpotx2f/luci-app-disks-info + git_clone https://github.com/gSpotx2f/luci-app-interfaces-statistics + git_clone https://github.com/gSpotx2f/luci-app-cpu-status-mini + git_clone https://github.com/gSpotx2f/luci-app-cpu-status + git_clone https://github.com/Carseason/openwrt-packages Carseason1 && mv -n Carseason1/*/* ./;mv services/* ./;rm -rf Carseason1 services + git_clone https://github.com/Carseason/openwrt-themedog && mv -n openwrt-themedog/luci/* ./;rm -rf openwrt-themedog + git_clone https://github.com/Carseason/openwrt-app-actions Carseason2 && mv -n Carseason2/applications/* ./;rm -rf Carseason2 + git_clone https://github.com/Thaolga/openwrt-nekobox && mv openwrt-nekobox/luci-* ./;rm -rf openwrt-nekobox + git_clone https://github.com/nosignals/openwrt-neko && mv openwrt-neko/luci-app-neko ./;rm -rf openwrt-neko + ) & + ( + git_clone https://github.com/ilxp/luci-app-ikoolproxy + git_clone https://github.com/animegasan/luci-app-droidmodem + git_clone https://github.com/animegasan/luci-app-droidnet + git_clone https://github.com/animegasan/luci-app-ipinfo + git_clone https://github.com/animegasan/luci-app-dnsleaktest + git_clone https://github.com/animegasan/luci-app-gpioled + git_clone https://github.com/hingbong/hickory-dns-openwrt && mvdir hickory-dns-openwrt + git_clone https://github.com/kenzok78/luci-app-guest-wifi + git_clone https://github.com/EkkoG/openwrt-natmap + git_clone https://github.com/EkkoG/luci-app-natmap + git_clone https://github.com/yichya/openwrt-hv-tools + ) & + ( + git_clone https://github.com/EasyTier/luci-app-easytier luci-app-easytier1 && mvdir luci-app-easytier1 + git_clone https://github.com/ntlf9t/luci-app-dnspod + git_clone https://github.com/lmq8267/luci-app-vnt opvnt && mv -f opvnt/luci-app-vnt ./;rm -rf opvnt + git_clone https://github.com/RymFred11/luci-app-nettask nettask && mv nettask/luci-app-nettask ./;rm -rf nettask + git_clone https://github.com/jarod360/luci-app-xupnpd + git_clone https://github.com/fuqiang03/openwrt-caddy + git_clone https://github.com/lmq8267/luci-app-caddy luci-caddy && mv luci-caddy/luci-app-caddy ./;rm -rf luci-caddy + git_clone https://github.com/sbwml/luci-app-smbuser + git_clone https://github.com/rushxrushx/luci-app-redsocks + git_clone https://github.com/luochongjun/luci-app-dynv6 + git_clone https://github.com/nicholas9698/luci-app-campusnet + git_clone https://github.com/tanghammer/luci-app-switchtools + ) & + ( + git_clone https://github.com/kingyond/luci-app-accesscontrol-plus accesscontrol-plus && mv accesscontrol-plus/luci-app-accesscontrol-plus ./;rm -rf accesscontrol-plus + git_clone https://github.com/4IceG/luci-app-lite-watchdog lite-watchdog && mv lite-watchdog/luci-app-lite-watchdog ./;rm -rf lite-watchdog + git_clone https://github.com/Mitsuhaxy/luci-app-miniproxy + git_clone https://github.com/tkmsst/luci-app-cellularstatus cellularstatus && mv cellularstatus/luci/applications/* ./;rm -rf cellularstatus + git_clone https://github.com/tracemouse/luci-app-coredns coredns && mv coredns/luci-app-coredns ./;rm -rf coredns + git_clone https://github.com/arenekosreal/luci-app-nginx + git_clone https://github.com/zfdx123/luci-app-school + git_clone https://github.com/tano-systems/luci-app-tn-lldpd + git_clone https://github.com/DRAWCORE/luci-app-qos-emong + # git_clone https://github.com/wintbiit/luci-app-sakurafrp + git_clone https://github.com/ykxVK8yL5L/luci-app-taskschedule taskschedule && mvdir taskschedule + #git_clone https://github.com/douo/luci-app-tinyfecvpn + ) & + ( + git_clone https://github.com/ttimasdf/luci-app-jederproxy + git_clone https://github.com/ApeaSuperz/luci-app-cqustdotnet cqustdotnet && mv cqustdotnet/luci-app-cqustdotnet ./;rm -rf cqustdotnet + git_clone https://github.com/shenyunet/luci-app-hypercpe + git_clone https://github.com/xcode75/luci-app-xclient + git_clone https://github.com/chenzhen6666/luci-app-mproxy mproxy && mvdir mproxy + git_clone https://github.com/a904055262/luci-app-ipv6clientfilter + git_clone https://github.com/mukaiu/luci-app-domain-proxy + git_clone https://github.com/danielaskdd/luci-app-smartvpn + git_clone https://github.com/hequan2017/luci-app-forcedata + git_clone https://github.com/sbwml/luci-app-openlist2 oplist && mvdir oplist + git_clone https://github.com/AngelaCooljx/luci-theme-material3 + git_clone https://github.com/eamonxg/luci-theme-aurora + ) & + ( + #git_clone https://github.com/bobbyunknown/luci-app-insomclash + git_clone https://github.com/muink/luci-app-ssrust + git_clone https://github.com/hudra0/qosmate + git_clone https://github.com/muink/luci-app-netdata + git_clone https://github.com/xptsp/luci-app-ympd + git_clone https://github.com/xptsp/openwrt-ympd + git_clone https://github.com/xptsp/openwrt-peanut + git_clone https://github.com/calfeche13/luci-app-public-ip-monitor + # git_clone https://github.com/vison-v/luci-app-nginx-proxy + git_clone https://github.com/tty228/luci-app-wechatpush + git_clone https://github.com/sbwml/luci-app-mentohust mentohust1 && mvdir mentohust1 + # git_clone https://github.com/natpierce/luci-app-natpierce natpierce && mv natpierce/luci-app-natpierce ./;rm -rf natpierce + ) & + ( + git_sparse_clone master "https://github.com/coolsnowwolf/packages" multimedia/UnblockNeteaseMusic-Go \ + multimedia/UnblockNeteaseMusic multimedia/aliyundrive-webdav net/gowebdav net/kismet net/mstpd \ + net/qBittorrent-static net/phtunnel net/headscale net/clouddrive2 net/baidupcs-go net/daemonlogger net/geth net/gnurl \ + net/uugamebooster net/pgyvpn net/ooniprobe net/polipo net/rosy-file-server net/qiyougamebooster \ + net/sqm-scripts-extra net/tor-fw-helper net/vncrepeater net/verysync \ + net/vpnbypass net/vpn-policy-routing utils/qfirehose + git_sparse_clone master "https://github.com/lunatickochiya/Matrix-Action-Openwrt" package/kochiya/brlaser package/kochiya/luci-app-banmac-ipt package/kochiya/luci-app-banmac-nft package/kochiya/luci-app-nvr package/kochiya/luci-app-openvpn-server package/kochiya/luci-app-openvpn-server-client + git_sparse_clone main https://github.com/sbwml/openwrt_pkgs luci-app-socat + ) & + ( + git_sparse_clone master "https://github.com/xiaoqingfengATGH/feeds-xiaoqingfeng" homeredirect luci-app-homeredirect + git_sparse_clone openwrt-25.12 "https://github.com/immortalwrt/immortalwrt" \ + package/kernel/rtl8189es package/emortal/autocore package/emortal/automount \ + package/emortal/cpufreq package/network/utils/fullconenat package/network/utils/fullconenat-nft \ + package/utils/mhz package/utils/pcat-manager + ) & + ( + git_sparse_clone master "https://github.com/x-wrt/com.x-wrt" luci-app-macvlan luci-app-xwan + git_sparse_clone master "https://github.com/obsy/packages" oscam luci-proto-wwan 3ginfo modemband + ) & + ( + git_sparse_clone develop "https://github.com/Ysurac/openmptcprouter-feeds" \ + dsvpn glorytun-udp glorytun grpcurl ipcalc luci-app-dsvpn luci-app-glorytun-tcp luci-app-glorytun-udp luci-app-mail luci-app-mlvpn luci-app-mptcp luci-app-nginx-ha luci-app-sqm-autorate luci-app-packet-capture luci-app-iperf luci-theme-openmptcprouter sqm-autorate speedtestc mlvpn mptcp tcptraceroute tracebox tsping atinout z8102 + git_sparse_clone chawrt/24.10 "https://github.com/liudf0716/luci" applications/luci-app-yt-dlp applications/luci-app-apfree-wifidog applications/luci-app-ss-redir + git_sparse_clone chawrt/24.10 "https://github.com/liudf0716/packages" net/ss-redir + git_sparse_clone istoreos-24.10 "https://github.com/jjm2473/luci" applications/luci-app-dockerman + ) & + git_sparse_clone openwrt-25.12 "https://github.com/immortalwrt/packages" net/n2n net/dae net/frp \ + net/amule net/cdnspeedtest net/minieap net/ddns-go net/sysuh3c net/3proxy net/cloudreve \ + net/go-nats net/go-wol net/bitsrunlogin-go net/transfer net/daed net/udp2raw net/msd_lite \ + net/subconverter net/ngrokc net/scutclient net/gost net/ua2f net/dufs net/qBittorrent-Enhanced-Edition \ + net/tinyportmapper net/nexttrace net/rustdesk-server net/tuic-server \ + net/ipset-lists net/ShadowVPN net/nps net/vlmcsd net/dnsforwarder \ + net/ps3netsrv net/brook net/q net/speedtest-cli \ + net/vsftpd net/smartdns net/miniupnpd net/p910nd \ + net/ariang libs/wxbase libs/rapidjson libs/libcron libs/quickjspp libs/toml11 libs/libdvbcsa \ + libs/libdouble-conversion libs/qt6base libs/jpcre2 libs/alac libs/libcryptopp libs/antileech \ + utils/qt6tools utils/dockerd utils/cpulimit utils/sendat utils/cups-bjnp utils/rhash utils/boltbrowser \ + utils/phicomm-k3screenctrl utils/joker utils/7z utils/dhrystone utils/supervisor utils/tinymembench utils/pcat-mgr utils/fan2go \ + utils/coremark utils/watchcat multimedia/you-get multimedia/lux multimedia/gmediarender multimedia/ykdl multimedia/gallery-dl \ + sound/spotifyd devel/go-rice devel/rust-bindgen admin/gotop \ + lang/lua-periphery lang/lua-neturl lang/lua-maxminddb devel/gn + git_clone https://github.com/koshev-msk/modemfeed && mv -n modemfeed/*/!(telephony)/* ./; rm -rf modemfeed + git_sparse_clone openwrt-25.12 "https://github.com/coolsnowwolf/luci" applications themes/luci-theme-design libs/luci-lib-fs + mv -f applications luciapp;rm -rf luciapp/{luci-app-turboacc,luci-app-frp*} + git_sparse_clone master "https://github.com/coolsnowwolf/luci" applications + mv -n applications/* luciapp/; rm -rf applications + rm -rf luciapp/{luci-app-qbittorrent,luci-app-zerotier,luci-app-cpufreq,luci-app-e2guardian,luci-app-aliyundrive-fuse,luci-app-syncdial,luci-app-firewall} + git_sparse_clone openwrt-25.12 "https://github.com/immortalwrt/luci" applications collections/luci-nginx protocols/luci-proto-minieap protocols/luci-proto-quectel themes/luci-theme-argon + rm -rf applications/luci-app-frp*;mv -n luciapp/!(luci-app-filetransfer|luci-app-ksmbd) applications/; rm -rf luciapp + + for ipk in $(ls -d applications/!(luci-app-rclone|luci-app-smartdns|luci-app-3ginfo-lite|luci-app-aria2|luci-app-ddns|luci-app-package-manager|luci-app-ksmbd|luci-app-samba4|luci-app-watchcat|luci-app-upnp|luci-app-transmission)/); do + if [[ $(ls $ipk/po | wc -l) -gt 4 ]]; then + rm -rf $ipk + fi + done + + - name: Delete duplicated packages + run: | + shopt -s extglob + set +e + mv -n applications/!(luci-app-noddos|luci-app-filebrowser-go|luci-app-openvpn-server|luci-app-chrony|luci-app-kodexplorer|luci-app-cshark|luci-app-dnscrypt-proxy|luci-app-https-dns-proxy|luci-app-ssr-mudb-server|luci-app-ledtrig-*|luci-app-antiblock) ./ ; rm -Rf applications + mv -n lean/!(r8101|r8125|r8126|r8168) ./ ; rm -Rf lean + mv -n liep/!(luci-app-filebrowser) ./ ; rm -Rf liep + mv -n openwrt-app-actions/applications/* ./;rm -rf openwrt-app-actions + mv -n istore-packages/!(qBittorrent*|luci-app-qbittorrent-ee|baidupcs-web|luci-app-LingTiGameAcc|inter_i40e) ./;rm -rf istore-packages + rm -Rf */.git + for pkg in $(ls -d .github/diy/packages/*); do + mv -f $pkg/Makefile.k $pkg/Makefile >/dev/null 2>&1 || true + done + cp -rf .github/diy/packages/* ./ || true + for pkg in $(ls -d .github/diy/packages/*); do + mv -f $pkg/Makefile $pkg/Makefile.k >/dev/null 2>&1 || true + done + rm -rf */.github + + + - name: SSH connection to Actions + uses: kiddin9/debugger-action@master + if: github.event.inputs.ssh == 'true' + + - name: Apply patches + run: | + find ".github/diy/patches" -type f -name '*.patch' -print0 | sort -z | xargs -I % -t -0 -n 1 sh -c "cat '%' | patch -d './' -p1 -E --forward --no-backup-if-mismatch" || (curl -k --data chat_id="${{ secrets.TELEGRAM_CHAT_ID }}" --data "text=❌ 软件包更新失败 😂 https://github.com/kiddin9/openwrt-packages/actions" "https://api.telegram.org/bot${{ secrets.TELEGRAM_TOKEN }}/sendMessage";exit 1) + + - name: Modify + run: | + shopt -s extglob + set +e + sed -i \ + -e "s/\(network\..*\)\.ifname/\1.device/g" \ + `find \( -path "*/root/*" -o -path "*/files/*" -o -path "*/luasrc/*" \) ! -path "./base-files/*" ! -path "./dnsmasq/*" ! -path "./luci-base/*" ! -path "./ppp/*" -type f` & + # sed -i -e "s/\(killall .*\)-[0-9] /\1-3 /g" \ + -e "s/killall \([^-]+*\)/killall -3 \1/g" \ + `find \( -path "*/files/root/etc/init.d/*" -o -path "*/root/etc/init.d/*" -o -path "*/files/*.init" \) -type f` & + ( + function latest() { + (curl -gs -H 'Content-Type: application/json' \ + -H "Authorization: Bearer ${{ secrets.TOKEN_KIDDIN9 }}" \ + -X POST -d '{ "query": "query {repository(owner: \"'"$1"'\", name: \"'"$2"'\"){latestRelease{tagName tagCommit{oid}}refs(refPrefix:\"refs/tags/\",last:1,orderBy:{field:TAG_COMMIT_DATE,direction:ASC}){edges{node{name target{oid}}}}defaultBranchRef{target{...on Commit {oid}}}}}"}' https://api.github.com/graphql) + } + for pkg in $(ls !(luci-*|nikki|openwrt-einat-ebpf|glorytun|mosdns|spotifyd|miniupnpd|qBittorrent-Enhanced-Edition|openwrt-Toolkit|libdouble-conversion|wxbase|3proxy|ucode|mergerfs|openwrt-nezhav1|homebox|sub-web|tcptraceroute|frp|openwrt-caddy|mentohust|brlaser|rapidjson|smartdns|hysteria|gecoosac|hickory-dns|libcryptopp|naiveproxy|rustdesk-server|shadowsocksr-libev|tuic-server|joker|ps3netsrv|natter|netmaker|openwrt-ympd|subconverter|sms-tool)/Makefile); do + repo="$(grep ^PKG_SOURCE_URL $pkg | grep github | cut -f 4-5 -d '/' | sed -e 's/.git//' | grep -E '[0-9a-zA-Z_-]+$')" || true + if [ "$repo" ]; then + owner="$(echo $repo | cut -f 1 -d '/')" + name="$(echo $repo | cut -f 2 -d '/')" + latest="$(latest $owner $name)" + sed -i "s/PKG_SOURCE_VERSION:=.*/PKG_SOURCE_VERSION:=$(echo $latest | jq -r '.data.repository.defaultBranchRef.target.oid')/" $pkg || true + over="$(grep -E PKG_VERSION:=.*$ $pkg | cut -f 2 -d '=' | sed -e 's/^\(v\|release-\)//' | grep -E "[0-9]")" || true + if [ "$over" ]; then + ver="$(echo $latest | jq -r '.data.repository.latestRelease.tagName' | sed -e 's/^\(v\|release-\)//' | grep -E "^[^()]*$" | grep -E "[0-9]")" || true + # [ "$ver" ] || ver="$(git ls-remote --tags git://github.com/$repo | cut -d/ -f3- | sort -t. -nk1,3 | awk '/^[^{]*$/{version=$1}END{print version}' | grep -o -E "[0-9].*")" || true + echo "$repo-$over-$ver" + if [ "$ver" ]; then + function version_lt() { test "$(echo "$@" | tr " " "\n" | sort -rV | head -n 1)" != "$1"; } + if version_lt "$over" "$ver"; then + latest="$(echo $latest | jq -r '.data.repository.latestRelease.tagCommit.oid' || echo $latest | jq -r '.data.repository.refs.edges[-1].node.target.oid')" + sed -i -e "s/PKG_SOURCE_VERSION:=.*/PKG_SOURCE_VERSION:=$latest/" \ + -e "s/PKG_VERSION:=.*/PKG_VERSION:=$ver/" $pkg || true + fi || true + fi + fi + fi + done + touch /tmp/ok + ) & + + ( + for pkg in $(ls -d */ | grep -v "naiveproxy" | grep -v "luci-app-passwall"); do + if [[ "$(grep "PKG_VERSION" $pkg/Makefile)" && ! "$(grep "PKG_RELEASE" $pkg/Makefile)" ]]; then + sed -i "s/\(PKG_VERSION:=.*\)/\1\nPKG_RELEASE:=/" $pkg/Makefile || true + fi + if [ "$(grep "PKG_RELEASE" $pkg/Makefile)" ]; then + sed -i "s/PKG_RELEASE:=.*/PKG_RELEASE:=$(git rev-list --count main $pkg)/" $pkg/Makefile || true + fi + + done + touch /tmp/ok2 + ) & + + sed -i \ + -e 's?include \.\./\.\./\(lang\|devel\)?include $(TOPDIR)/feeds/packages/\1?' \ + -e "s/\(\(^\| \| \)\(PKG_HASH\|PKG_MD5SUM\|PKG_MIRROR_HASH\|HASH\):=\).*/\1skip/" \ + -e 's/+docker\( \|$\)/+docker +dockerd /g' \ + -e 's?include .*/luci.mk?include $(TOPDIR)/feeds/luci/luci.mk?' \ + */Makefile + + chmod +x github/diy/*.sh + bash .github/diy/create_acl_for_luci.sh -a >/dev/null 2>&1 || true + bash .github/diy/convert_translation.sh -a >/dev/null 2>&1 || true + bash .github/diy/create_ucitrack_for_luci.sh -a >/dev/null 2>&1 || true + bash .github/diy/generate_ucitrack.sh -a >/dev/null 2>&1 || true + chmod -R +x luci-*/root/etc/init.d/ luci-*/root/bin/ luci-*/root/sbin/ luci-*/root/usr/libexec/ luci-*/root/usr/bin/ luci-*/root/usr/sbin/ + find . -path "./luci-*/root/usr/share/*" -name "*.sh" -type f -exec chmod +x {} \; + #sed -i 's?"http://" + window.location.hostname?window.location.protocol + "//" + window.location.hostname?g' `find luci-app*/luasrc/view/ -maxdepth 2 -name "*.htm"` + sed -i "s/default n/default y/" dockerd/Config.in + sed -i "s/.tar.gz/.tar.xz/" openwrt-natmap/Makefile + mkdir -p luci-app-passwall/root/www/luci-static/passwall luci-app-passwall2/root/www/luci-static/passwall2 luci-app-ssr-plus/root/www/luci-static/shadowsocksr + cp -rf luci-app-bypass/root/www/luci-static/bypass/* luci-app-passwall/root/www/luci-static/passwall/ + cp -rf luci-app-bypass/root/www/luci-static/bypass/* luci-app-passwall2/root/www/luci-static/passwall2/ + cp -rf luci-app-bypass/root/www/luci-static/bypass/* luci-app-ssr-plus/root/www/luci-static/shadowsocksr/ + echo ".page-container>div>div>a:first-child{display:none}" >>luci-app-quickstart/htdocs/luci-static/quickstart/style.css + sed -i 's/icon!=="baby"/icon!==""/' luci-app-quickstart/htdocs/luci-static/quickstart/index.js + sed -i 's/+php8-cgi /+php8-cgi +php8-fpm /' luci-theme-spectra/Makefile + + while [[ ! -f /tmp/ok || ! -f /tmp/ok2 || ! -f /tmp/ok3 ]]; do + echo "wait" + sleep 1 + done + + - name: Apply + run: | + Emoji=("🎉" "🤞" "✨" "🎁" "🎈" "🎄" "🎨" "💋" "🍓" "🍕" "🍉" "💐" "🌴" "🚀" "🛸" "🗽" "⛅" "🌈" "🔥" "⛄" "🐶" "🏅" "🦄" "🐤") + git add . + git commit -m "${Emoji[$[$RANDOM % ${#Emoji[@]}]]} Sync $(date +%Y-%m-%d" "%H:%M:%S)" + for pkg in $(git diff-tree --no-commit-id --name-only HEAD | grep -v "naiveproxy" | grep -v "luci-app-passwall"); do + if [ "$(grep "PKG_RELEASE" $pkg/Makefile)" ]; then + sed -i "s/PKG_RELEASE:=.*/PKG_RELEASE:=$(git rev-list --count main $pkg)/" $pkg/Makefile || true + fi + done + git reset --soft HEAD^ + git add . + git commit -m "${Emoji[$[$RANDOM % ${#Emoji[@]}]]} Sync $(date +%Y-%m-%d" "%H:%M:%S)" + git push -f + + - name: Delete workflow runs + uses: Mattraks/delete-workflow-runs@main + continue-on-error: true + with: + retain_days: 1 + keep_minimum_runs: 3

    Zc)qM;uqkc5vNg3+jH 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�Jhk$RI)b)!i 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 + return -1; + } +- if(addr_is_reserved(&lan_addr->ext_ip_addr)) { ++ if(addr_is_reserved(&lan_addr->ext_ip_addr) && !GETFLAG(FORCEFORWARDINGMASK)) { + if (GETFLAG(ALLOWPRIVATEIPV4MASK)) { + syslog(LOG_WARNING, "IGNORED : option ext_ip address contains reserved / private address : %s", lan_addr->ext_ip_str); + } else { +@@ -1190,11 +1190,11 @@ static void update_disable_port_forwarding(void) + } + disable_port_forwarding = 1; + } else { +- int reserved = addr_is_reserved(&addr); ++ int reserved = addr_is_reserved(&addr) && !GETFLAG(FORCEFORWARDINGMASK); + if (!disable_port_forwarding && reserved) { + if (GETFLAG(ALLOWPRIVATEIPV4MASK)) { + syslog(LOG_WARNING, "IGNORED : Reserved / private IP address %s on ext interface %s", if_addr, ext_if_name); +- } else { ++ } else if (!GETFLAG(FORCEFORWARDINGMASK)) { + syslog(LOG_WARNING, "Reserved / private IP address %s on ext interface %s: Port forwarding is impossible", if_addr, ext_if_name); + syslog(LOG_INFO, "You are probably behind NAT, enable option ext_perform_stun=yes to detect public IP address"); + syslog(LOG_INFO, "Or use ext_ip= / -o option to declare public IP address"); +@@ -1357,6 +1357,10 @@ init(int argc, char * * argv, struct runtime_vars * v) + if(strcmp(ary_options[i].value, "yes") == 0) + SETFLAG(ALLOWPRIVATEIPV4MASK); + break; ++ case UPNP_FORCE_FORWARDING: ++ if(strcmp(ary_options[i].value, "yes") == 0) ++ SETFLAG(FORCEFORWARDINGMASK); ++ break; + case UPNPEXT_PERFORM_STUN: + if(strcmp(ary_options[i].value, "yes") == 0) + SETFLAG(PERFORMSTUNMASK); +@@ -1973,7 +1977,7 @@ init(int argc, char * * argv, struct runtime_vars * v) + INIT_PRINT_ERR("Error: option ext_ip contains invalid address %s\n", use_ext_ip_addr); + return 1; + } +- if (addr_is_reserved(&addr)) { ++ if (addr_is_reserved(&addr) && !GETFLAG(FORCEFORWARDINGMASK)) { + if (GETFLAG(ALLOWPRIVATEIPV4MASK)) { + syslog(LOG_WARNING, "IGNORED : option ext_ip contains reserved / private address %s, not public routable", use_ext_ip_addr); + } else { + +--- a/natpmp.c ++++ b/natpmp.c +@@ -109,7 +109,7 @@ static void FillPublicAddressResponse(unsigned char * resp, in_addr_t senderaddr + syslog(LOG_ERR, "Failed to get IP for interface %s", ext_if_name); + resp[3] = 3; /* Network Failure (e.g. NAT box itself + * has not obtained a DHCP lease) */ +- } else if (!GETFLAG(ALLOWPRIVATEIPV4MASK) && addr_is_reserved(&addr)) { ++ } else if (!GETFLAG(ALLOWPRIVATEIPV4MASK) && addr_is_reserved(&addr) && !GETFLAG(FORCEFORWARDINGMASK)) { + resp[3] = 3; /* Network Failure, box has not obtained + public IP address */ + } else { + +--- a/options.c ++++ b/options.c +@@ -36,6 +36,7 @@ static const struct { + #endif + { UPNPEXT_IP, "ext_ip" }, + { UPNPEXT_ALLOW_PRIVATE_IPV4, "ext_allow_private_ipv4" }, ++ { UPNP_FORCE_FORWARDING, "force_forwarding" }, + { UPNPEXT_PERFORM_STUN, "ext_perform_stun" }, + { UPNPEXT_STUN_HOST, "ext_stun_host" }, + { UPNPEXT_STUN_PORT, "ext_stun_port" }, + +--- a/options.h ++++ b/options.h +@@ -26,6 +26,7 @@ enum upnpconfigoptions { + #endif + UPNPEXT_IP, /* ext_ip */ + UPNPEXT_ALLOW_PRIVATE_IPV4, /* ext_allow_private_ipv4 */ ++ UPNP_FORCE_FORWARDING, /* force forwarding enable for upnp */ + UPNPEXT_PERFORM_STUN, /* ext_perform_stun */ + UPNPEXT_STUN_HOST, /* ext_stun_host */ + UPNPEXT_STUN_PORT, /* ext_stun_port */ + +--- a/testgetifaddr.c ++++ b/testgetifaddr.c +@@ -14,6 +14,8 @@ + #include "getifaddr.h" + #include "getconnstatus.h" + ++int runtime_flags = 0; ++ + #if defined(__sun) + /* solaris 10 does not define LOG_PERROR */ + #define LOG_PERROR 0 + +--- a/testportinuse.c ++++ b/testportinuse.c +@@ -15,6 +15,8 @@ + #include "portinuse.h" + #include "upnpglobalvars.h" + ++int runtime_flags = 0; ++ + struct lan_addr_list lan_addrs; + int runtime_flags = 0; + time_t startup_time = 0; + +--- a/upnpdescgen.c ++++ b/upnpdescgen.c +@@ -1311,7 +1311,7 @@ genEventVars(int * len, const struct serviceDesc * s) + else { + struct in_addr addr; + char ext_ip_addr[INET_ADDRSTRLEN]; +- if(getifaddr(ext_if_name, ext_ip_addr, INET_ADDRSTRLEN, &addr, NULL) < 0 || (!GETFLAG(ALLOWPRIVATEIPV4MASK) && addr_is_reserved(&addr))) { ++ if(getifaddr(ext_if_name, ext_ip_addr, INET_ADDRSTRLEN, &addr, NULL) < 0 || (!GETFLAG(ALLOWPRIVATEIPV4MASK) && addr_is_reserved(&addr) && !GETFLAG(FORCEFORWARDINGMASK))) { + str = strcat_str(str, len, &tmplen, "0.0.0.0"); + } else { + str = strcat_str(str, len, &tmplen, ext_ip_addr); + +--- a/upnpglobalvars.h ++++ b/upnpglobalvars.h +@@ -100,6 +100,7 @@ extern int runtime_flags; + + /*! \brief perform STUN */ + #define PERFORMSTUNMASK 0x1000 ++#define FORCEFORWARDINGMASK 0x2000 + + /*! \brief Allow the external IPv4 to be private */ + #define ALLOWPRIVATEIPV4MASK 0x2000 + +--- a/upnpredirect.c ++++ b/upnpredirect.c +@@ -406,7 +406,7 @@ upnp_redirect_internal(const char * rhost, unsigned short eport, + { + /*syslog(LOG_INFO, "redirecting port %hu to %s:%hu protocol %s for: %s", + eport, iaddr, iport, protocol, desc); */ +- if(disable_port_forwarding) ++ if(disable_port_forwarding && !GETFLAG(FORCEFORWARDINGMASK)) + return -1; + if(add_redirect_rule2(ext_if_name, rhost, eport, iaddr, iport, proto, + desc, timestamp) < 0) { + +--- a/upnpsoap.c ++++ b/upnpsoap.c +@@ -374,7 +374,11 @@ GetExternalIPAddress(struct upnphttp * h, const char * action, const char * ns) + syslog(LOG_WARNING, "IGNORED : private/reserved address %s is not suitable for external IP", ext_ip_addr); + } else { + syslog(LOG_NOTICE, "private/reserved address %s is not suitable for external IP", ext_ip_addr); ++ if (!GETFLAG(FORCEFORWARDINGMASK)) { + ext_ip_addr[0] = '\0'; ++ } else { ++ syslog(LOG_NOTICE, "force_forwarding enable, private/reserved address %s used as external IP", ext_ip_addr); ++ } + } + } + } + +--- a/miniupnpd.conf ++++ b/miniupnpd.conf +@@ -23,6 +23,8 @@ + # This option is disabled by default. + #ext_allow_private_ipv4=yes + ++#force forwarding enable for upnp: default is no ++#force_forwarding=yes + # The WAN interface must have a public IP address. Otherwise it is behind NAT + # and port forwarding is impossible. In some cases WAN interface can be + # behind unrestricted full-cone NAT 1:1 when all incoming traffic is NAT-ed and diff --git a/.github/diy/packages/tvhelper/Makefile.k b/.github/diy/packages/tvhelper/Makefile.k new file mode 100644 index 000000000..4b8cb4cd2 --- /dev/null +++ b/.github/diy/packages/tvhelper/Makefile.k @@ -0,0 +1,42 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=tvhelper +PKG_VERSION:=1.0 +PKG_RELEASE:=2 + +PKG_SOURCE:=tv.sh +PKG_SOURCE_URL:=https://raw.githubusercontent.com/wukongdaily/tvhelper/master/shells/ +PKG_HASH:=skip + +include $(INCLUDE_DIR)/package.mk + +define Package/tvhelper + SECTION:=utils + CATEGORY:=Utilities + TITLE:=TV Helper + DEPENDS:=+bash +endef + +define Package/tvhelper/description + tv.sh script from @wukongdaily. +endef + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) + $(CP) $(DL_DIR)/$(PKG_SOURCE) $(PKG_BUILD_DIR)/ +endef + +define Build/Configure +endef + +define Build/Compile +endef + +define Package/tvhelper/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/tv.sh $(1)/usr/bin/tv.sh + $(INSTALL_DIR) $(1)/root + ln -sf /usr/bin/tv.sh $(1)/root/tv.sh +endef + +$(eval $(call BuildPackage,tvhelper)) diff --git a/.github/diy/patches/UnblockNeteaseMusic.patch b/.github/diy/patches/UnblockNeteaseMusic.patch new file mode 100644 index 000000000..d029ec04e --- /dev/null +++ b/.github/diy/patches/UnblockNeteaseMusic.patch @@ -0,0 +1,11 @@ +--- a/UnblockNeteaseMusic/Makefile ++++ b/UnblockNeteaseMusic/Makefile +@@ -33,7 +33,7 @@ endef + + define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) +- xzcat $(DL_DIR)/$(PKG_SOURCE) | $(TAR) -C $(PKG_BUILD_DIR) $(TAR_OPTIONS) ++ tar -xf $(DL_DIR)/$(PKG_SOURCE) -C $(PKG_BUILD_DIR) + endef + + define Build/Configure diff --git a/.github/diy/patches/accesscontrol-plus.patch b/.github/diy/patches/accesscontrol-plus.patch new file mode 100644 index 000000000..d6dff1397 --- /dev/null +++ b/.github/diy/patches/accesscontrol-plus.patch @@ -0,0 +1,19 @@ +diff --git a/luci-app-accesscontrol-plus/po/zh-Hans/miaplus.po b/luci-app-accesscontrol-plus/po/zh_Hans/miaplus.po +similarity index 90% +rename from luci-app-accesscontrol-plus/po/zh-Hans/miaplus.po +rename to luci-app-accesscontrol-plus/po/zh_Hans/miaplus.po +index fedd5ae..ad85175 100644 +--- a/luci-app-accesscontrol-plus/po/zh-Hans/miaplus.po ++++ b/luci-app-accesscontrol-plus/po/zh_Hans/miaplus.po +@@ -7,6 +7,12 @@ msgstr "设置客户端访问互联网的时间" + msgid "General switch" + msgstr "开启/关闭" + ++msgid "Base Setting" ++msgstr "基本设置" ++ ++msgid "Advance Setting" ++msgstr "高级设置" ++ + msgid "Strict Mode" + msgstr "严格模式" diff --git a/.github/diy/patches/advancedplus.patch b/.github/diy/patches/advancedplus.patch new file mode 100644 index 000000000..fa4a87892 --- /dev/null +++ b/.github/diy/patches/advancedplus.patch @@ -0,0 +1,22 @@ +--- a/luci-app-advancedplus/root/etc/init.d/advancedplus ++++ b/luci-app-advancedplus/root/etc/init.d/advancedplus +@@ -112,7 +112,6 @@ start() { + [ -f $LOCK ] && exit + [ "x$XBOOT" = "x1" ] && exit 0 + touch $LOCK +- advancedset + rm -rf /tmp/luci-* + rm -f $LOCK 2>/dev/null + } + +--- a/luci-app-advancedplus/luasrc/controller/advancedplus.lua ++++ b/luci-app-advancedplus/luasrc/controller/advancedplus.lua +@@ -20,8 +20,6 @@ function index() + page.acl_depends = { "luci-app-advancedplus" } + + entry({"admin","system","advancedplus","advancededit"},cbi("advancedplus/advancededit"),_("Advanced Edit"),10).leaf = true +- entry({"admin","system","advancedplus","advancedset"},cbi("advancedplus/advancedset"),_("Advanced Setting"),20).leaf = true +- entry({"admin","system","advancedplus","advancedipk"},cbi("advancedplus/advancedipk", {hideapplybtn=true, hidesavebtn=true, hideresetbtn=true}),_("Loading plugins"),30).leaf = true + entry({"admin", "system", "advancedplus", "advancedrun"}, call("advanced_run")) + entry({"admin", "system", "advancedplus", "check"}, call("act_check")) + end diff --git a/.github/diy/patches/amule.patch b/.github/diy/patches/amule.patch new file mode 100644 index 000000000..164667fe5 --- /dev/null +++ b/.github/diy/patches/amule.patch @@ -0,0 +1,51 @@ +--- a/amule/Makefile ++++ b/amule/Makefile +@@ -31,6 +31,19 @@ define Package/amule + +libupnp +libbfd +libcryptopp + endef + ++define Download/AmuleWebUI ++ URL:=https://github.com/MatteoRagni/AmuleWebUI-Reloaded/archive ++ URL_FILE:=master.zip ++ FILE:=AmuleWebUI.zip ++ HASH:=skip ++endef ++ ++define Build/Prepare ++ $(call Build/Prepare/Default) ++ unzip $(DL_DIR)/AmuleWebUI.zip -d $(PKG_BUILD_DIR) ++ ++endef ++ + CONFIGURE_ARGS+= \ + --disable-nls \ + --disable-static \ +@@ -72,12 +85,16 @@ endef + + define Package/amule/install + $(INSTALL_DIR) $(1)/usr/bin ++ $(INSTALL_DIR) $(1)/usr/share/amule/webserver + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/amulecmd $(1)/usr/bin/amulecmd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/amuled $(1)/usr/bin/amuled + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/amuleweb $(1)/usr/bin/amuleweb ++ $(CP) $(PKG_BUILD_DIR)/src/webserver/default $(1)/usr/share/amule/webserver ++ $(CP) $(PKG_BUILD_DIR)/AmuleWebUI-Reloaded-master $(1)/usr/share/amule/webserver/AmuleWebUI-Reloaded + + $(INSTALL_DIR) $(1)/usr/share + $(CP) $(PKG_INSTALL_DIR)/usr/share/amule $(1)/usr/share/ + endef + ++$(eval $(call Download,AmuleWebUI)) + $(eval $(call BuildPackage,amule)) + +--- a/luci-app-amule/root/etc/config/amule ++++ b/luci-app-amule/root/etc/config/amule +@@ -62,7 +62,7 @@ config amule 'main' + option web_enabled '0' + option upnp_enabled '0' + option proxy_type 'socks5' +- option template 'default' ++ option template 'AmuleWebUI-Reloaded' + option use_low_rights_user '0' + option web_port '44711' + option upnp_web_server_enabled '0' diff --git a/.github/diy/patches/argon.patch b/.github/diy/patches/argon.patch new file mode 100644 index 000000000..6d57cd9ec --- /dev/null +++ b/.github/diy/patches/argon.patch @@ -0,0 +1,16 @@ +--- a/luci-theme-argon/ucode/template/themes/argon/footer.ut ++++ b/luci-theme-argon/ucode/template/themes/argon/footer.ut +@@ -19,13 +19,6 @@ + +