| Feature | Original FRP (v0.48+) | Frp Neo | Benefit of Neo | | :--- | :--- | :--- | :--- | | | INI / TOML | TOML Only (Strictly typed) | Reduces parsing errors | | HTTP/2 Support | Basic | Full with HPACK compression | Faster web asset delivery | | Health Checks | TCP/HTTP only | TCP/HTTP/Unix Socket + WebSocket | More reliable service discovery | | Dynamic Subdomains | Manual Wildcard | Automatic on-the-fly registration | Easier for multi-tenant setups | | Memory Usage | ~25MB idle | ~12MB idle (Rust optimizations) | Better for Raspberry Pi/Edge | | STUN (P2P) | Experimental | Production-ready hole punching | Zero-traffic direct connections |
You are starting a new project, you value type-safe configurations, you need production-grade health checks, or you want automatic HTTPS without third-party proxies. Frp Neo
In the ever-evolving landscape of network penetration and internal network exposure, one tool has stood out for years: FRP (Fast Reverse Proxy). However, as cloud-native architectures and edge computing become mainstream, the limitations of the original FRP have become apparent. Enter Frp Neo —the community-driven, performance-optimized fork designed to address modern networking challenges. | Feature | Original FRP (v0
Create frpc.toml :
Frp Neo is not just a fork; it is a philosophy shift. It treats the reverse proxy not as a static tunnel, but as an intelligent routing layer for the edge network. With its lower resource consumption, stronger security defaults, and modern protocol support, Frp Neo is arguably the best choice for DevOps engineers and homelab enthusiasts in 2025. With its lower resource consumption
./frps -c frps.toml Pro-tip: Create a systemd service for persistence. Download the same version for your OS (Windows/macOS/Linux).
bind_addr = "0.0.0.0" bind_port = 7000 # Auth auth_method = "token" auth_token = "YourStrongPassword123" # Web dashboard web_server_addr = "127.0.0.1" web_server_port = 7500 web_server_user = "admin" web_server_password = "securepass" # Neo specific: Enable TLS multiplexing transport.protocol = "tls" transport.tls.cert_file = "/etc/letsencrypt/live/example.com/fullchain.pem" transport.tls.key_file = "/etc/letsencrypt/live/example.com/privkey.pem" Start the server: