frp vs Sōzu
frp
gofrp.orgSōzu
sozu.ioSide by side
| Figure | frp | Sōzu |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| Android | Yes | — |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 0 |
| Spec score · Reverse Proxy Software | 8.2 (#12) | 6.8 (#28) |
| Deployment | frp is written in Go and supports cross-platform deployment using platform-specific binaries without additional dependencies. | The project publishes Linux binaries and Docker images for tagged releases and also documents building from source. |
| License | The GitHub repository identifies the project license as Apache-2.0. | Sōzu is covered by the GNU Affero General Public License version 3.0 and above; the maker says businesses based on Sōzu should contribute back or contact Clever Cloud for a business agreement. |
| Purpose | frp is a high-performance reverse proxy for exposing intranet services to the public network through nodes with public IP addresses. | Sōzu is an open-source TCP and HTTP reverse proxy built in Rust for demanding, dynamic web infrastructures. |
| Security | Client and server authentication supports token and OIDC methods, with token authentication as the default. | The project describes Rust as providing memory safety and says Sōzu workers are sandboxed, with backends shielded behind the proxy. |
Plans
In their own words
frp
frp is a free, self-hosted reverse proxy for making intranet services reachable from the public network through nodes with public IP addresses. It supports TCP, UDP, HTTP, and HTTPS proxying, while client-server communication also supports QUIC, KCP, WebSocket, and other protocols. Its XTCP mode uses P2P hole punching so successful connections send traffic directly rather than through frps, but success depends on the network’s NAT type and cannot be assured. Client and server authentication support tokens and OIDC, with token authentication as the default; encryption is among the project’s listed capabilities. Proxy groups can balance load, and TCP or HTTP health checks can remove failed services from frps. Monitoring can run in memory or through Prometheus, which requires the Dashboard to be enabled. frps has a browser Dashboard for status and proxy statistics, while frpc includes an Admin UI for proxy status and configuration. Configuration supports TOML, YAML, and JSON; INI is still supported but no longer recommended. Written in Go, frp provides platform-specific binaries for cross-platform deployment without additional dependencies. The project is under development and says version 2 will not be compatible with version 1.