From 128874672f0843b015b1bd0ec7c6ffe811aa4dfc Mon Sep 17 00:00:00 2001 From: "github-action[bot]" Date: Thu, 11 Dec 2025 19:44:16 +0100 Subject: [PATCH] Update On Thu Dec 11 19:44:15 CET 2025 --- .github/update.log | 1 + clash-meta/docs/config.yaml | 4 +- clash-meta/listener/config/sudoku.go | 9 +- clash-meta/listener/inbound/sudoku.go | 4 + clash-meta/listener/inbound/sudoku_test.go | 2 + clash-meta/listener/sudoku/server.go | 17 +- clash-meta/transport/vmess/websocket.go | 2 +- clash-nyanpasu/manifest/version.json | 4 +- lede/feeds.conf.default | 2 +- lede/include/version.mk | 4 +- lede/package/base-files/image-config.in | 2 +- lede/package/kernel/linux/modules/i2c.mk | 16 + mihomo/docs/config.yaml | 4 +- mihomo/listener/config/sudoku.go | 9 +- mihomo/listener/inbound/sudoku.go | 4 + mihomo/listener/inbound/sudoku_test.go | 2 + mihomo/listener/sudoku/server.go | 17 +- mihomo/transport/vmess/websocket.go | 2 +- .../view/passwall/cbi/nodes_multiselect.htm | 94 ++++- shadowsocks-rust/Cargo.lock | 220 +++++------ shadowsocks-rust/Cargo.toml | 11 +- .../crates/shadowsocks-service/Cargo.toml | 4 +- .../crates/shadowsocks/Cargo.toml | 2 +- .../crates/shadowsocks/tests/tcp.rs | 4 +- .../crates/shadowsocks/tests/tcp_tfo.rs | 4 +- shadowsocks-rust/debian/changelog | 14 + shadowsocks-rust/tests/socks5.rs | 6 +- sing-box/.github/setup_musl_cross.sh | 9 +- sing-box/.github/workflows/build.yml | 108 +++--- sing-box/go.mod | 41 +- sing-box/go.sum | 82 ++-- .../view/passwall/cbi/nodes_multiselect.htm | 355 ++++++++++-------- small/shadowsocks-rust/Makefile | 16 +- small/v2ray-geodata/Makefile | 4 +- 34 files changed, 644 insertions(+), 435 deletions(-) diff --git a/.github/update.log b/.github/update.log index f52f08abf0..8bd4df99a3 100644 --- a/.github/update.log +++ b/.github/update.log @@ -1208,3 +1208,4 @@ Update On Sun Dec 7 19:36:46 CET 2025 Update On Mon Dec 8 19:42:31 CET 2025 Update On Tue Dec 9 19:39:21 CET 2025 Update On Wed Dec 10 19:41:17 CET 2025 +Update On Thu Dec 11 19:44:07 CET 2025 diff --git a/clash-meta/docs/config.yaml b/clash-meta/docs/config.yaml index cb76035fa8..26b1af2c90 100644 --- a/clash-meta/docs/config.yaml +++ b/clash-meta/docs/config.yaml @@ -1048,7 +1048,7 @@ proxies: # socks5 padding-min: 2 # 最小填充字节数 padding-max: 7 # 最大填充字节数 table-type: prefer_ascii # 可选值:prefer_ascii、prefer_entropy 前者全ascii映射,后者保证熵值(汉明1)低于3 - # custom-table: xpxvvpvv # 可选,自定义字节布局,必须包含2个x、2个p、4个v,可随意组合。启用此处则无需配置`table-type` + # custom-table: xpxvvpvv # 可选,自定义字节布局,必须包含2个x、2个p、4个v,可随意组合。启用此处则需配置`table-type`为`prefer_entropy` http-mask: true # 是否启用http掩码 enable-pure-downlink: false # 是否启用混淆下行,false的情况下能在保证数据安全的前提下极大提升下行速度,与服务端端保持相同(如果此处为false,则要求aead不可为none) @@ -1590,7 +1590,7 @@ listeners: padding-min: 1 # 填充最小长度 padding-max: 15 # 填充最大长度,均不建议过大 table-type: prefer_ascii # 可选值:prefer_ascii、prefer_entropy 前者全ascii映射,后者保证熵值(汉明1)低于3 - # custom-table: xpxvvpvv # 可选,自定义字节布局,必须包含2个x、2个p、4个v + # custom-table: xpxvvpvv # 可选,自定义字节布局,必须包含2个x、2个p、4个v,可随意组合。启用此处则需配置`table-type`为`prefer_entropy` handshake-timeout: 5 # optional enable-pure-downlink: false # 是否启用混淆下行,false的情况下能在保证数据安全的前提下极大提升下行速度,与客户端保持相同(如果此处为false,则要求aead不可为none) diff --git a/clash-meta/listener/config/sudoku.go b/clash-meta/listener/config/sudoku.go index b49e02557f..b581f3f5ce 100644 --- a/clash-meta/listener/config/sudoku.go +++ b/clash-meta/listener/config/sudoku.go @@ -1,6 +1,10 @@ package config -import "encoding/json" +import ( + "encoding/json" + + "github.com/metacubex/mihomo/listener/sing" +) // SudokuServer describes a Sudoku inbound server configuration. // It is internal to the listener layer and mainly used for logging and wiring. @@ -15,6 +19,9 @@ type SudokuServer struct { HandshakeTimeoutSecond *int `json:"handshake-timeout,omitempty"` EnablePureDownlink *bool `json:"enable-pure-downlink,omitempty"` CustomTable string `json:"custom-table,omitempty"` + + // mihomo private extension (not the part of standard Sudoku protocol) + MuxOption sing.MuxOption `json:"mux-option,omitempty"` } func (s SudokuServer) String() string { diff --git a/clash-meta/listener/inbound/sudoku.go b/clash-meta/listener/inbound/sudoku.go index be69dd395a..6c4092473c 100644 --- a/clash-meta/listener/inbound/sudoku.go +++ b/clash-meta/listener/inbound/sudoku.go @@ -21,6 +21,9 @@ type SudokuOption struct { HandshakeTimeoutSecond *int `inbound:"handshake-timeout,omitempty"` EnablePureDownlink *bool `inbound:"enable-pure-downlink,omitempty"` CustomTable string `inbound:"custom-table,omitempty"` // optional custom byte layout, e.g. xpxvvpvv + + // mihomo private extension (not the part of standard Sudoku protocol) + MuxOption MuxOption `inbound:"mux-option,omitempty"` } func (o SudokuOption) Equal(config C.InboundConfig) bool { @@ -55,6 +58,7 @@ func NewSudoku(options *SudokuOption) (*Sudoku, error) { EnablePureDownlink: options.EnablePureDownlink, CustomTable: options.CustomTable, } + serverConf.MuxOption = options.MuxOption.Build() return &Sudoku{ Base: base, diff --git a/clash-meta/listener/inbound/sudoku_test.go b/clash-meta/listener/inbound/sudoku_test.go index c3fbcc6f63..6ba9e63b6b 100644 --- a/clash-meta/listener/inbound/sudoku_test.go +++ b/clash-meta/listener/inbound/sudoku_test.go @@ -50,6 +50,8 @@ func testInboundSudoku(t *testing.T, inboundOptions inbound.SudokuOption, outbou defer out.Close() tunnel.DoTest(t, out) + + testSingMux(t, tunnel, out) } func TestInboundSudoku_Basic(t *testing.T) { diff --git a/clash-meta/listener/sudoku/server.go b/clash-meta/listener/sudoku/server.go index 072f372b0f..8351e36597 100644 --- a/clash-meta/listener/sudoku/server.go +++ b/clash-meta/listener/sudoku/server.go @@ -9,6 +9,7 @@ import ( "github.com/metacubex/mihomo/adapter/inbound" C "github.com/metacubex/mihomo/constant" LC "github.com/metacubex/mihomo/listener/config" + "github.com/metacubex/mihomo/listener/sing" "github.com/metacubex/mihomo/log" "github.com/metacubex/mihomo/transport/socks5" "github.com/metacubex/mihomo/transport/sudoku" @@ -19,6 +20,7 @@ type Listener struct { addr string closed bool protoConf sudoku.ProtocolConfig + handler *sing.ListenerHandler } // RawAddress implements C.Listener @@ -59,7 +61,8 @@ func (l *Listener) handleConn(conn net.Conn, tunnel C.Tunnel, additions ...inbou _ = session.Conn.Close() return } - tunnel.HandleTCPConn(inbound.NewSocket(targetAddr, session.Conn, C.SUDOKU, additions...)) + l.handler.HandleSocket(targetAddr, session.Conn, additions...) + //tunnel.HandleTCPConn(inbound.NewSocket(targetAddr, session.Conn, C.SUDOKU, additions...)) } } @@ -122,6 +125,17 @@ func New(config LC.SudokuServer, tunnel C.Tunnel, additions ...inbound.Addition) } } + // Using sing handler for sing-mux support + h, err := sing.NewListenerHandler(sing.ListenerConfig{ + Tunnel: tunnel, + Type: C.SUDOKU, + Additions: additions, + MuxOption: config.MuxOption, + }) + if err != nil { + return nil, err + } + l, err := inbound.Listen("tcp", config.Listen) if err != nil { return nil, err @@ -180,6 +194,7 @@ func New(config LC.SudokuServer, tunnel C.Tunnel, additions ...inbound.Addition) listener: l, addr: config.Listen, protoConf: protoConf, + handler: h, } go func() { diff --git a/clash-meta/transport/vmess/websocket.go b/clash-meta/transport/vmess/websocket.go index 8fe436328d..07fb9d6ad1 100644 --- a/clash-meta/transport/vmess/websocket.go +++ b/clash-meta/transport/vmess/websocket.go @@ -362,7 +362,7 @@ func streamWebsocketConn(ctx context.Context, conn net.Conn, c *WebsocketConfig, if err != nil { return nil, err } - tlsConn := tlsC.UClient(conn, tlsC.UConfig(config), clientFingerprint) + tlsConn := tlsC.UClient(conn, tlsConfig, clientFingerprint) if err = tlsC.BuildWebsocketHandshakeState(tlsConn); err != nil { return nil, fmt.Errorf("parse url %s error: %w", c.Path, err) } diff --git a/clash-nyanpasu/manifest/version.json b/clash-nyanpasu/manifest/version.json index 4692bbf3db..07792ee95d 100644 --- a/clash-nyanpasu/manifest/version.json +++ b/clash-nyanpasu/manifest/version.json @@ -2,7 +2,7 @@ "manifest_version": 1, "latest": { "mihomo": "v1.19.17", - "mihomo_alpha": "alpha-17b8eb8", + "mihomo_alpha": "alpha-2211789", "clash_rs": "v0.9.3", "clash_premium": "2023-09-05-gdcc8d87", "clash_rs_alpha": "0.9.3-alpha+sha.a6538ac" @@ -69,5 +69,5 @@ "linux-armv7hf": "clash-armv7-unknown-linux-gnueabihf" } }, - "updated_at": "2025-12-09T22:21:41.769Z" + "updated_at": "2025-12-10T22:21:46.086Z" } diff --git a/lede/feeds.conf.default b/lede/feeds.conf.default index 90755bdc19..3cb8df49e5 100644 --- a/lede/feeds.conf.default +++ b/lede/feeds.conf.default @@ -1,6 +1,6 @@ src-git packages https://github.com/coolsnowwolf/packages #src-git luci https://github.com/coolsnowwolf/luci.git -src-git luci https://github.com/coolsnowwolf/luci.git;openwrt-23.05 +src-git luci https://github.com/coolsnowwolf/luci.git;openwrt-25.12 #src-git luci https://github.com/coolsnowwolf/luci.git;openwrt-24.10 src-git routing https://github.com/coolsnowwolf/routing src-git telephony https://github.com/coolsnowwolf/telephony.git diff --git a/lede/include/version.mk b/lede/include/version.mk index abd7bce7f3..8f3b93aa50 100644 --- a/lede/include/version.mk +++ b/lede/include/version.mk @@ -23,13 +23,13 @@ PKG_CONFIG_DEPENDS += \ sanitize = $(call tolower,$(subst _,-,$(subst $(space),-,$(1)))) VERSION_NUMBER:=$(call qstrip,$(CONFIG_VERSION_NUMBER)) -VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),24.10.3) +VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),25.12-SNAPSHOT) VERSION_CODE:=$(call qstrip,$(CONFIG_VERSION_CODE)) VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),$(REVISION)) VERSION_REPO:=$(call qstrip,$(CONFIG_VERSION_REPO)) -VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),https://downloads.openwrt.org/releases/24.10.3) +VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),https://downloads.openwrt.org/releases/25.12-SNAPSHOT) VERSION_DIST:=$(call qstrip,$(CONFIG_VERSION_DIST)) VERSION_DIST:=$(if $(VERSION_DIST),$(VERSION_DIST),OpenWrt) diff --git a/lede/package/base-files/image-config.in b/lede/package/base-files/image-config.in index 73c62b349a..2cc8a8b2ac 100644 --- a/lede/package/base-files/image-config.in +++ b/lede/package/base-files/image-config.in @@ -190,7 +190,7 @@ if VERSIONOPT config VERSION_REPO string prompt "Release repository" - default "https://downloads.openwrt.org/releases/24.10.3" + default "https://downloads.openwrt.org/releases/25.12-SNAPSHOT" help This is the repository address embedded in the image, it defaults to the trunk snapshot repo; the url may contain the following placeholders: diff --git a/lede/package/kernel/linux/modules/i2c.mk b/lede/package/kernel/linux/modules/i2c.mk index 324a59dda9..c734f868d5 100644 --- a/lede/package/kernel/linux/modules/i2c.mk +++ b/lede/package/kernel/linux/modules/i2c.mk @@ -256,6 +256,22 @@ endef $(eval $(call KernelPackage,i2c-mux-mlxcpld)) +I2C_MUX_PINCTRL_MODULES:= \ + CONFIG_I2C_MUX_PINCTRL:drivers/i2c/muxes/i2c-mux-pinctrl + +define KernelPackage/i2c-mux-pinctrl + $(call i2c_defaults,$(I2C_MUX_PINCTRL_MODULES),51) + TITLE:=Pinctrl-based I2C mux/switches + DEPENDS:=@PINCTRL_SUPPORT @USES_DEVICETREE +kmod-i2c-mux +endef + +define KernelPackage/i2c-mux-pinctrl/description + Kernel modules for Pinctrl-based I2C bus mux/switching devices +endef + +$(eval $(call KernelPackage,i2c-mux-pinctrl)) + + I2C_MUX_REG_MODULES:= \ CONFIG_I2C_MUX_REG:drivers/i2c/muxes/i2c-mux-reg diff --git a/mihomo/docs/config.yaml b/mihomo/docs/config.yaml index cb76035fa8..26b1af2c90 100644 --- a/mihomo/docs/config.yaml +++ b/mihomo/docs/config.yaml @@ -1048,7 +1048,7 @@ proxies: # socks5 padding-min: 2 # 最小填充字节数 padding-max: 7 # 最大填充字节数 table-type: prefer_ascii # 可选值:prefer_ascii、prefer_entropy 前者全ascii映射,后者保证熵值(汉明1)低于3 - # custom-table: xpxvvpvv # 可选,自定义字节布局,必须包含2个x、2个p、4个v,可随意组合。启用此处则无需配置`table-type` + # custom-table: xpxvvpvv # 可选,自定义字节布局,必须包含2个x、2个p、4个v,可随意组合。启用此处则需配置`table-type`为`prefer_entropy` http-mask: true # 是否启用http掩码 enable-pure-downlink: false # 是否启用混淆下行,false的情况下能在保证数据安全的前提下极大提升下行速度,与服务端端保持相同(如果此处为false,则要求aead不可为none) @@ -1590,7 +1590,7 @@ listeners: padding-min: 1 # 填充最小长度 padding-max: 15 # 填充最大长度,均不建议过大 table-type: prefer_ascii # 可选值:prefer_ascii、prefer_entropy 前者全ascii映射,后者保证熵值(汉明1)低于3 - # custom-table: xpxvvpvv # 可选,自定义字节布局,必须包含2个x、2个p、4个v + # custom-table: xpxvvpvv # 可选,自定义字节布局,必须包含2个x、2个p、4个v,可随意组合。启用此处则需配置`table-type`为`prefer_entropy` handshake-timeout: 5 # optional enable-pure-downlink: false # 是否启用混淆下行,false的情况下能在保证数据安全的前提下极大提升下行速度,与客户端保持相同(如果此处为false,则要求aead不可为none) diff --git a/mihomo/listener/config/sudoku.go b/mihomo/listener/config/sudoku.go index b49e02557f..b581f3f5ce 100644 --- a/mihomo/listener/config/sudoku.go +++ b/mihomo/listener/config/sudoku.go @@ -1,6 +1,10 @@ package config -import "encoding/json" +import ( + "encoding/json" + + "github.com/metacubex/mihomo/listener/sing" +) // SudokuServer describes a Sudoku inbound server configuration. // It is internal to the listener layer and mainly used for logging and wiring. @@ -15,6 +19,9 @@ type SudokuServer struct { HandshakeTimeoutSecond *int `json:"handshake-timeout,omitempty"` EnablePureDownlink *bool `json:"enable-pure-downlink,omitempty"` CustomTable string `json:"custom-table,omitempty"` + + // mihomo private extension (not the part of standard Sudoku protocol) + MuxOption sing.MuxOption `json:"mux-option,omitempty"` } func (s SudokuServer) String() string { diff --git a/mihomo/listener/inbound/sudoku.go b/mihomo/listener/inbound/sudoku.go index be69dd395a..6c4092473c 100644 --- a/mihomo/listener/inbound/sudoku.go +++ b/mihomo/listener/inbound/sudoku.go @@ -21,6 +21,9 @@ type SudokuOption struct { HandshakeTimeoutSecond *int `inbound:"handshake-timeout,omitempty"` EnablePureDownlink *bool `inbound:"enable-pure-downlink,omitempty"` CustomTable string `inbound:"custom-table,omitempty"` // optional custom byte layout, e.g. xpxvvpvv + + // mihomo private extension (not the part of standard Sudoku protocol) + MuxOption MuxOption `inbound:"mux-option,omitempty"` } func (o SudokuOption) Equal(config C.InboundConfig) bool { @@ -55,6 +58,7 @@ func NewSudoku(options *SudokuOption) (*Sudoku, error) { EnablePureDownlink: options.EnablePureDownlink, CustomTable: options.CustomTable, } + serverConf.MuxOption = options.MuxOption.Build() return &Sudoku{ Base: base, diff --git a/mihomo/listener/inbound/sudoku_test.go b/mihomo/listener/inbound/sudoku_test.go index c3fbcc6f63..6ba9e63b6b 100644 --- a/mihomo/listener/inbound/sudoku_test.go +++ b/mihomo/listener/inbound/sudoku_test.go @@ -50,6 +50,8 @@ func testInboundSudoku(t *testing.T, inboundOptions inbound.SudokuOption, outbou defer out.Close() tunnel.DoTest(t, out) + + testSingMux(t, tunnel, out) } func TestInboundSudoku_Basic(t *testing.T) { diff --git a/mihomo/listener/sudoku/server.go b/mihomo/listener/sudoku/server.go index 072f372b0f..8351e36597 100644 --- a/mihomo/listener/sudoku/server.go +++ b/mihomo/listener/sudoku/server.go @@ -9,6 +9,7 @@ import ( "github.com/metacubex/mihomo/adapter/inbound" C "github.com/metacubex/mihomo/constant" LC "github.com/metacubex/mihomo/listener/config" + "github.com/metacubex/mihomo/listener/sing" "github.com/metacubex/mihomo/log" "github.com/metacubex/mihomo/transport/socks5" "github.com/metacubex/mihomo/transport/sudoku" @@ -19,6 +20,7 @@ type Listener struct { addr string closed bool protoConf sudoku.ProtocolConfig + handler *sing.ListenerHandler } // RawAddress implements C.Listener @@ -59,7 +61,8 @@ func (l *Listener) handleConn(conn net.Conn, tunnel C.Tunnel, additions ...inbou _ = session.Conn.Close() return } - tunnel.HandleTCPConn(inbound.NewSocket(targetAddr, session.Conn, C.SUDOKU, additions...)) + l.handler.HandleSocket(targetAddr, session.Conn, additions...) + //tunnel.HandleTCPConn(inbound.NewSocket(targetAddr, session.Conn, C.SUDOKU, additions...)) } } @@ -122,6 +125,17 @@ func New(config LC.SudokuServer, tunnel C.Tunnel, additions ...inbound.Addition) } } + // Using sing handler for sing-mux support + h, err := sing.NewListenerHandler(sing.ListenerConfig{ + Tunnel: tunnel, + Type: C.SUDOKU, + Additions: additions, + MuxOption: config.MuxOption, + }) + if err != nil { + return nil, err + } + l, err := inbound.Listen("tcp", config.Listen) if err != nil { return nil, err @@ -180,6 +194,7 @@ func New(config LC.SudokuServer, tunnel C.Tunnel, additions ...inbound.Addition) listener: l, addr: config.Listen, protoConf: protoConf, + handler: h, } go func() { diff --git a/mihomo/transport/vmess/websocket.go b/mihomo/transport/vmess/websocket.go index 8fe436328d..07fb9d6ad1 100644 --- a/mihomo/transport/vmess/websocket.go +++ b/mihomo/transport/vmess/websocket.go @@ -362,7 +362,7 @@ func streamWebsocketConn(ctx context.Context, conn net.Conn, c *WebsocketConfig, if err != nil { return nil, err } - tlsConn := tlsC.UClient(conn, tlsC.UConfig(config), clientFingerprint) + tlsConn := tlsC.UClient(conn, tlsConfig, clientFingerprint) if err = tlsC.BuildWebsocketHandshakeState(tlsConn); err != nil { return nil, fmt.Errorf("parse url %s error: %w", c.Path, err) } diff --git a/openwrt-passwall/luci-app-passwall/luasrc/view/passwall/cbi/nodes_multiselect.htm b/openwrt-passwall/luci-app-passwall/luasrc/view/passwall/cbi/nodes_multiselect.htm index dd39c6c52f..de951198df 100644 --- a/openwrt-passwall/luci-app-passwall/luasrc/view/passwall/cbi/nodes_multiselect.htm +++ b/openwrt-passwall/luci-app-passwall/luasrc/view/passwall/cbi/nodes_multiselect.htm @@ -48,16 +48,15 @@ end
- + -
-
    +
    +
      <% for _, gname in ipairs(group_order) do %> <% local items = groups[gname] %> -
    • +
    • -
      +
      <%=gname%> @@ -65,18 +64,17 @@ end
      -
        - +
          <% for _, item in ipairs(items) do %> -
        • -
          - +
          + /> - +
        • <% end %> @@ -86,7 +84,7 @@ end
      -
      +
      @@ -120,6 +118,76 @@ if not _G.__NODES_MULTIVALUE_CSS_JS__ then display: inline-block; vertical-align: middle; } +.mv_search_input { + width: 100%; + box-sizing: border-box; + padding: 6px; + margin-bottom: 8px; + border: 1px solid #ccc; + border-radius: 4px; + max-height: 36px; +} +.mv_list_container { + max-height: 300px; + overflow: auto; + margin-bottom: 8px; + white-space: nowrap; +} +.mv_node_list { + width: 100%; + box-sizing: border-box; + padding: 0 !important; + margin: 0 !important; +} +.mv_node_list li.group-block { + list-style: none; + padding: 0; + margin: 0 0 8px 0; +} +.mv_node_list .group-title { + cursor: pointer; + display: flex; + align-items: center; + padding: 6px; + margin-bottom: 4px; + background: #f0f0f0; + border-radius: 4px; + white-space: nowrap; +} +.mv_node_list ul.group-items { + margin: 0 0 8px 16px; + padding: 0; + list-style: none; +} +.mv_node_list ul.group-items li.node-item { + list-style: none; + padding: 0; + margin: 0; + white-space: nowrap; + text-align: left; +} +.mv-node-row { + display: inline-flex; + align-items: center; + vertical-align: middle; +} +.mv-node-checkbox { + margin: 0; + vertical-align: middle; + margin-right: 6px; +} +.mv-node-label { + margin: 0; + padding: 0; + vertical-align: middle; + cursor: pointer; +} +.mv-controls { + margin-top: 4px; + display: flex; + gap: 4px; + align-items: center; +} +<% end %> - updateCount(); + diff --git a/small/shadowsocks-rust/Makefile b/small/shadowsocks-rust/Makefile index ac0d1311c6..e0e8e32d51 100644 --- a/small/shadowsocks-rust/Makefile +++ b/small/shadowsocks-rust/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=shadowsocks-rust -PKG_VERSION:=1.23.5 +PKG_VERSION:=1.24.0 PKG_RELEASE:=1 PKG_SOURCE_HEADER:=shadowsocks-v$(PKG_VERSION) @@ -21,29 +21,29 @@ endif ifeq ($(ARCH),aarch64) PKG_SOURCE:=$(PKG_SOURCE_HEADER).aarch64-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER) - PKG_HASH:=42ec15a594dd61b5eae9feb6d7819405e7bd261b8c4cceeda0b6bc7f8b05395f + PKG_HASH:=e00b6551f40bb2d61adb2503909e0df6550c022372c812f3f34350510797ef2f 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),) PKG_SOURCE:=$(PKG_SOURCE_HEADER).arm-$(PKG_SOURCE_BODY)eabi.$(PKG_SOURCE_FOOTER) - PKG_HASH:=dd57f2500fb165dcad52604ad368d311d7d7e8072384866c4e93107af7ceed0c + PKG_HASH:=b00694ac484eaf994408c874c70e1d3392d1654cf3d9391ddf2b589bbee9106c else PKG_SOURCE:=$(PKG_SOURCE_HEADER).arm-$(PKG_SOURCE_BODY)eabihf.$(PKG_SOURCE_FOOTER) - PKG_HASH:=596f3984841b7d83af45120b7a52f0bb671f08996aa16464bd4280d13e1554cd + PKG_HASH:=db56c8e64ce3651907c31fe6a585a68e4c4576c8379f50d82be31d79ba8d00ad endif else ifeq ($(ARCH),i386) PKG_SOURCE:=$(PKG_SOURCE_HEADER).i686-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER) - PKG_HASH:=4f2104e4b914af0e720aa5f8254d35e83baea7c86193a676d97b0d007d0d8071 + PKG_HASH:=a9aabb4209a8f29afabddb2aaaa8a38d8f604fd0075250d61bd594bb10ae38c7 else ifeq ($(ARCH),x86_64) PKG_SOURCE:=$(PKG_SOURCE_HEADER).x86_64-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER) - PKG_HASH:=d37e9f6484aced51188ed6c8beea3538be7a73b072259b65a47e91ebf6530dfc + PKG_HASH:=0d84f5f350ec99396867d718f146fc3810975b2a7cd06192f158d96bdef460e7 else ifeq ($(ARCH),mips) PKG_SOURCE:=$(PKG_SOURCE_HEADER).mips-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER) - PKG_HASH:=4d2fd31e627103d630603ea0df82de877d8a5c4cc2a92e233ddfe73ac6b815a9 + PKG_HASH:=40319c20934121e8d5df90e54cd2b41e064a3487f180f6924ac42ba3cbcebe4f else ifeq ($(ARCH),mipsel) PKG_SOURCE:=$(PKG_SOURCE_HEADER).mipsel-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER) - PKG_HASH:=ffb65d2750f99d7f1777d2f00d30bb58f826f8a50d6b1b2ed9e827db197a5564 + PKG_HASH:=d51792a5b4f6a28bb2e8b07e2f39a60535d1ede9d1973a257c5751a991e26ac8 # Set the default value to make OpenWrt Package Checker happy else PKG_SOURCE:=dummy diff --git a/small/v2ray-geodata/Makefile b/small/v2ray-geodata/Makefile index 91ae8749c0..23aa342374 100644 --- a/small/v2ray-geodata/Makefile +++ b/small/v2ray-geodata/Makefile @@ -21,13 +21,13 @@ define Download/geoip HASH:=6878dbacfb1fcb1ee022f63ed6934bcefc95a3c4ba10c88f1131fb88dbf7c337 endef -GEOSITE_VER:=20251209063354 +GEOSITE_VER:=20251211093703 GEOSITE_FILE:=dlc.dat.$(GEOSITE_VER) define Download/geosite URL:=https://github.com/v2fly/domain-list-community/releases/download/$(GEOSITE_VER)/ URL_FILE:=dlc.dat FILE:=$(GEOSITE_FILE) - HASH:=1132da7e8906a97a5d94a0c3c9eb716386abdbec5e3742babe2409fcfd3810dc + HASH:=d5d61275d4f8a2edbc19a0078b7f8c5bfd8381655b56025f7d6b32e207e971f7 endef GEOSITE_IRAN_VER:=202512080042