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