From f15dfe3f241168c90e383339d87b3f2156bb08bb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 15 Mar 2026 20:20:03 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=8D=95=20Sync=202026-03-15=2020:20:03?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- homebox/Makefile | 4 +-- .../cbi/passwall/client/type/sing-box.lua | 6 ++-- .../model/cbi/passwall/client/type/tuic.lua | 12 ++++++- .../cbi/passwall/server/type/sing-box.lua | 12 ++++++- .../luasrc/passwall/util_sing-box.lua | 24 +++++++++---- .../luasrc/passwall/util_tuic.lua | 17 ++++++--- nikki/Makefile | 2 +- nikki/files/nikki.conf | 1 - sing-box/Makefile | 4 +-- tuic-client/Makefile | 36 ++++++++----------- 10 files changed, 74 insertions(+), 44 deletions(-) diff --git a/homebox/Makefile b/homebox/Makefile index e10bd5a4..a63c8b49 100644 --- a/homebox/Makefile +++ b/homebox/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=homebox PKG_VERSION:=1.0.1 -PKG_RELEASE:=4 +PKG_RELEASE:=5 ifneq ($(filter aarch64%,$(ARCH)),) PKG_ARCH:=arm64 @@ -58,7 +58,7 @@ endef define Package/$(PKG_NAME)/install $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_NAME) $(1)/usr/bin/homebox + $(INSTALL_BIN) $(PKG_BUILD_DIR)/homebox $(1)/usr/bin/homebox endef $(eval $(call BuildPackage,$(PKG_NAME))) \ No newline at end of file diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/type/sing-box.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/type/sing-box.lua index 4feb15cc..e955daa8 100644 --- a/luci-app-passwall/luasrc/model/cbi/passwall/client/type/sing-box.lua +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/type/sing-box.lua @@ -342,14 +342,16 @@ if singbox_tags:find("with_quic") then o:depends({ [_n("protocol")] = "tuic" }) o = s:option(ListValue, _n("tuic_alpn"), translate("QUIC TLS ALPN")) - o.default = "default" - o:value("default", translate("Default")) + o.default = "" + o:value("", translate("Default")) o:value("h3") o:value("h2") o:value("h3,h2") o:value("http/1.1") o:value("h2,http/1.1") o:value("h3,h2,http/1.1") + o:value("spdy/3.1") + o:value("h3,spdy/3.1") o:depends({ [_n("protocol")] = "tuic" }) end diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/type/tuic.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/type/tuic.lua index 5ee5d8ff..f69ac119 100644 --- a/luci-app-passwall/luasrc/model/cbi/passwall/client/type/tuic.lua +++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/type/tuic.lua @@ -132,8 +132,18 @@ o.default = 0 o.rmempty = true o.rewrite_option = o.option -o = s:option(DynamicList, _n("tls_alpn"), translate("TLS ALPN")) +o = s:option(ListValue, _n("tls_alpn"), translate("TLS ALPN")) o.rmempty = true +o.default = "" +o:value("", translate("Default")) +o:value("h3") +o:value("h2") +o:value("h3,h2") +o:value("http/1.1") +o:value("h2,http/1.1") +o:value("h3,h2,http/1.1") +o:value("spdy/3.1") +o:value("h3,spdy/3.1") o.rewrite_option = o.option api.luci_types(arg[1], m, s, type_name, option_prefix) diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/server/type/sing-box.lua b/luci-app-passwall/luasrc/model/cbi/passwall/server/type/sing-box.lua index 1d7b24f4..4bcc31a3 100644 --- a/luci-app-passwall/luasrc/model/cbi/passwall/server/type/sing-box.lua +++ b/luci-app-passwall/luasrc/model/cbi/passwall/server/type/sing-box.lua @@ -142,7 +142,17 @@ if singbox_tags:find("with_quic") then o.default = "3" o:depends({ [_n("protocol")] = "tuic" }) - o = s:option(Value, _n("tuic_alpn"), translate("QUIC TLS ALPN")) + o = s:option(ListValue, _n("tuic_alpn"), translate("QUIC TLS ALPN")) + o.default = "" + o:value("", translate("Default")) + o:value("h3") + o:value("h2") + o:value("h3,h2") + o:value("http/1.1") + o:value("h2,http/1.1") + o:value("h3,h2,http/1.1") + o:value("spdy/3.1") + o:value("h3,spdy/3.1") o:depends({ [_n("protocol")] = "tuic" }) end diff --git a/luci-app-passwall/luasrc/passwall/util_sing-box.lua b/luci-app-passwall/luasrc/passwall/util_sing-box.lua index 2c286a33..44c51ace 100644 --- a/luci-app-passwall/luasrc/passwall/util_sing-box.lua +++ b/luci-app-passwall/luasrc/passwall/util_sing-box.lua @@ -444,9 +444,14 @@ function gen_outbound(flag, node, tag, proxy_table) insecure = (node.tls_allowInsecure == "1") and true or false, fragment = fragment, record_fragment = record_fragment, - alpn = (node.tuic_alpn and node.tuic_alpn ~= "") and { - node.tuic_alpn - } or nil, + alpn = (node.tuic_alpn and node.tuic_alpn ~= "") and (function() + local alpn = {} + string.gsub(node.tuic_alpn, '[^,]+', function(w) + table.insert(alpn, w) + end) + if #alpn > 0 then return alpn end + return nil + end)() or nil, ech = (node.ech == "1") and { enabled = true, config = node.ech_config and split(node.ech_config:gsub("\\n", "\n"), "\n") or {} @@ -770,14 +775,19 @@ function gen_config_server(node) password = node.password } end - tls.alpn = (node.tuic_alpn and node.tuic_alpn ~= "") and { - node.tuic_alpn - } or nil + tls.alpn = (node.tuic_alpn and node.tuic_alpn ~= "") and (function() + local alpn = {} + string.gsub(node.tuic_alpn, '[^,]+', function(w) + table.insert(alpn, w) + end) + if #alpn > 0 then return alpn end + return nil + end)() or nil protocol_table = { users = users, congestion_control = node.tuic_congestion_control or "cubic", zero_rtt_handshake = (node.tuic_zero_rtt_handshake == "1") and true or false, - heartbeat = node.tuic_heartbeat .. "s", + heartbeat = (tonumber(node.tuic_heartbeat) or 3) .. "s", tls = tls } end diff --git a/luci-app-passwall/luasrc/passwall/util_tuic.lua b/luci-app-passwall/luasrc/passwall/util_tuic.lua index 94853943..3aa30987 100644 --- a/luci-app-passwall/luasrc/passwall/util_tuic.lua +++ b/luci-app-passwall/luasrc/passwall/util_tuic.lua @@ -25,11 +25,18 @@ function gen_config(var) -- certificates = node.tuic_certificate and { node.tuic_certpath } or nil, udp_relay_mode = node.tuic_udp_relay_mode, congestion_control = node.tuic_congestion_control, - heartbeat = node.tuic_heartbeat .. "s", - timeout = node.tuic_timeout .. "s", - gc_interval = node.tuic_gc_interval .. "s", - gc_lifetime = node.tuic_gc_lifetime .. "s", - alpn = node.tuic_tls_alpn, + heartbeat = (tonumber(node.tuic_heartbeat) or 3) .. "s", + timeout = (tonumber(node.tuic_timeout) or 8) .. "s", + gc_interval = (tonumber(node.tuic_gc_interval) or 3) .. "s", + gc_lifetime = (tonumber(node.tuic_gc_lifetime) or 15) .. "s", + alpn = (node.tuic_tls_alpn and node.tuic_tls_alpn ~= "") and (function() + local alpn = {} + string.gsub(node.tuic_tls_alpn, '[^,]+', function(w) + table.insert(alpn, w) + end) + if #alpn > 0 then return alpn end + return nil + end)() or nil, disable_sni = (node.tuic_disable_sni == "1"), zero_rtt_handshake = (node.tuic_zero_rtt_handshake == "1"), send_window = tonumber(node.tuic_send_window), diff --git a/nikki/Makefile b/nikki/Makefile index bfc8baff..b4720134 100644 --- a/nikki/Makefile +++ b/nikki/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nikki PKG_VERSION:=2026.03.10 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) diff --git a/nikki/files/nikki.conf b/nikki/files/nikki.conf index cba389d7..bb34afc0 100644 --- a/nikki/files/nikki.conf +++ b/nikki/files/nikki.conf @@ -37,7 +37,6 @@ config mixin 'mixin' option 'ipv6' '1' option 'ui_url' 'https://github.com/Zephyruso/zashboard/releases/latest/download/dist-cdn-fonts.zip' option 'api_listen' '[::]:9090' - option 'api_tls_listen' '[::]:9443' option 'selection_cache' '1' option 'allow_lan' '1' option 'http_port' '8080' diff --git a/sing-box/Makefile b/sing-box/Makefile index 0425d303..40576c9d 100644 --- a/sing-box/Makefile +++ b/sing-box/Makefile @@ -5,8 +5,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=sing-box -PKG_VERSION:=1.13.2 -PKG_RELEASE:=2 +PKG_VERSION:=1.13.3 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/SagerNet/sing-box/tar.gz/v$(PKG_VERSION)? diff --git a/tuic-client/Makefile b/tuic-client/Makefile index a605dd9a..4d6d4bcb 100644 --- a/tuic-client/Makefile +++ b/tuic-client/Makefile @@ -1,39 +1,36 @@ -# SPDX-License-Identifier: GPL-2.0-only +# SPDX-License-Identifier: GPL-2.0-or-later # -# Copyright (C) 2017-2020 Yousong Zhou # Copyright (C) 2021 ImmortalWrt.org include $(TOPDIR)/rules.mk PKG_NAME:=tuic-client -PKG_VERSION:=1.0.0 -PKG_RELEASE:=1 +PKG_VERSION:=1.7.1 +PKG_RELEASE:=2 PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=Tianling Shen include $(INCLUDE_DIR)/package.mk -TUIC_TYPE:=tuic-client-$(PKG_VERSION) -TUIC_FOOT:=unknown-linux-musl ifeq ($(ARCH),aarch64) - TUIC_ARCH:=$(TUIC_TYPE)-aarch64-$(TUIC_FOOT) + TUIC_ARCH:=tuic-client-aarch64-linux-musl PKG_HASH:=skip else ifeq ($(ARCH),arm) # Referred to golang/golang-values.mk ARM_CPU_FEATURES:=$(word 2,$(subst +,$(space),$(call qstrip,$(CONFIG_CPU_TYPE)))) ifeq ($(ARM_CPU_FEATURES),) - TUIC_ARCH:=$(TUIC_TYPE)-armv7-$(TUIC_FOOT)eabi + TUIC_ARCH:=tuic-client-armv7-linux-musl PKG_HASH:=skip else - TUIC_ARCH:=$(TUIC_TYPE)-armv7-$(TUIC_FOOT)eabihf + TUIC_ARCH:=tuic-client-armv7-linux-muslhf PKG_HASH:=skip endif else ifeq ($(ARCH),i386) - TUIC_ARCH:=$(TUIC_TYPE)-i686-$(TUIC_FOOT) + TUIC_ARCH:=tuic-client-i686-linux-musl PKG_HASH:=skip else ifeq ($(ARCH),x86_64) - TUIC_ARCH:=$(TUIC_TYPE)-x86_64-$(TUIC_FOOT) + TUIC_ARCH:=tuic-client-x86_64-linux-musl PKG_HASH:=skip # Set the default value to make OpenWrt Package Checker happy else @@ -42,34 +39,29 @@ else endif define Download/tuic-client - URL:=https://github.com/EAimTY/tuic/releases/download/$(TUIC_TYPE)/ + URL:=https://github.com/Itsusinn/tuic/releases/download/v$(PKG_VERSION)/ URL_FILE:=$(TUIC_ARCH) - FILE:=$(TUIC_ARCH) + FILE:=$(TUIC_ARCH)-$(PKG_VERSION) HASH:=skip endef +$(eval $(call Download,tuic-client)) + define Package/tuic-client SECTION:=net CATEGORY:=Network SUBMENU:=Web Servers/Proxies TITLE:=Delicately-TUICed 0-RTT proxy protocol - URL:=https://github.com/EAimTY/tuic/ + URL:=https://github.com/Itsusinn/tuic DEPENDS:=@USE_MUSL @(aarch64||arm_v7||i386||x86_64) @!(TARGET_x86_geode||TARGET_x86_legacy) endef -define Build/Prepare - $(call Build/Prepare/Default) -ifneq ($(CONFIG_PACKAGE_tuic-client),) - $(call Download,tuic-client) -endif -endef - define Build/Compile endef define Package/tuic-client/install $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(DL_DIR)/$(TUIC_ARCH) $(1)/usr/bin/tuic-client + $(INSTALL_BIN) $(DL_DIR)/$(TUIC_ARCH)-$(PKG_VERSION) $(1)/usr/bin/tuic-client endef $(eval $(call BuildPackage,tuic-client))