我用 Zig 重写(并重新设计)了 frp 和 rathole

3 天前
 YUX
███████╗██╗      ██████╗  ██████╗
██╔════╝██║     ██╔═══██╗██╔═══██╗
█████╗  ██║     ██║   ██║██║   ██║
██╔══╝  ██║     ██║   ██║██║   ██║
██║     ███████╗╚██████╔╝╚██████╔╝
╚═╝     ╚══════╝ ╚═════╝  ╚═════╝


Dependencies:  Floo      ∅ (zero)          ⭐
               Rathole   ████████████████████████████ (27+ crates)
               FRP       █████████████████████████████████ (34+ packages)

Binary Size:   Floo      ▌ 671 KB total (394 KB + 277 KB)  ⭐
               Rathole   ████ ~2-4 MB total
               FRP       ████████████████████████████████ ~24+ MB total

Throughput:    Floo      ██████████████████████████████ 29.4 Gbps ⭐
               Rathole   ██████████████████ 18.1 Gbps
               FRP       ██████████ 10.0 Gbps

floo

floo github

最近尝试了一下 vibe coding ,在整理一些之前自己写过的一些小工具,有很多没有发出来是因为从一个自己用的工具到一个公开的,可能对很多人有用的工具之间,有一些我不太擅长处理的步骤,比如写一个好看的 README ,写一个好看的介绍页面,研究一下 GitHub 的一些新操作,就像是快递的最后一公里。最近订阅了一下 codex 和 claude code ,正好把这部分工作完成了,当然还有一些代码审查,单元测试等繁琐的工作。

Feature Floo Rathole FRP
Language Zig Rust Go
Dependencies 0 27+ crates 34+ packages
Max Throughput (M1) 29.4 Gbps 18.1 Gbps 10.0 Gbps
vs Rathole +62% faster baseline -45% slower
vs FRP +194% faster +81% faster baseline
Encryption Noise XX + PSK Noise NK, TLS, WS TLS
Ciphers 5 AEAD (AEGIS, AES-GCM, ChaCha20) ChaCha20-Poly1305 TLS standard
TCP Forwarding
UDP Forwarding
Multi-Service ✅ Per tunnel ✅ Per tunnel ✅ Per process
Parallel Tunnels ✅ Round-robin (1-16) 🔶 Not documented ✅ Connection pool
Token Auth ✅ Per-service + default ✅ Per-service + default ✅ Global + OIDC
Hot Config Reload ✅ SIGHUP (both) ✅ Dynamic services ✅ Admin API
Heartbeat ✅ Configurable ✅ Configurable ✅ Configurable
Auto-Reconnect ✅ Exponential backoff ✅ Exponential backoff ✅ Reconnection
Built-in Diagnostics --doctor, --ping 🔶 Logging only ✅ Dashboard, Prometheus
Config Format TOML TOML TOML, INI, YAML
CLI Overrides ✅ Port, host, target, proxy 🔶 Limited ✅ Via flags
IPv6 Support
Proxy Client ✅ SOCKS5, HTTP CONNECT ✅ SOCKS5, HTTP ✅ HTTP, SOCKS5
Compression ❌ Planned
HTTP Features ✅ Virtual hosts, auth
P2P Mode ✅ XTCP, STCP
Load Balancing ✅ Round-robin tunnels 🔶 Not documented ✅ Multiple backends
Binary Size 394 KB + 277 KB ~1-2 MB each ~12-13 MB compressed
Platform macOS, Linux (Windows planned) Linux, macOS, Windows All platforms
1907 次点击
所在节点    分享创造
25 条回复
YUX
2 天前
@Hansah 具体的使用场景是什么呢,可以尝试一下,一般来讲是可以的。
ahu
1 天前
@YUX #20 好快!

我又把全部配置示例看了一遍,这下子确实舒服多了 😌

跟 frp 及 rathole 的不相上下了
Hansah
1 天前
@YUX #21 就单纯的办公室通过阿里云公网服务器中转回家里的 nas ,因为广西联通没公网了,FRP 配置太复杂,rathole 稳得一笔
YUX
1 天前
@Hansah 可以麻烦你测试一下吗,我自己的测试场景比较简单,连树莓派,还有阿里云连家里的 emby ,希望有反馈。
Hansah
1 天前
@YUX #24 行,我晚上研究下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1171005

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX