Skip to content

Socks5 server: More standard UDP ASSOCIATE (RFC 1928)#6149

Merged
RPRX merged 17 commits into
mainfrom
socks5-udp
May 28, 2026
Merged

Socks5 server: More standard UDP ASSOCIATE (RFC 1928)#6149
RPRX merged 17 commits into
mainfrom
socks5-udp

Conversation

@Fangliding

Copy link
Copy Markdown
Member

本来不想弄的 但是想了想监听随机UDP端口才是RFC规定的行为 那就搓一个吧
优势:没有鉴权问题 可以user路由 同端口不再有UDP监听
劣势:
性能会比以前更差
UDP生命周期和TCP绑定在一起(RFC规定)

@RPRX

RPRX commented May 17, 2026

Copy link
Copy Markdown
Member

sockopt 处理了吗

@Fangliding

Fangliding commented May 17, 2026

Copy link
Copy Markdown
Member Author

没处理 为了把这些破参数都丢进去已经很麻烦了

@Fangliding

Copy link
Copy Markdown
Member Author

我看了一下除非有人附加customsockopt不然现有的sockopt里好像也没针对udp listen的部分

@RPRX

RPRX commented May 17, 2026

Copy link
Copy Markdown
Member

interface 会影响的吧

@RPRX

RPRX commented May 17, 2026

Copy link
Copy Markdown
Member

另外 Xray Socks5 客户端的实现能连上这个吧

@Fangliding

Copy link
Copy Markdown
Member Author

interface 会影响的吧

不会 因为它绑死监听的具体地址(socks5特性)

@Fangliding

Copy link
Copy Markdown
Member Author

另外 Xray Socks5 客户端的实现能连上这个吧

客户端实现是标准的 有test可以跑通

@RPRX

RPRX commented May 23, 2026

Copy link
Copy Markdown
Member

看了下代码,貌似没限制 remoteAddr 必须相同,最好还是限制一下?

@Fangliding

Copy link
Copy Markdown
Member Author

看了下代码,貌似没限制 remoteAddr 必须相同,最好还是限制一下?

它会认第一个到的包作为远端 理论上从 udp associate 验证成功到客户端第一个包到有微弱的窗口可以take over这个转发请求 不过能看到这个过程的中间人一般也能直接看到连接密码

@RPRX

RPRX commented May 23, 2026

Copy link
Copy Markdown
Member

依稀记得 Socks5 RFC 似乎客户端可以声明要用哪个地址来发 UDP 包?可以只监听那个地址,虽然一般都留空

@RPRX

RPRX commented May 23, 2026

Copy link
Copy Markdown
Member

忘了 listen 能不能实现这个,总之第一个包还是限制下 remote IP 吧

@Fangliding

Copy link
Copy Markdown
Member Author

昨晚上弄了忘了push上来了

@RPRX RPRX changed the title Socks5 udp Socks5 server: More standard UDP ASSOCIATE (RFC 1928) May 24, 2026
@RPRX

RPRX commented May 24, 2026

Copy link
Copy Markdown
Member

依稀记得 Socks5 RFC 似乎客户端可以声明要用哪个地址来发 UDP 包?

确实是这样,实现一下,优先限制为指定的来源二元组(端口为 0 的话先不限端口),否则限制为 TCP conn 的 remoteAddr

@Fangliding

Copy link
Copy Markdown
Member Author

根据我的研究市面上99%的实现都是填0 因为nat存在

@Fangliding

Copy link
Copy Markdown
Member Author

现在这样按源限制跟之前的udp filter是一样的 也没见到任何complain

@RPRX

RPRX commented May 24, 2026

Copy link
Copy Markdown
Member

那肯定是啊,但迟早有人就这个问题开个 issue,不如直接实现了

@RPRX

RPRX commented May 24, 2026

Copy link
Copy Markdown
Member

之前 udp filter 没实现这个的主要考虑是防止有密码的用户往服务端 map 塞垃圾,毕竟那个简单实现没清理机制

@RPRX

RPRX commented May 24, 2026

Copy link
Copy Markdown
Member

端口为 0 的话先不限端口

@RPRX

RPRX commented May 26, 2026

Copy link
Copy Markdown
Member

@Fangliding 上面那个实现一下

@Fangliding

Copy link
Copy Markdown
Member Author
If the 
   client is not in possesion of the information at the time of the UDP
   ASSOCIATE, the client MUST use a port number and address of all
   zeros.

没有说可以分开

@RPRX

RPRX commented May 26, 2026

Copy link
Copy Markdown
Member

猜到了但还是想实现一下,这个挺实用的,虽然公网不该用 Socks

@Fangliding

Fangliding commented May 26, 2026

Copy link
Copy Markdown
Member Author

这实用在哪 都找不到一个客户端实现 这么改还非标
像ss之类选择uou的都改成仅udp协商了 破事少很多

@RPRX

RPRX commented May 26, 2026

Copy link
Copy Markdown
Member

@Fangliding 判断写反了

@RPRX

RPRX commented May 26, 2026

Copy link
Copy Markdown
Member

@Fangliding Read() 里 remote 改成放外面定义,然后把第一个 return 和第二个 continue 都改成 break(判断要取反)

@Fangliding

Copy link
Copy Markdown
Member Author

不还是你用网页版改一下吧 这机枪往左移五米我怕又改岔了(

@RPRX

RPRX commented May 26, 2026

Copy link
Copy Markdown
Member

本来我还在想这里的 race 问题,后来才发现不对啊就不该有 store 的 race,反而现在的代码有极短的时间窗口会被夺舍

@Fangliding 改成 NewTempUDPConn 包揽 Listen,而 remote 在之前就准备好,Read() 内也无需考虑 store 的 race 了

@Fangliding

Fangliding commented May 26, 2026

Copy link
Copy Markdown
Member Author

udp listen在外面的原因是要它自动分配的端口给还给客户端 改地方无非就是把本来传udp conn的地方改成传地址 完了再从这个tempUDPConn取出来 不能省多少地方
至于这个 "而 remote 在之前就准备好,Read() 内也无需考虑 store 的 race 了" 我没看懂是啥

@RPRX

RPRX commented May 26, 2026

Copy link
Copy Markdown
Member

我的意思是并不需要 CompareAndSwap,且现在的代码由于 Read() 发生在 tempUDPConn 完全准备好后所以其实不会被夺舍

我刚改了下 Read(),“而 remote 在之前就准备好”指的是 remote 在 NewTempUDPConn 前就确定,改成明确的串行会更清晰

@Fangliding

Fangliding commented May 26, 2026

Copy link
Copy Markdown
Member Author

remote要等远程发来的第一个包怎么在NewTempUDPConn之前确定
如果说先发来的的那种情况又要在后面加参数 一般而言构建函数只要求必要的东西 有 nullable 的参数会显得很冗长 不如在后面追加 这种东西的完整解决办法是在最后放数个可变长的opt函数 像之前那个 tls.WithNextProto 一样 要么传个config进去(类似tls config) 但是这地方又不要扩展性很明显没必要

@RPRX

RPRX commented May 26, 2026

Copy link
Copy Markdown
Member

@Fangliding 我指的就是先发来的那种情况,“改成明确的串行会更清晰”,不是为了省代码

@KobeArthurScofield 话说这个 push & pr 同时存在时跑两次 test 能不能改成只跑 push 的

@KobeArthurScofield

Copy link
Copy Markdown
Collaborator

话说这个 push & pr 同时存在时跑两次 test 能不能改成只跑 push 的

有空看看, 不知道能不能弄优雅

@RPRX

RPRX commented May 28, 2026

Copy link
Copy Markdown
Member

想到了一个更好的方式,直接写了一下:反正一定有 expected IP,一开始就存进 ExpectedRemote(允许 port 留空),简化了代码,串行顺序也清晰了且无需 nil 判断了,RemoteAddr() 还能读半个,明确是 net.UDPAddr 无需取 string,对比效率更高

@RPRX

RPRX commented May 28, 2026

Copy link
Copy Markdown
Member

更精确的 c.Timer.Update(),暂时没别的问题了准备合了

@RPRX RPRX merged commit e26f5e9 into main May 28, 2026
78 checks passed
@RPRX

RPRX commented May 28, 2026

Copy link
Copy Markdown
Member

优先限制为指定的来源二元组(端口为 0 的话先不限端口)

脑洞了一下,比如说想套娃,翻墙后使用国外的 Socks5 代理,然而客户端有某种分流导致 TCP/UDP 走了不同的节点

由于 Xray Socks5 服务端默认要求 UDP 来源 IP 与 TCP 相同,所以 Socks5 客户端需要明确指定 UDP 来源 IP

@KobeArthurScofield

Copy link
Copy Markdown
Collaborator

话说这个 push & pr 同时存在时跑两次 test 能不能改成只跑 push 的

#6090

nebulabox added a commit to nebulabox/Xray-core that referenced this pull request Jun 2, 2026
* commit '94ffd50060f1cfd5d7482ec90a23a92bdefdff68': (107 commits)
  Xray-core v26.6.1
  Burst observatory: Fix init check (XTLS#6221)
  DNS outbound: Replace "reject" with "return" (`rCode` is 0 by default) (XTLS#6214)
  uTLS: Update `ModernFingerprints` map and `OtherFingerprints` map (XTLS#6181)
  Realm finalmask: Fix client punch peers (XTLS#6213)
  GitHub Action CI: Add Go source file format check (XTLS#6090)
  Burst observatory: Fix time compare, cancel pending ping on instance close or new schedule started (XTLS#6106)
  Finalmask: Add mkcp-legacy (UDP) to replace mkcp-* and legacy header-* (XTLS#6201)
  Sudoku finalmask: Harden UDP ReadFrom() against invalid packets (XTLS#6185)
  XICMP finalmask: Refactor & Speed up; Add multi `ips` and `dgram` mode (client) (XTLS#6168)
  Salamander finalmask: Support `packetSize` (Gecko in Hysteria v2.9.2) (XTLS#6198)
  Finalmask: Add Realm (UDP hole punching in Hysteria v2.9.1) (XTLS#6137)
  README.md: Add flutter_vless to Xray Wrapper in Others (XTLS#6197)
  DNS: Avoid panic on domain too long (XTLS#6207)
  header-custom finalmask: Remove headerConnMode headerReadAddrAware interface (XTLS#6193)
  noise finalmask: Better `reset` (XTLS#6188)
  DNS: Avoid passing domain to WriteTo func (XTLS#6163)
  Bump golang.org/x/net from 0.54.0 to 0.55.0 (XTLS#6192)
  Socks5 server: More standard UDP ASSOCIATE (RFC 1928) (XTLS#6149)
  Hysteria server: `tls.WithNextProto("h3")` by default (XTLS#6186)
  ...

# Conflicts:
#	core/core.go
Meo597 added a commit that referenced this pull request Jul 5, 2026
commit 65f6f0a
Author: yiguodev <147401898+yiguodev@users.noreply.github.com>
Date:   Sat Jul 4 10:25:15 2026 +0800

    TUN inbound: Refine `gateway` and `autoSystemRoutingTable` on Linux (#6398)

    #6398 (comment)

commit 3263ae9
Author: Jasper344612 <282825138+Jasper344612@users.noreply.github.com>
Date:   Sat Jul 4 09:38:25 2026 +0800

    TUN inbound: Fix `autoOutboundsInterface` on Linux (#6413)

    Fixes #6412

commit 3dc8bf3
Author: LjhAUMEM <llnu14702@gmail.com>
Date:   Sat Jul 4 09:28:21 2026 +0800

    Hysteria inbound: Fix dynamic UUID not accepted (#6395)

    Fixes #6375 (comment)

commit 695e68e
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri Jul 3 17:53:15 2026 +0000

    Bump github.com/pires/go-proxyproto from 0.12.0 to 0.14.0 (#6420)

    Bumps [github.com/pires/go-proxyproto](https://github.com/pires/go-proxyproto) from 0.12.0 to 0.14.0.
    - [Release notes](https://github.com/pires/go-proxyproto/releases)
    - [Commits](pires/go-proxyproto@v0.12.0...v0.14.0)

    ---
    updated-dependencies:
    - dependency-name: github.com/pires/go-proxyproto
      dependency-version: 0.14.0
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit dfdbcf8
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri Jul 3 17:45:51 2026 +0000

    Bump github.com/klauspost/cpuid/v2 from 2.3.0 to 2.4.0 (#6417)

    Bumps [github.com/klauspost/cpuid/v2](https://github.com/klauspost/cpuid) from 2.3.0 to 2.4.0.
    - [Release notes](https://github.com/klauspost/cpuid/releases)
    - [Commits](klauspost/cpuid@v2.3.0...v2.4.0)

    ---
    updated-dependencies:
    - dependency-name: github.com/klauspost/cpuid/v2
      dependency-version: 2.4.0
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 2b828b7
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri Jul 3 17:45:47 2026 +0000

    Bump google.golang.org/grpc from 1.81.1 to 1.82.0 (#6415)

    Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.81.1 to 1.82.0.
    - [Release notes](https://github.com/grpc/grpc-go/releases)
    - [Commits](grpc/grpc-go@v1.81.1...v1.82.0)

    ---
    updated-dependencies:
    - dependency-name: google.golang.org/grpc
      dependency-version: 1.82.0
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 45cf289
Author: RPRX <63339210+RPRX@users.noreply.github.com>
Date:   Sat Jun 27 13:18:03 2026 +0000

    Xray-core v26.6.27

    Sponsor & Donation & NFTs: #3668
    Project X Channel: https://t.me/projectXtls

    Announcement of NFTs by Project X: #3633
    Project X NFT: https://opensea.io/assets/ethereum/0x5ee362866001613093361eb8569d59c4141b76d1/1

    VLESS Post-Quantum Encryption: #5067
    VLESS NFT: https://opensea.io/collection/vless

    XHTTP: Beyond REALITY: #4113
    REALITY NFT: https://opensea.io/assets/ethereum/0x5ee362866001613093361eb8569d59c4141b76d1/2

commit 18b85ad
Author: RPRX <63339210+RPRX@users.noreply.github.com>
Date:   Sat Jun 27 12:41:39 2026 +0000

    XHTTP client: Change default `maxConnections` to 6 for anti-RKN

    "xmux": {
        "maxConcurrency": 0,
        "maxConnections": "6",
        "cMaxReuseTimes": 0,
        "hMaxRequestTimes": "600-900",
        "hMaxReusableSecs": "1800-3000",
        "hKeepAlivePeriod": 0
    }

    Replaces 9cc7907 and 4ce65fc

    Closes #6376 (comment)

commit 452b719
Author: seally <70375705+nasralbek@users.noreply.github.com>
Date:   Sat Jun 27 17:04:58 2026 +0500

    Hysteria inbound: Support `routing`'s `vlessRoute` as well (#6375)

    #6375 (comment)

    ---------

    Co-authored-by: LjhAUMEM <llnu14702@gmail.com>

commit 345c76f
Author: bitwiresys <46227999+bitwiresys@users.noreply.github.com>
Date:   Sat Jun 27 14:41:22 2026 +0300

    WireGuard inbound: Support dynamic peer management (#6360)

    #6360 (comment)

    Closes #6314

    ---------

    Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
    Co-authored-by: LjhAUMEM <llnu14702@gmail.com>

commit f496437
Author: 迷途的猫 <xxntmctx@gmail.com>
Date:   Sat Jun 27 18:40:58 2026 +0800

    XHTTP server: Refactor upload_queue.go (#6372)

    #6372 (comment)

    ---------

    Co-authored-by: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
    Co-authored-by: RPRX <63339210+RPRX@users.noreply.github.com>

commit b12bc50
Author: kokoro <89308518+kokoromagic@users.noreply.github.com>
Date:   Thu Jun 25 04:06:24 2026 +0700

    README.md: Add Magic_V2Ray to Magisk in Installation (#6355)

    #6355 (comment)

    ---------

    Co-authored-by: RPRX <63339210+RPRX@users.noreply.github.com>

commit dda2b10
Author: yiguodev <147401898+yiguodev@users.noreply.github.com>
Date:   Wed Jun 24 20:00:22 2026 +0800

    TUN inbound: Add traffic counters; Metrics: Rely on instance (#6349)

    #6349 (comment)

commit 241aa38
Author: Jasper344612 <282825138+Jasper344612@users.noreply.github.com>
Date:   Wed Jun 24 19:06:00 2026 +0800

    TUN inbound: Support `autoSystemRoutingTable` and `autoOutboundsInterface` on macOS and Linux as well (#6366)

    #6366 (comment)

commit 7e7e820
Author: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
Date:   Wed Jun 24 18:49:05 2026 +0800

    Geodata: Apply uTLS Chrome fingerprint when downloading (#6371)

    Closes #6369

commit f9eb159
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed Jun 24 10:48:21 2026 +0000

    Bump actions/cache from 5 to 6 (#6368)

    Bumps [actions/cache](https://github.com/actions/cache) from 5 to 6.
    - [Release notes](https://github.com/actions/cache/releases)
    - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
    - [Commits](actions/cache@v5...v6)

    ---
    updated-dependencies:
    - dependency-name: actions/cache
      dependency-version: '6'
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit ac04c44
Author: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
Date:   Tue Jun 23 19:48:17 2026 +0800

    DNS: Fix unexpected TTL clamp (#6363)

    Fixes #6359

commit e7e9254
Author: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
Date:   Tue Jun 23 19:37:21 2026 +0800

    TUN inbound: Avoid panic on nil RemoteAddr due to quickly closed connection (#6365)

    Fixes #6364 (comment)

    ---------

    Co-authored-by: RPRX <63339210+RPRX@users.noreply.github.com>

commit fab4bcc
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue Jun 23 10:34:07 2026 +0000

    Bump github.com/cloudflare/circl from 1.6.3 to 1.6.4 (#6362)

    Bumps [github.com/cloudflare/circl](https://github.com/cloudflare/circl) from 1.6.3 to 1.6.4.
    - [Release notes](https://github.com/cloudflare/circl/releases)
    - [Commits](cloudflare/circl@v1.6.3...v1.6.4)

    ---
    updated-dependencies:
    - dependency-name: github.com/cloudflare/circl
      dependency-version: 1.6.4
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit b99c3e5
Author: RPRX <63339210+RPRX@users.noreply.github.com>
Date:   Mon Jun 22 18:55:10 2026 +0000

    Xray-core v26.6.22

    Sponsor & Donation & NFTs: #3668
    Project X Channel: https://t.me/projectXtls

    Announcement of NFTs by Project X: #3633
    Project X NFT: https://opensea.io/assets/ethereum/0x5ee362866001613093361eb8569d59c4141b76d1/1

    VLESS Post-Quantum Encryption: #5067
    VLESS NFT: https://opensea.io/collection/vless

    XHTTP: Beyond REALITY: #4113
    REALITY NFT: https://opensea.io/assets/ethereum/0x5ee362866001613093361eb8569d59c4141b76d1/2

commit 583bb4a
Author: Omoeba <38597972+Omoeba@users.noreply.github.com>
Date:   Mon Jun 22 11:51:47 2026 -0700

    XHTTP server: Fix `scStreamUpServerSecs` when `xPaddingObfsMode` is true (#6343)

    #6343 (comment)

commit 9cd9382
Author: Жора Змейкин <48821354+Katze-942@users.noreply.github.com>
Date:   Mon Jun 22 21:29:23 2026 +0400

    TUN inbound: Support env `XRAY_TUN_FD` on Linux as well (#6338)

    #6338 (comment)

commit 567500c
Author: patterniha <71074308+patterniha@users.noreply.github.com>
Date:   Mon Jun 22 19:57:23 2026 +0330

    Fragment finalmask: Add `lengths` and `delays` (#6334)

    Usage: #6334 (comment)

    Behavior: #6334 (comment)

    ---------

    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

commit 5aefcb4
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Jun 22 16:05:47 2026 +0000

    Bump github.com/pion/stun/v3 from 3.1.5 to 3.1.6 (#6357)

    Bumps [github.com/pion/stun/v3](https://github.com/pion/stun) from 3.1.5 to 3.1.6.
    - [Release notes](https://github.com/pion/stun/releases)
    - [Commits](pion/stun@v3.1.5...v3.1.6)

    ---
    updated-dependencies:
    - dependency-name: github.com/pion/stun/v3
      dependency-version: 3.1.6
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit be8009c
Author: Meow <197331664+Meo597@users.noreply.github.com>
Date:   Fri Jun 19 20:02:27 2026 +0800

    Geodata: Cleanup unneeded matchers & `domain:` ignore case (#6342)

    Completes #6139

commit 8734774
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri Jun 19 11:23:41 2026 +0000

    Bump actions/checkout from 6 to 7 (#6344)

    Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
    - [Release notes](https://github.com/actions/checkout/releases)
    - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
    - [Commits](actions/checkout@v6...v7)

    ---
    updated-dependencies:
    - dependency-name: actions/checkout
      dependency-version: '7'
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 1e036ce
Author: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
Date:   Fri Jun 19 07:55:11 2026 +0800

    XHTTP/3 client: Actively close underlying QUIC & UDP (#6332)

    Fixes #6328 (comment)

commit c815c2f
Author: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com>
Date:   Fri Jun 19 07:17:01 2026 +0800

    Loopback outbound: Add `sniffing` (#6326)

    Example: #6326 (comment)

commit 986c512
Author: bytecategory <nettopology@proton.me>
Date:   Fri Jun 19 06:55:18 2026 +0800

    XHTTP client: Avoid panic when `host` is invalid (#6316)

    Fixes #6315

commit 711aea4
Author: Meow <197331664+Meo597@users.noreply.github.com>
Date:   Fri Jun 19 06:31:21 2026 +0800

    XHTTP & WS & HU & gRPC servers: Require `sockopt.trustedXForwardedFor` (#6309)

    #6258 (comment)

    Behavior: #6258 (comment)

    Replaces #6159

commit 6412738
Author: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
Date:   Wed Jun 17 22:27:26 2026 +0800

    Socks5 inbound: Fix issues in new UDP ASSOCIATE (#6325)

    #6325 (comment)

    Fixes #6323

    ---------

    Co-authored-by: RPRX <63339210+RPRX@users.noreply.github.com>

commit ad2e4cb
Author: LjhAUMEM <llnu14702@gmail.com>
Date:   Wed Jun 17 21:59:19 2026 +0800

    Finalmask: Fix unexpected order and UDP's buf issue (#6331)

    XTLS/Xray-docs-next#866 (comment)

    And #6331 (comment)

    Fixes #6184 (comment)

commit 829d54d
Author: Hossin Asaadi <hossin.asaadi@gmail.com>
Date:   Tue Jun 16 22:49:35 2026 +0100

    Hysteria & XHTTP/3 clients: `udpHop` supports `dialerProxy` (#6320)

    #6320 (comment)

    Fixes #6320 (comment)

    ---------

    Co-authored-by: LjhAUMEM <llnu14702@gmail.com>

commit 8626311
Author: LjhAUMEM <llnu14702@gmail.com>
Date:   Tue Jun 16 23:24:39 2026 +0800

    WireGuard proxy: Refactor (#6287)

    And #6303 (comment)

    Fixes #6257

commit d27b3e4
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue Jun 16 11:45:27 2026 +0000

    Bump golang.org/x/net from 0.55.0 to 0.56.0 (#6310)

    Bumps [golang.org/x/net](https://github.com/golang/net) from 0.55.0 to 0.56.0.
    - [Commits](golang/net@v0.55.0...v0.56.0)

    ---
    updated-dependencies:
    - dependency-name: golang.org/x/net
      dependency-version: 0.56.0
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit da21a8f
Author: LjhAUMEM <llnu14702@gmail.com>
Date:   Wed Jun 10 04:53:55 2026 +0800

    TUN & WireGuard inbounds: Ignore b.UDP's domain when receiving it from outbound (#6285)

    Fixes #6279

commit e10347b
Author: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
Date:   Tue Jun 9 23:58:02 2026 +0800

    XHTTP transport: Add `sessionIDTable` and `sessionIDLength`; Rename `session*` to `sessionID*` (#6258)

    #6258 (comment)
    #6253 (comment)
    #6251 (comment)

    Usage: #6258 (comment)

    Closes #6264

    ---------

    Co-authored-by: XXcipherX <knazevvv6514@gmail.com>

commit 26a022c
Author: 𐲓𐳛𐳪𐳂𐳐 𐲀𐳢𐳦𐳫𐳢 𐲥𐳔𐳛𐳪𐳌𐳑𐳖𐳇 <26771058+KobeArthurScofield@users.noreply.github.com>
Date:   Tue Jun 9 20:08:38 2026 +0800

    GitHub Action CI, README.md: Refinements and add compliance contents (#6283)

    And #6283 (comment)

commit 95e9816
Author: 𐲓𐳛𐳪𐳂𐳐 𐲀𐳢𐳦𐳫𐳢 𐲥𐳔𐳛𐳪𐳌𐳑𐳖𐳇 <26771058+KobeArthurScofield@users.noreply.github.com>
Date:   Tue Jun 9 18:55:42 2026 +0800

    Chore: Limit sing* dependencies to shadowsocks_2022 only (#6286)

    #6286 (comment)

commit 3239d21
Author: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
Date:   Tue Jun 9 17:40:55 2026 +0800

    TUN inbound: `autoOutboundsInterface` bypasses loopback addresses (#6276)

    Fixes #6269

commit 06b4931
Author: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
Date:   Tue Jun 9 17:22:33 2026 +0800

    TUN inbound: Start TUN by AlwaysOnInboundHandler (#6275)

    Fixes #6274

commit 6189d2b
Author: LjhAUMEM <llnu14702@gmail.com>
Date:   Tue Jun 9 17:14:54 2026 +0800

    XICMP finalmask: Refine Linux sever (#6272)

    Fixes #6168

commit a0e9347
Author: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
Date:   Tue Jun 9 17:03:24 2026 +0800

    TLS ECH: Handle "h2c://" query correctly (#6261)

    Fixes #6259 (comment)

    ---------

    Co-authored-by: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com>

commit 83cf229
Author: IconHHw <138437673+IconHHw@users.noreply.github.com>
Date:   Tue Jun 9 03:55:06 2026 +0800

    Salamander finalmask: Replace `math/rand` with `crypto/rand` in salt generation (#6228)

    And #6228 (comment)

    Fixes #6228 (comment)

commit 2249f8b
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Jun 8 19:29:14 2026 +0000

    Bump github.com/pion/stun/v3 from 3.1.2 to 3.1.5 (#6291)

    Bumps [github.com/pion/stun/v3](https://github.com/pion/stun) from 3.1.2 to 3.1.5.
    - [Release notes](https://github.com/pion/stun/releases)
    - [Commits](pion/stun@v3.1.2...v3.1.5)

    ---
    updated-dependencies:
    - dependency-name: github.com/pion/stun/v3
      dependency-version: 3.1.5
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit fdb9b61
Author: lmlm <no_7seven@163.com>
Date:   Wed Jun 3 07:58:56 2026 +0800

    README.md: Add Hey to HarmonyOS in GUI Clients (#6244)

    https://github.com/popsiclelmlm/Hey/blob/main/entry/src/main/cpp/README.md

    ---------

    Co-authored-by: liumin01 <liumin01@roborock.com>

commit d792fba
Author: 𐲓𐳛𐳪𐳂𐳐 𐲀𐳢𐳦𐳫𐳢 𐲥𐳔𐳛𐳪𐳌𐳑𐳖𐳇 <26771058+KobeArthurScofield@users.noreply.github.com>
Date:   Wed Jun 3 07:40:17 2026 +0800

    GitHub Actions CI: Builders run only once in pull requests in the same repository (#6222)

    #6221 (comment)

    Completes #6090 (comment)

commit 55956f8
Author: 𐲓𐳛𐳪𐳂𐳐 𐲀𐳢𐳦𐳫𐳢 𐲥𐳔𐳛𐳪𐳌𐳑𐳖𐳇 <26771058+KobeArthurScofield@users.noreply.github.com>
Date:   Wed Jun 3 07:36:42 2026 +0800

    TLS config: Remove some deprecated fields (#6226)

    https://t.me/projectXtls/1490

    ---------

    Co-authored-by: RPRX <63339210+RPRX@users.noreply.github.com>

commit 94ffd50
Author: RPRX <63339210+RPRX@users.noreply.github.com>
Date:   Mon Jun 1 02:11:09 2026 +0000

    Xray-core v26.6.1

    Sponsor & Donation & NFTs: #3668
    Project X Channel: https://t.me/projectXtls

    Announcement of NFTs by Project X: #3633
    Project X NFT: https://opensea.io/assets/ethereum/0x5ee362866001613093361eb8569d59c4141b76d1/1

    VLESS Post-Quantum Encryption: #5067
    VLESS NFT: https://opensea.io/collection/vless

    XHTTP: Beyond REALITY: #4113
    REALITY NFT: https://opensea.io/assets/ethereum/0x5ee362866001613093361eb8569d59c4141b76d1/2

commit c4dfcd4
Author: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
Date:   Mon Jun 1 09:30:40 2026 +0800

    Burst observatory: Fix init check (#6221)

    #6106 (comment)

commit cb8cd04
Author: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com>
Date:   Mon Jun 1 09:25:47 2026 +0800

    DNS outbound: Replace "reject" with "return" (`rCode` is 0 by default) (#6214)

    #6214 (comment)

    Example: #6214 (comment)

    ---------

    Co-authored-by: Meo597 <197331664+Meo597@users.noreply.github.com>

commit 455f6bc
Author: Davoyan <20373889+Davoyan@users.noreply.github.com>
Date:   Sat May 30 20:29:33 2026 +0300

    uTLS: Update `ModernFingerprints` map and `OtherFingerprints` map (#6181)

    Paying attention to #6181 (comment)

    And a real issue: #6181 (comment)

commit ba53861
Author: LjhAUMEM <llnu14702@gmail.com>
Date:   Sat May 30 17:30:23 2026 +0800

    Realm finalmask: Fix client punch peers (#6213)

    Fixes #6137

commit d43a808
Author: 𐲓𐳛𐳪𐳂𐳐 𐲀𐳢𐳦𐳫𐳢 𐲥𐳔𐳛𐳪𐳌𐳑𐳖𐳇 <26771058+KobeArthurScofield@users.noreply.github.com>
Date:   Fri May 29 23:04:59 2026 +0800

    GitHub Action CI: Add Go source file format check (#6090)

    #6057 (comment)

    And #6149 (comment)

commit ca4b156
Author: Jesus <75259437+Jolymmiles@users.noreply.github.com>
Date:   Fri May 29 15:59:24 2026 +0400

    Burst observatory: Fix time compare, cancel pending ping on instance close or new schedule started (#6106)

    #6106 (comment)

    ---------

    Co-authored-by: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>

commit aba2272
Author: LjhAUMEM <llnu14702@gmail.com>
Date:   Fri May 29 19:48:22 2026 +0800

    Finalmask: Add mkcp-legacy (UDP) to replace mkcp-* and legacy header-* (#6201)

    #6193 (comment)

    #6201 (comment)

    Example: #6201 (comment)

commit 569459c
Author: Cocoon-Break <54054995+kuishou68@users.noreply.github.com>
Date:   Fri May 29 18:47:58 2026 +0800

    Sudoku finalmask: Harden UDP ReadFrom() against invalid packets (#6185)

    #6184 (comment)

    Fixes #6184

    ---------

    Co-authored-by: LjhAUMEM <llnu14702@gmail.com>

commit 2b42699
Author: LjhAUMEM <llnu14702@gmail.com>
Date:   Fri May 29 17:44:06 2026 +0800

    XICMP finalmask: Refactor & Speed up; Add multi `ips` and `dgram` mode (client) (#6168)

    #5872 (comment)
    #6168 (comment)
    #6168 (comment)

    Example: #6168 (comment)

    Closes #5879

commit 66a8100
Author: LjhAUMEM <llnu14702@gmail.com>
Date:   Fri May 29 16:36:45 2026 +0800

    Salamander finalmask: Support `packetSize` (Gecko in Hysteria v2.9.2) (#6198)

    And some other refinements

    #6198 (comment)

    Example: #6198 (comment)

commit 3630369
Author: LjhAUMEM <llnu14702@gmail.com>
Date:   Fri May 29 16:29:53 2026 +0800

    Finalmask: Add Realm (UDP hole punching in Hysteria v2.9.1) (#6137)

    #5657 (comment)

    #6137 (comment)

    Example: #6137 (comment)

commit 4dcf802
Author: Jason Fox <44783405+the-thirteenth-fox@users.noreply.github.com>
Date:   Thu May 28 23:15:38 2026 +0300

    README.md: Add flutter_vless to Xray Wrapper in Others (#6197)

    https://pub.dev/packages/flutter_vless

commit a2cec2e
Author: Meow <197331664+Meo597@users.noreply.github.com>
Date:   Fri May 29 04:06:32 2026 +0800

    DNS: Avoid panic on domain too long (#6207)

    Fixes #6204

commit 1cd7d25
Author: LjhAUMEM <llnu14702@gmail.com>
Date:   Fri May 29 03:44:16 2026 +0800

    header-custom finalmask: Remove headerConnMode headerReadAddrAware interface (#6193)

    #5920 (comment)

    #6193 (comment)

commit 09002ab
Author: LjhAUMEM <llnu14702@gmail.com>
Date:   Fri May 29 03:24:22 2026 +0800

    noise finalmask: Better `reset` (#6188)

    #6170

    Explanation: #5657 (comment)

commit cb206dd
Author: Kirill Livanov <13822441+kirilllivanov@users.noreply.github.com>
Date:   Thu May 28 21:27:08 2026 +0300

    DNS: Avoid passing domain to WriteTo func (#6163)

    #6163 (comment)

    ---------

    Co-authored-by: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>

commit fa466f8
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu May 28 18:20:27 2026 +0000

    Bump golang.org/x/net from 0.54.0 to 0.55.0 (#6192)

    Bumps [golang.org/x/net](https://github.com/golang/net) from 0.54.0 to 0.55.0.
    - [Commits](golang/net@v0.54.0...v0.55.0)

    ---
    updated-dependencies:
    - dependency-name: golang.org/x/net
      dependency-version: 0.55.0
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit e26f5e9
Author: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
Date:   Thu May 28 22:22:57 2026 +0800

    Socks5 server: More standard UDP ASSOCIATE (RFC 1928) (#6149)

    #6149 (comment)

    Fixes #6145 (comment)

    ---------

    Co-authored-by: RPRX <63339210+RPRX@users.noreply.github.com>

commit 787aa76
Author: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
Date:   Sun May 24 22:20:53 2026 +0800

    Hysteria server: `tls.WithNextProto("h3")` by default (#6186)

    Client: #6186 (comment)

commit d878fc8
Author: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
Date:   Sun May 24 20:50:02 2026 +0800

    SS2022 inbound: Fix potential panic when dispatching (#6162)

    #6162 (comment)

commit ee2b2c5
Author: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
Date:   Sun May 24 20:27:12 2026 +0800

    leastLoad balancer: Implement missing `tolerance` (#6156)

    Closes #6154

commit 81d993f
Author: Whale Choi <cj1369636717@gmail.com>
Date:   Sun May 24 20:19:00 2026 +0800

    README.md: Remove Xray4Magisk; Add AsteriskNG to Android in GUI Clients (#6153)

    #6153 (comment)

commit 4c38427
Author: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
Date:   Sun May 24 20:05:40 2026 +0800

    XHTTP client: Fix packet-up `OpenUsage` counting and H3 `keepAlivePeriod` parameter (#6140)

    Fixes #6140 (comment)

commit ab69985
Author: Meow <197331664+Meo597@users.noreply.github.com>
Date:   Sat May 23 21:50:01 2026 +0800

    Config: Warn when `sockopt.trustedXForwardedFor` is not set for XHTTP/WS/HU inbounds (#6159)

    #6110 (comment)

    Usage: #5331 (comment)

commit 56bb636
Author: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
Date:   Sat May 23 20:23:52 2026 +0800

    Geodata: Cleanup unneeded shared matchers (weakly referenced in map) (#6139)

    #6139 (comment)

commit 359a28f
Author: bytecategory <nettopology@proton.me>
Date:   Sat May 23 17:24:37 2026 +0800

    XDNS finalmask: Support AAAA & A (#6123)

    #6123 (comment)
    #6123 (comment)
    #6123 (comment)

    Example: #6123 (comment)

    Document: https://xtls.github.io/config/transports/finalmask.html#xdns

commit da9ba69
Author: Yury Kastov <9641779+kastov@users.noreply.github.com>
Date:   Fri May 22 22:49:19 2026 +0300

    Config: Support abstract unix sockets in remote loader (#6111)

    Replaces #5200

commit 5488b86
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri May 22 19:37:44 2026 +0000

    Bump google.golang.org/grpc from 1.81.0 to 1.81.1 (#6133)

    Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.81.0 to 1.81.1.
    - [Release notes](https://github.com/grpc/grpc-go/releases)
    - [Commits](grpc/grpc-go@v1.81.0...v1.81.1)

    ---
    updated-dependencies:
    - dependency-name: google.golang.org/grpc
      dependency-version: 1.81.1
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit a3c054a
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri May 22 19:37:25 2026 +0000

    Bump golang.org/x/net from 0.53.0 to 0.54.0 (#6113)

    Bumps [golang.org/x/net](https://github.com/golang/net) from 0.53.0 to 0.54.0.
    - [Commits](golang/net@v0.53.0...v0.54.0)

    ---
    updated-dependencies:
    - dependency-name: golang.org/x/net
      dependency-version: 0.54.0
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants