frp vs HAProxy Community Edition
frp
gofrp.orgHAProxy Community Edition
haproxy.orgSide by side
| Figure | frp | HAProxy Community Edition |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Android | Yes | — |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 3 |
| Spec score · Reverse Proxy Software | 8.2 (#12) | 8.8 (#5) |
| Protocols | It supports TCP, UDP, HTTP, and HTTPS, and client-server communication also supports QUIC, KCP, WebSocket, and other protocols. | The project supports TCP and HTTP-based applications, and its listed recent versions include QUIC and HTTP/3 features. |
| Purpose | frp is a high-performance reverse proxy for exposing intranet services to the public network through nodes with public IP addresses. | HAProxy is a free, fast reverse proxy offering high availability, load balancing, and proxying for TCP and HTTP applications. |
| Security | Client and server authentication supports token and OIDC methods, with token authentication as the default. | Listed defensive measures include chroot, privilege drops, fork prevention, strict protocol validation, and checks for impossible states. |
Plans
HAProxy Community Edition
- HAProxy Community EditionFree
- HAProxy Community EditionFree
- HAProxy EnterprisePriced on request
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.
HAProxy Community Edition
HAProxy Community Edition is free, self-hosted software for proxying TCP and HTTP applications, with high availability and load balancing. It is aimed especially at very high-traffic websites. HAProxy runs on Linux, where it is included with most mainstream distributions and is often deployed by default on cloud platforms. Its event-driven design uses light multithreading on SMP machines. The project lists Layer 4 and Layer 7 routing and TLS termination, along with TCP and HTTP support; recent versions also include QUIC and HTTP/3 features. Listed safeguards include chroot, privilege drops, fork prevention, strict protocol validation, and checks for impossible states. The site reports up to 2 million SSL requests per second and 100 Gbps of forwarded traffic on AWS Graviton2. HAProxy 3.4 is in development, and 3.4.6 is the latest listed release in that branch. Its features include dynamic backends, HTTP/2 flood protections, ACME improvements, experimental QMUX, and an OpenTelemetry filter. LTS branches receive five years of maintenance; other stable branches receive 12 to 18 months.