rathole-org/rathole
A lightweight and high-performance reverse proxy for NAT traversal, written in Rust. An alternative to frp and ngrok.
Build with Backblaze B2
SDKs, agent skills, IDE extensions, and reference pipelines from Backblaze Labs. All open source.
Loading star history...
Where it stands
Rank, growth pace and release cadence relative to everything GStars tracks.
1 release in the last 90 days, the latest 76 days ago, with 26 contributors on GitHub.
Peaked at #39 in the weekly ranking the week of Mar 22, its best in the past year.
Use Cases & Benefits
- Provides a lightweight, high-performance reverse proxy for NAT traversal to expose local services to the internet securely.
- Delivers higher throughput and lower memory consumption than similar tools like frp and ngrok, optimized for stability under heavy connections.
- Use for securely exposing home NAS SSH services behind NAT to the internet with minimal resource usage.
- Use for enabling remote access to embedded devices or routers with constrained storage and memory via a small binary footprint.
- Use for building custom, token-authenticated TCP or UDP tunnels with optional Noise Protocol encryption for secure service forwarding.
Should you depend on it?
License terms, project hygiene and risks, from GitHub metadata and GStars' snapshots.
License
Apache 2.0
Permissive: commercial use, modification and redistribution are allowed with attribution; includes an explicit patent grant from contributors.
Community files
- README: present
Watch-outs
No watch-outs from GStars' checks.
General guidance from repository metadata, not legal advice. How we score
From the README
A secure, stable and high-performance reverse proxy for NAT traversal, written in Rust
rathole, like frp and ngrok, can help to expose the service on the device behind the NAT to the Internet, via a server with a public IP.
A full-powered
ratholecan be obtained from the release page. Or build from source for other platforms and minimizing the binary. A Docker image is also available.The usage of
ratholeis very similar to frp. If you have experience with the latter, then the configuration is very easy for you. The only difference is that configuration of a service is split into the client side and the server side, and a token is mandatory.To use
rathole, you need a server with a public IP, and a device behind the NAT, where some services that need to be exposed to the Internet.Assuming you have a NAS at home behind the NAT, and want to expose its ssh service to the Internet:
Create
server.tomlwith the following content and accommodate it to your needs.Create
client.tomlwith the following content and accommodate it to your needs.So you can
ssh myserver.com:5202to ssh to your NAS.To run
ratholerun as a background service on Linux, checkout the systemd examples.
Daily snapshots
Stars gained per day, and how forks and open issues moved, from GStars' daily snapshots
Forks
850+46
Open issues
98-22
Compared with peers in Networking
Fastest-growing repositories GStars tracks in this cohort for the week of Nov 8, by 7-day star growth
| Repository | Stars | +7d | Health | Last release |
|---|---|---|---|---|
| MHSanaei/3x-ui | 49.6K | +448 | 52 | 137 days ago |
| GyulyVGC/sniffnet | 42.3K | +422 | 75 | 111 days ago |
| tailscale/tailscale | 38.9K | +311 | 75 | today |
| netbirdio/netbird | 30.9K | +267 | 75 | today |
| fosrl/pangolin | 23.6K | +218 | 75 | 6 days ago |
| rathole-org/rathole | 14.4K | — | 36 | 76 days ago |
| Category median | 38.9K | +311 | 75 | — |
Discover Repositories
Search across tracked repositories by name or description