🍓 Sync 2026-06-05 21:57:56

This commit is contained in:
github-actions[bot] 2026-06-05 21:57:56 +08:00
parent cb7b3df3a8
commit 9931d7c86f
19 changed files with 133 additions and 122 deletions

View File

@ -3,8 +3,8 @@ include $(TOPDIR)/rules.mk
LUCI_TITLE:=Information dashboard for 3G/LTE dongle
LUCI_DEPENDS:=+modeminfo
PKG_LICENSE:=GPLv3
PKG_VERSION:=0.4.7
PKG_RELEASE:=8
PKG_VERSION:=0.4.8
PKG_RELEASE:=9
include $(TOPDIR)/feeds/luci/luci.mk

View File

@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-passwall
PKG_VERSION:=26.6.2
PKG_RELEASE:=154
PKG_RELEASE:=155
PKG_PO_VERSION:=$(PKG_VERSION)
PKG_CONFIG_DEPENDS:= \

View File

@ -154,12 +154,6 @@ o:value("UseIPv6v4", translate("Prefer IPv6"))
o:value("UseIPv4", translate("IPv4 Only"))
o:value("UseIPv6", translate("IPv6 Only"))
o = s:option(Flag, "allowInsecure", translate("allowInsecure"))
o.default = "1"
o.rmempty = false
o.description = translate("Whether unsafe connections are allowed. When checked, Certificate validation will be skipped.") .. "<br>" ..
translate("Used when the node link does not include this parameter.")
o = s:option(ListValue, "filter_keyword_mode", translate("Filter keyword Mode"))
o.default = "5"
o:value("0", translate("Close"))

View File

@ -261,21 +261,22 @@ function gen_outbound(flag, node, tag, proxy_table)
local finalmask = {}
local TP = node.transport
if TP == "mkcp" then
local map = {none = "none", srtp = "header-srtp", utp = "header-utp", ["wechat-video"] = "header-wechat",
dtls = "header-dtls", wireguard = "header-wireguard", dns = "header-dns"}
local map = {none = "none", srtp = "srtp", utp = "utp", ["wechat-video"] = "wechat",
dtls = "dtls", wireguard = "wireguard", dns = "dns"}
local udp = {}
if node.mkcp_guise and node.mkcp_guise ~= "none" then
local g = { type = map[node.mkcp_guise] }
local g = { type = "mkcp-legacy" }
g.settings = { header = map[node.mkcp_guise] }
if node.mkcp_guise == "dns" and node.mkcp_domain and node.mkcp_domain ~= "" then
g.settings = { domain = node.mkcp_domain }
g.settings.value = node.mkcp_domain
end
udp[#udp+1] = g
end
local c = { type = (node.mkcp_seed and node.mkcp_seed ~= "") and "mkcp-aes128gcm" or "mkcp-original" }
local s = { type = "mkcp-legacy" }
if node.mkcp_seed and node.mkcp_seed ~= "" then
c.settings = { password = node.mkcp_seed }
s.settings = { value = node.mkcp_seed }
end
udp[#udp+1] = c
udp[#udp+1] = s
finalmask.udp = udp
elseif TP == "hysteria" then
local udp = {}
@ -720,21 +721,22 @@ function gen_config_server(node)
finalmask = (function()
local finalmask = {}
if node.transport == "mkcp" then
local map = {none = "none", srtp = "header-srtp", utp = "header-utp", ["wechat-video"] = "header-wechat",
dtls = "header-dtls", wireguard = "header-wireguard", dns = "header-dns"}
local map = {none = "none", srtp = "srtp", utp = "utp", ["wechat-video"] = "wechat",
dtls = "dtls", wireguard = "wireguard", dns = "dns"}
local udp = {}
if node.mkcp_guise and node.mkcp_guise ~= "none" then
local g = { type = map[node.mkcp_guise] }
local g = { type = "mkcp-legacy" }
g.settings = { header = map[node.mkcp_guise] }
if node.mkcp_guise == "dns" and node.mkcp_domain and node.mkcp_domain ~= "" then
g.settings = { domain = node.mkcp_domain }
g.settings.value = node.mkcp_domain
end
udp[#udp+1] = g
end
local c = { type = (node.mkcp_seed and node.mkcp_seed ~= "") and "mkcp-aes128gcm" or "mkcp-original" }
local s = { type = "mkcp-legacy" }
if node.mkcp_seed and node.mkcp_seed ~= "" then
c.settings = { password = node.mkcp_seed }
s.settings = { value = node.mkcp_seed }
end
udp[#udp+1] = c
udp[#udp+1] = s
finalmask.udp = udp
elseif node.transport == "hysteria" then
local udp = {}

View File

@ -1279,9 +1279,6 @@ msgstr "使用全局配置"
msgid "User-Agent"
msgstr "用户代理(User-Agent)"
msgid "Used when the node link does not include this parameter."
msgstr "当节点链接未包含该参数时,将使用此设置。"
msgid "Add"
msgstr "添加"

View File

@ -2,6 +2,15 @@
START=99
boot_func() {
sleep 90
restart
}
boot() {
boot_func >/dev/null 2>&1 &
}
start() {
lua /usr/lib/lua/luci/passwall/server_app.lua start
}

View File

@ -1834,6 +1834,11 @@ acl_app() {
}
start() {
busybox pgrep -f /tmp/etc/passwall/bin > /dev/null 2>&1 && {
logger -t PSW-RESTART "Upgrade or overload residue is detected, and the subprocess is being called to perform complete cleaning..."
(stop)
sleep 2
}
mkdir -p /tmp/etc /tmp/log $TMP_PATH $TMP_BIN_PATH $TMP_SCRIPT_FUNC_PATH $TMP_ROUTE_PATH $TMP_ACL_PATH $TMP_PATH2
get_config
export V2RAY_LOCATION_ASSET=$(config_t_get global_rules v2ray_location_asset "/usr/share/v2ray/")

View File

@ -29,7 +29,6 @@ local has_ssr = api.is_finded("ssr-local") and api.is_finded("ssr-redir")
local has_singbox = api.finded_com("sing-box")
local has_xray = api.finded_com("xray")
local has_hysteria2 = api.finded_com("hysteria")
local DEFAULT_ALLOWINSECURE = true
local DEFAULT_FILTER_KEYWORD_MODE = uci:get(appname, "@global_subscribe[0]", "filter_keyword_mode") or "0"
local DEFAULT_FILTER_KEYWORD_DISCARD_LIST = uci:get(appname, "@global_subscribe[0]", "filter_discard_list") or {}
local DEFAULT_FILTER_KEYWORD_KEEP_LIST = uci:get(appname, "@global_subscribe[0]", "filter_keep_list") or {}
@ -503,7 +502,6 @@ end
-- 处理数据
local function processData(szType, content, add_mode, group, sub_cfg)
--log(2, content, add_mode, group)
local sub_allowinsecure = DEFAULT_ALLOWINSECURE
local sub_ss_type = DEFAULT_SS_TYPE
local sub_trojan_type = DEFAULT_TROJAN_TYPE
local sub_vmess_type = DEFAULT_VMESS_TYPE
@ -511,9 +509,6 @@ local function processData(szType, content, add_mode, group, sub_cfg)
local sub_hysteria2_type = DEFAULT_HYSTERIA2_TYPE
local sub_hy_up_mbps, sub_hy_down_mbps = 1000, 1000
if sub_cfg then
if sub_cfg.allowInsecure and sub_cfg.allowInsecure ~= "1" then
sub_allowinsecure = nil
end
local ss_type = sub_cfg.ss_type or "global"
if ss_type ~= "global" and core_has[ss_type] then
sub_ss_type = ss_type
@ -677,8 +672,7 @@ local function processData(szType, content, add_mode, group, sub_cfg)
result.tls_serverName = (info.sni and info.sni ~= "") and info.sni or info.host
result.tls_pinSHA256 = info.pcs
result.tls_CertByName = info.vcn
local insecure = info.allowinsecure or info.allowInsecure or info.insecure
result.tls_allowInsecure = (insecure == "1" or insecure == "0") and insecure or (sub_allowinsecure and "1" or "0")
result.tls_allowInsecure = info.allowinsecure or info.allowInsecure or info.insecure
else
result.tls = "0"
end
@ -954,8 +948,7 @@ local function processData(szType, content, add_mode, group, sub_cfg)
result.reality_mldsa65Verify = params.pqv or nil
end
end
local insecure = params.allowinsecure or params.allowInsecure or params.insecure
result.tls_allowInsecure = (insecure == "1" or insecure == "0") and insecure or (sub_allowinsecure and "1" or "0")
result.tls_allowInsecure = params.allowinsecure or params.allowInsecure or params.insecure
result.uot = params.udp
else
result.error_msg = "请更换 Xray 或 Sing-Box 来支持 SS 更多的传输方式。"
@ -1057,8 +1050,7 @@ local function processData(szType, content, add_mode, group, sub_cfg)
result.tls_serverName = params.peer or params.sni or ""
result.tls_pinSHA256 = params.pcs
result.tls_CertByName = params.vcn
local insecure = params.allowinsecure or params.allowInsecure or params.insecure
result.tls_allowInsecure = (insecure == "1" or insecure == "0") and insecure or (sub_allowinsecure and "1" or "0")
result.tls_allowInsecure = params.allowinsecure or params.allowInsecure or params.insecure
if not params.type then params.type = "tcp" end
params.type = string.lower(params.type)
@ -1309,8 +1301,7 @@ local function processData(szType, content, add_mode, group, sub_cfg)
result.use_mldsa65Verify = (params.pqv and params.pqv ~= "") and "1" or nil
result.reality_mldsa65Verify = params.pqv or nil
end
local insecure = params.allowinsecure or params.allowInsecure or params.insecure
result.tls_allowInsecure = (insecure == "1" or insecure == "0") and insecure or (sub_allowinsecure and "1" or "0")
result.tls_allowInsecure = params.allowinsecure or params.allowInsecure or params.insecure
end
result.port = port
@ -1366,8 +1357,7 @@ local function processData(szType, content, add_mode, group, sub_cfg)
result.hysteria_auth_type = "string"
result.hysteria_auth_password = params.auth
result.tls_serverName = params.peer or params.sni or ""
local insecure = params.allowinsecure or params.allowInsecure or params.insecure
result.tls_allowInsecure = (insecure == "1" or insecure == "0") and insecure or (sub_allowinsecure and "1" or "0")
result.tls_allowInsecure = params.allowinsecure or params.allowInsecure or params.insecure
result.alpn = params.alpn
result.hysteria_up_mbps = params.upmbps or sub_hy_up_mbps
result.hysteria_down_mbps = params.downmbps or sub_hy_down_mbps
@ -1412,8 +1402,7 @@ local function processData(szType, content, add_mode, group, sub_cfg)
result.tls_serverName = params.sni
result.tls_pinSHA256 = params.pcs or params.pinsha256
result.tls_CertByName = params.vcn
local insecure = params.allowinsecure or params.insecure
result.tls_allowInsecure = (insecure == "1" or insecure == "0") and insecure or (sub_allowinsecure and "1" or "0")
result.tls_allowInsecure = params.allowinsecure or params.insecure
result.hysteria2_up_mbps = params.upmbps or sub_hy_up_mbps
result.hysteria2_down_mbps = params.downmbps or sub_hy_down_mbps
result.hysteria2_hop = params.mport
@ -1490,8 +1479,7 @@ local function processData(szType, content, add_mode, group, sub_cfg)
result.tuic_alpn = params.alpn or "h3"
result.tuic_congestion_control = params.congestion_control or "cubic"
result.tuic_udp_relay_mode = params.udp_relay_mode or "native"
local insecure = params.allowinsecure or params.insecure or params.allow_insecure
result.tls_allowInsecure = (insecure == "1" or insecure == "0") and insecure or (sub_allowinsecure and "1" or "0")
result.tls_allowInsecure = params.allowinsecure or params.insecure or params.allow_insecure
elseif szType == "anytls" then
if has_singbox then
result.type = 'sing-box'
@ -1558,8 +1546,7 @@ local function processData(szType, content, add_mode, group, sub_cfg)
end
end
result.port = port
local insecure = params.allowinsecure or params.insecure
result.tls_allowInsecure = (insecure == "1" or insecure == "0") and insecure or (sub_allowinsecure and "1" or "0")
result.tls_allowInsecure = params.allowinsecure or params.insecure
end
elseif szType == 'naive+https' or szType == 'naive+quic' then
if has_singbox then
@ -1651,9 +1638,6 @@ local function curl(url, file, ua, mode)
ua = (ua and ua ~= "") and ua or "passwall"
ua = (ua == "passwall") and ("passwall/" .. api.get_version()) or ua
curl_args[#curl_args + 1] = '--user-agent "' .. ua .. '"'
if not ua:lower():find("clash", 1, true) then
curl_args[#curl_args + 1] = get_headers()
end
local return_code, result
if mode == "direct" then
@ -1680,57 +1664,6 @@ local function curl(url, file, ua, mode)
return return_code, http_code, header_str
end
function get_headers()
local cache_file = "/tmp/etc/" .. appname .. "_tmp/sub_curl_headers"
if fs.access(cache_file) then
return luci.sys.exec("cat " .. cache_file)
end
local headers = {}
local function readfile(path)
local f = io.open(path, "r")
if not f then return nil end
local c = f:read("*a")
f:close()
return api.trim(c)
end
headers[#headers + 1] = "x-device-os: OpenWrt"
local rel = readfile("/etc/openwrt_release")
local os_ver = rel and rel:match("DISTRIB_RELEASE='([^']+)'")
if os_ver then
headers[#headers + 1] = "x-ver-os: " .. os_ver
end
local model = readfile("/tmp/sysinfo/model")
if model then
headers[#headers + 1] = "x-device-model: " .. model
end
local mac = readfile("/sys/class/net/eth0/address")
if mac and model then
local raw = mac .. "-" .. model
local p = io.popen("printf '%s' '" .. raw:gsub("'", "'\\''") .. "' | sha256sum")
if p then
local hash = p:read("*l")
p:close()
hash = hash and hash:match("^%w+")
if hash then
headers[#headers + 1] = "x-hwid: " .. hash
end
end
end
local out = {}
for i = 1, #headers do
out[i] = "-H '" .. headers[i]:gsub("'", "'\\''") .. "'"
end
local headers_str = table.concat(out, " ")
local f = io.open(cache_file, "w"); if f then f:write(headers_str); f:close() end
return headers_str
end
local function truncate_nodes(group)
for _, config in pairs(CONFIG) do
if config.currentNodes and #config.currentNodes > 0 then

View File

@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-passwall2
PKG_VERSION:=26.6.3
PKG_RELEASE:=52
PKG_RELEASE:=53
PKG_PO_VERSION:=$(PKG_VERSION)
PKG_CONFIG_DEPENDS:= \

View File

@ -1149,8 +1149,9 @@ acl_app() {
start() {
busybox pgrep -f /tmp/etc/passwall2/bin > /dev/null 2>&1 && {
#log_i18n 0 "The program has started. Please stop it and then restart it!"
stop
logger -t PW2-RESTART "Upgrade or overload residue is detected, and the subprocess is being called to perform complete cleaning..."
(stop)
sleep 2
}
mkdir -p /tmp/etc /tmp/log $TMP_PATH $TMP_BIN_PATH $TMP_SCRIPT_FUNC_PATH $TMP_ROUTE_PATH $TMP_ACL_PATH $TMP_PATH2
get_config

View File

@ -47,6 +47,14 @@
}
}
.fade-in {
@apply animate-in fade-in-0 fill-mode-backwards duration-400;
}
.fade-out {
@apply pointer-events-none opacity-0 transition-opacity duration-400;
}
.spinning {
@apply relative inline-block pl-8!;
@apply before:absolute before:top-1/2 before:left-[6px] before:size-5 before:-translate-y-1/2 before:animate-spin before:bg-current before:[mask:url('@assets/icons/spinning.svg')_center/cover_no-repeat];

View File

@ -8,8 +8,8 @@ include $(TOPDIR)/rules.mk
LUCI_TITLE:=Aurora Theme (A modern browser theme built with Vite and Tailwind CSS)
LUCI_DEPENDS:=+luci-base
PKG_VERSION:=0.12.1
PKG_RELEASE:=18
PKG_VERSION:=0.12.2
PKG_RELEASE:=19
PKG_LICENSE:=Apache-2.0
LUCI_MINIFY_CSS:=

File diff suppressed because one or more lines are too long

View File

@ -1549,11 +1549,11 @@ select {
}
.cbi-value[data-widget="CBI.FlagValue"]:has(> .cbi-value-field > .cbi-checkbox) {
align-items: center;
align-items: flex-start;
}
.cbi-value[data-widget="CBI.FlagValue"]:has(> .cbi-value-field > .cbi-checkbox)>label.cbi-value-title {
padding-top: 0;
padding-top: 6px;
}
.cbi-value>.cbi-section,
@ -4079,6 +4079,7 @@ th[data-sort-direction="desc"]::after {
position: absolute;
left: -1.25em;
top: .2em;
content: "\a0";
display: inline-block;
width: 1em;

View File

@ -270,7 +270,7 @@ header h3 a {
column-gap: 10px;
}
.cbi-value:not(.hidden)[data-widget="CBI.FlagValue"]:has(> .cbi-value-field > .cbi-checkbox) > label.cbi-value-title {
.cbi-value:not(.hidden)[data-widget="CBI.FlagValue"]:has(> .cbi-value-field > .cbi-checkbox)>label.cbi-value-title {
width: auto;
max-width: none;
padding: 0;
@ -280,15 +280,15 @@ header h3 a {
white-space: normal;
}
.cbi-value:not(.hidden)[data-widget="CBI.FlagValue"]:has(> .cbi-value-field > .cbi-checkbox) > .cbi-value-field {
.cbi-value:not(.hidden)[data-widget="CBI.FlagValue"]:has(> .cbi-value-field > .cbi-checkbox)>.cbi-value-field {
display: contents;
}
.cbi-value:not(.hidden)[data-widget="CBI.FlagValue"]:has(> .cbi-value-field > .cbi-checkbox) > .cbi-value-field > .cbi-checkbox {
.cbi-value:not(.hidden)[data-widget="CBI.FlagValue"]:has(> .cbi-value-field > .cbi-checkbox)>.cbi-value-field>.cbi-checkbox {
grid-column: 2;
}
.cbi-value:not(.hidden)[data-widget="CBI.FlagValue"]:has(> .cbi-value-field > .cbi-checkbox) > .cbi-value-field > .cbi-value-description {
.cbi-value:not(.hidden)[data-widget="CBI.FlagValue"]:has(> .cbi-value-field > .cbi-checkbox)>.cbi-value-field>.cbi-value-description {
grid-column: 1 / -1;
width: auto;
max-width: calc(100% - 1.25em);
@ -296,6 +296,10 @@ header h3 a {
margin: .25em 0 0 1.25em;
}
.cbi-value-description:not(:empty)::before {
top: 0;
}
.cbi-value.hidden {
display: none !important;
}

View File

@ -1,8 +1,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=modeminfo
PKG_VERSION:=0.4.6
PKG_RELEASE:=6
PKG_VERSION:=0.4.7
PKG_RELEASE:=7
PKG_MAINTAINER:=Konstantine Shevlakov <shevlakov@132lan.ru>
include $(INCLUDE_DIR)/package.mk

View File

@ -20,7 +20,7 @@ BEGIN {
value = ARGV[2]
ARGC = 1
# LTE Bands
# LTE Bands (EARFCN)
lte_bands[0] = "0-599:1"
lte_bands[1] = "600-1199:2"
lte_bands[2] = "1200-1949:3"
@ -35,14 +35,71 @@ BEGIN {
lte_bands[11] = "38650-39649:40"
lte_bands[12] = "39650-41589:41"
# Other Bands
# Other Bands (GSM/UMTS ARFCN/UARFCN)
other_bands[0] = "1-124:GSM900"
other_bands[1] = "512-885:DCS1800"
other_bands[2] = "955-1023:DCS900"
other_bands[3] = "2937-3088:UMTS900"
other_bands[4] = "10562-10838:IMT2100"
if (mode ~ /^LTE/) {
# 5G NR Bands (NR-ARFCN, 3GPP TS 38.101)
# FR1 (Sub-6 GHz)
nr_bands[0] = "422000-434000:n1"
nr_bands[1] = "386000-398000:n2"
nr_bands[2] = "361000-376000:n3"
nr_bands[3] = "173800-178800:n5"
nr_bands[4] = "524000-538000:n7"
nr_bands[5] = "185000-192000:n8"
nr_bands[6] = "145800-149200:n12"
nr_bands[7] = "149200-151200:n13"
nr_bands[8] = "151600-153600:n14"
nr_bands[9] = "158200-164200:n18"
nr_bands[10] = "166400-172400:n20"
nr_bands[11] = "386000-399000:n25"
nr_bands[12] = "171800-178800:n26"
nr_bands[13] = "151600-160600:n28"
nr_bands[14] = "143400-145600:n29"
nr_bands[15] = "470000-472000:n30"
nr_bands[16] = "402000-405000:n34"
nr_bands[17] = "514000-524000:n38"
nr_bands[18] = "376000-384000:n39"
nr_bands[19] = "460000-480000:n40"
nr_bands[20] = "499200-537999:n41"
nr_bands[21] = "743334-795000:n48"
nr_bands[22] = "286400-303400:n50"
nr_bands[23] = "285400-286400:n51"
nr_bands[24] = "496700-499000:n53"
nr_bands[25] = "422000-440000:n65"
nr_bands[26] = "342000-356000:n66"
nr_bands[27] = "285400-294000:n70"
nr_bands[28] = "132972-135884:n71"
nr_bands[29] = "285400-286400:n74"
nr_bands[30] = "285400-294000:n75"
nr_bands[31] = "285400-286400:n76"
nr_bands[32] = "620000-680000:n77"
nr_bands[33] = "620000-653333:n78"
nr_bands[34] = "693334-733333:n79"
nr_bands[35] = "499200-537999:n80"
nr_bands[36] = "422000-440000:n83"
nr_bands[37] = "323624-333584:n84"
nr_bands[38] = "496700-499000:n86"
nr_bands[39] = "285400-294000:n89"
nr_bands[40] = "380000-382000:n90"
nr_bands[41] = "285400-286400:n91"
nr_bands[42] = "285400-286400:n92"
nr_bands[43] = "285400-286400:n93"
nr_bands[44] = "285400-286400:n94"
# FR2 (mmWave, 24100 GHz)
nr_bands[45] = "2016667-2070833:n257"
nr_bands[46] = "2070833-2084999:n258"
nr_bands[47] = "2229166-2279166:n260"
nr_bands[48] = "2070833-2084999:n261"
if (mode ~ /^(5GNR|LTE\+NR)$/) {
result = find_band(value, nr_bands)
if (result == "") result = find_band(value, lte_bands)
print (result != "" ? result : 0)
} else if (mode ~ /^LTE/) {
result = find_band(value, lte_bands)
print (result != "" ? result : 0)
} else {

View File

@ -5,8 +5,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fastfetch
PKG_VERSION:=2.64.1
PKG_RELEASE:=8
PKG_VERSION:=2.64.2
PKG_RELEASE:=9
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/fastfetch-cli/fastfetch/tar.gz/$(PKG_VERSION)?

View File

@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=pcat-manager
PKG_RELEASE:=2
PKG_RELEASE:=3
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/photonicat/rockchip_rk3568_pcat_manager.git
PKG_SOURCE_DATE:=2023-11-13
PKG_SOURCE_VERSION:=961edb8b5cbae63efb03ee774d198f6fdb682a45
PKG_SOURCE_VERSION:=d3ec162d92c300d2f9db50296ee72c1edb1f53cb
PKG_MIRROR_HASH:=skip
PKG_LICENSE:=GPL-3.0-only