███████╗██╗ ██████╗ ██████╗
██╔════╝██║ ██╔═══██╗██╔═══██╗
█████╗ ██║ ██║ ██║██║ ██║
██╔══╝ ██║ ██║ ██║██║ ██║
██║ ███████╗╚██████╔╝╚██████╔╝
╚═╝ ╚══════╝ ╚═════╝ ╚═════╝
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
最近尝试了一下 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 |
1
dreamk 20 小时 37 分钟前 经典米氏对比法。zig 用户最爱炫的这句 zero dependencies 不是生态不足的表现吗
|
3
tinkerer 19 小时 43 分钟前
对比的话应该再加上 cpu, mem 使用情况
|
4
tinybaby365 19 小时 42 分钟前
加密算法不一样,性能数据就没有比较的意义
|
5
Judoon 19 小时 41 分钟前 floo-aarch64-linux-gnu.tar.gz 在树莓派 5 ( Debian 12 )上跑不起来: "Illegal instruction"
但在 macos m4 上的 aarch64 linux 虚拟机里面能跑 |
6
yb2313 19 小时 36 分钟前 好怪, 你的 gh 账户看起来又新又旧的
|
7
Aixtuz 18 小时 21 分钟前
说实话,就个人使用的话,表中有不少元素感觉不到影响,也压根不在乎。
反而更在意:简单、够用、稳定。 |
8
ahu 18 小时 20 分钟前
看起来不错!
尽快把中文文档什么的完善一下,估计会有更多用户 :) |
9
bxb100 17 小时 58 分钟前
UP 现在 zig 写多线程爽不爽啊, 心智负担如何
|
10
YUX OP PRO |
11
YUX OP PRO @bxb100 没有隐藏的 runtime , 没有 GC ,不会偷偷 spawn 线程 没有线程池框架,任务系统,纯裸多线程 有种纯粹的控制感,爽点在这。
因为实现很清晰,所以心智负担不重。非常 deterministic 可以等一手 0.16 的 async I/O 出来再看看 |
12
96368a 5 小时 2 分钟前
P2P Mode 有计划实现吗
|
13
ahu 4 小时 7 分钟前
@YUX #11 昨晚研究了一晚上,差点没用明白 😫 发现跟 FRP 很不一样。
我是直接在本机测试的。感觉 flooc.toml 的 local_port 概念有点反直觉。然后服务端和客户端都有 target_host 和 target_port 是不是太冗余了? |
14
guotie 2 小时 58 分钟前
zig 这性能确实是离谱了
|
15
guotie 2 小时 56 分钟前
Dependencies 这一项 不需要拿来比较,没啥意义
|