Compare commits

...

2 Commits

Author SHA1 Message Date
action
484fa369ac update 2026-07-13 18:54:51 2026-07-13 18:54:51 +08:00
action
11c910c57e update 2026-07-13 14:48:50 2026-07-13 14:48:50 +08:00
9 changed files with 17 additions and 22 deletions

View File

@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=dae PKG_NAME:=dae
PKG_VERSION:=2026.07.10 PKG_VERSION:=2026.07.13
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=e36cac93a606ca61498a96ba796ca977e3dcde27 PKG_SOURCE_VERSION:=a96efcb689ed3a10f46c8ebc1a08be7634449c75
PKG_SOURCE_URL:=https://github.com/olicesx/dae.git PKG_SOURCE_URL:=https://github.com/olicesx/dae.git
PKG_MIRROR_HASH:=skip PKG_MIRROR_HASH:=skip

View File

@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=hysteria PKG_NAME:=hysteria
PKG_VERSION:=2.9.3 PKG_VERSION:=2.10.0
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/apernet/hysteria/tar.gz/app/v$(PKG_VERSION)? PKG_SOURCE_URL:=https://codeload.github.com/apernet/hysteria/tar.gz/app/v$(PKG_VERSION)?
PKG_HASH:=ba7b924d348ce0209bc0a09e84068dc8f71a1f9890d9fb2f7a092fd2a6e9e669 PKG_HASH:=2c629f1ee327841c0288c9662fddc663eb53f3c76922b4660421a474cdb6e1f8
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-app-v$(PKG_VERSION) PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-app-v$(PKG_VERSION)
PKG_LICENSE:=MIT PKG_LICENSE:=MIT

View File

@ -155,8 +155,7 @@ if load_balancing_options then -- [[ Load balancing Start ]]
descrStr = descrStr .. "Conditions are joined by <code>&&</code> (AND), and their order does not affect the result.<br>" descrStr = descrStr .. "Conditions are joined by <code>&&</code> (AND), and their order does not affect the result.<br>"
descrStr = descrStr .. "Multiple groups can be separated by <code>||</code> (OR), matching succeeds if any group matches.<br>" descrStr = descrStr .. "Multiple groups can be separated by <code>||</code> (OR), matching succeeds if any group matches.<br>"
descrStr = descrStr .. "Example: <code>A && B || C && D</code> means (A AND B) OR (C AND D)." descrStr = descrStr .. "Example: <code>A && B || C && D</code> means (A AND B) OR (C AND D)."
o.description = translate(descrStr) .. string.format("<br><font color='red'>%s</font>", o.description = translate(descrStr)
translate("Keep the match scope small. Too many nodes can impact router performance."))
o = s:option(ListValue, _n("balancingStrategy"), translate("Balancing Strategy")) o = s:option(ListValue, _n("balancingStrategy"), translate("Balancing Strategy"))
o:depends({ [_n("protocol")] = "_balancing" }) o:depends({ [_n("protocol")] = "_balancing" })

View File

@ -154,8 +154,7 @@ if load_urltest_options then -- [[ URLTest Start ]]
descrStr = descrStr .. "Conditions are joined by <code>&&</code> (AND), and their order does not affect the result.<br>" descrStr = descrStr .. "Conditions are joined by <code>&&</code> (AND), and their order does not affect the result.<br>"
descrStr = descrStr .. "Multiple groups can be separated by <code>||</code> (OR), matching succeeds if any group matches.<br>" descrStr = descrStr .. "Multiple groups can be separated by <code>||</code> (OR), matching succeeds if any group matches.<br>"
descrStr = descrStr .. "Example: <code>A && B || C && D</code> means (A AND B) OR (C AND D)." descrStr = descrStr .. "Example: <code>A && B || C && D</code> means (A AND B) OR (C AND D)."
o.description = translate(descrStr) .. string.format("<br><font color='red'>%s</font>", o.description = translate(descrStr)
translate("Keep the match scope small. Too many nodes can impact router performance."))
o = s:option(Value, _n("urltest_url"), translate("Probe URL")) o = s:option(Value, _n("urltest_url"), translate("Probe URL"))
o:depends({ [_n("protocol")] = "_urltest" }) o:depends({ [_n("protocol")] = "_urltest" })

View File

@ -1537,7 +1537,7 @@ function match_node_rule(name, rule)
-- split rule by || into OR groups -- split rule by || into OR groups
local function split_or(expr) local function split_or(expr)
local t = {} local t = {}
for part in expr:gmatch("[^|]+") do for part in (expr .. "||"):gmatch("(.-)%|%|") do
part = trim(part) part = trim(part)
if part ~= "" then if part ~= "" then
table.insert(t, part) table.insert(t, part)
@ -1548,7 +1548,7 @@ function match_node_rule(name, rule)
-- split rule by && -- split rule by &&
local function split_and(expr) local function split_and(expr)
local t = {} local t = {}
for part in expr:gmatch("[^&]+") do for part in (expr .. "&&"):gmatch("(.-)%&%&") do
part = trim(part) part = trim(part)
if part ~= "" then if part ~= "" then
table.insert(t, part) table.insert(t, part)

View File

@ -900,10 +900,10 @@ function gen_config(var)
fragment_table = { fragment_table = {
type = "fragment", type = "fragment",
settings = { settings = {
packets = xray_settings.fragment_packets, packets = xray_settings.fragment_packets or "tlshello",
lengths = #lengths > 0 and lengths or nil, lengths = #lengths > 0 and lengths or {"3-5","6-8","10-20"},
delays = #delays > 0 and delays or nil, delays = #delays > 0 and delays or {"10-20"},
maxSplit = xray_settings.fragment_maxSplit maxSplit = xray_settings.fragment_maxSplit or "3-6"
} }
} }
end end

View File

@ -500,9 +500,6 @@ msgstr ""
"多组条件之间可使用 <code>||</code>(或)分隔,任意一组匹配即视为成功。<br>" "多组条件之间可使用 <code>||</code>(或)分隔,任意一组匹配即视为成功。<br>"
"示例:<code>A && B || C && D</code> 表示 (A 且 B) 或 (C 且 D)。" "示例:<code>A && B || C && D</code> 表示 (A 且 B) 或 (C 且 D)。"
msgid "Keep the match scope small. Too many nodes can impact router performance."
msgstr "建议尽量缩小匹配范围,节点过多会增加路由器负载。"
msgid "Balancing Strategy" msgid "Balancing Strategy"
msgstr "负载均衡策略" msgstr "负载均衡策略"

View File

@ -1524,7 +1524,7 @@ function match_node_rule(name, rule)
-- split rule by || into OR groups -- split rule by || into OR groups
local function split_or(expr) local function split_or(expr)
local t = {} local t = {}
for part in expr:gmatch("[^|]+") do for part in (expr .. "||"):gmatch("(.-)%|%|") do
part = trim(part) part = trim(part)
if part ~= "" then if part ~= "" then
table.insert(t, part) table.insert(t, part)
@ -1535,7 +1535,7 @@ function match_node_rule(name, rule)
-- split rule by && -- split rule by &&
local function split_and(expr) local function split_and(expr)
local t = {} local t = {}
for part in expr:gmatch("[^&]+") do for part in (expr .. "&&"):gmatch("(.-)%&%&") do
part = trim(part) part = trim(part)
if part ~= "" then if part ~= "" then
table.insert(t, part) table.insert(t, part)

View File

@ -21,16 +21,16 @@ define Download/geoip
HASH:=b71d1999439dde2de2d2b6844a2befa50c50211ff739785c005ca7c230a17d6a HASH:=b71d1999439dde2de2d2b6844a2befa50c50211ff739785c005ca7c230a17d6a
endef endef
GEOSITE_VER:=20260712115932 GEOSITE_VER:=20260713033814
GEOSITE_FILE:=dlc.dat.$(GEOSITE_VER) GEOSITE_FILE:=dlc.dat.$(GEOSITE_VER)
define Download/geosite define Download/geosite
URL:=https://github.com/v2fly/domain-list-community/releases/download/$(GEOSITE_VER)/ URL:=https://github.com/v2fly/domain-list-community/releases/download/$(GEOSITE_VER)/
URL_FILE:=dlc.dat URL_FILE:=dlc.dat
FILE:=$(GEOSITE_FILE) FILE:=$(GEOSITE_FILE)
HASH:=9c75264410e1cc0dc2de2ba66283f7724c38f2b7476eb8207f7e4cf69ecbb633 HASH:=16fd912b85453c13a0cb52b5fdcd53572e177fe4dc4d6c1cc0a2d2dce10ec989
endef endef
GEOSITE_IRAN_VER:=202607060129 GEOSITE_IRAN_VER:=202607130116
GEOSITE_IRAN_FILE:=iran.dat.$(GEOSITE_IRAN_VER) GEOSITE_IRAN_FILE:=iran.dat.$(GEOSITE_IRAN_VER)
define Download/geosite-ir define Download/geosite-ir
URL:=https://github.com/bootmortis/iran-hosted-domains/releases/download/$(GEOSITE_IRAN_VER)/ URL:=https://github.com/bootmortis/iran-hosted-domains/releases/download/$(GEOSITE_IRAN_VER)/