frp vs Pomerium
frp
gofrp.orgPomerium
pomerium.comSide by side
| Figure | frp | Pomerium |
|---|---|---|
| Price from | Free | $7/mo |
| Free plan | Yes | Yes |
| Free trial | — | Yes |
| Open source | — | Yes |
| Web | — | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Android | Yes | — |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 9 |
| Spec score · Reverse Proxy Software | 8.2 (#12) | 8.9 (#3) |
| Deployment | frp is written in Go and supports cross-platform deployment using platform-specific binaries without additional dependencies. | Pomerium Core provides official binaries for Linux and macOS, Linux deb/rpm packages, Docker images, and source builds. |
| Encryption | The project lists encryption among its capabilities and documents communication security features. | Sensitive databroker data, including session, user, directory, and service-secret data, is encrypted at rest. |
| Protocols | It supports TCP, UDP, HTTP, and HTTPS, and client-server communication also supports QUIC, KCP, WebSocket, and other protocols. | The product site lists HTTP, MCP, SSH, gRPC, TCP and UDP access patterns. |
Plans
Pomerium
- Personal FreeFree
- Business$7 a month
- Zero PersonalFree
- Zero PersonalFree
- Zero Business$7 a month
- Zero Business (annual)$7 a month
- Zero Business (monthly)$9 a month
- EnterprisePriced on request
- 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.
Pomerium
Pomerium is an open-source identity-aware proxy for controlling access to internal applications, servers, services, and workloads without requiring VPN client software. It checks identity, device state, and request context before granting access, and authenticates through identity providers that support OpenID Connect. Listed access scenarios include HTTP, MCP, SSH, gRPC, TCP, and UDP; supported app protocols also include HTTPS, HTTP/2, HTTP/3, and WebSocket. Pomerium removes its authentication cookies before forwarding requests upstream, and sensitive databroker data is encrypted at rest. Downstream TLS has a minimum of TLS 1.2. Deployment options include Linux and macOS binaries, packages, Docker images, source builds, and desktop clients for Windows, macOS, and Linux. The free Personal plan lists 10 users, 10 routes, five policies, and two service accounts. Business costs $7.00 per month, billed annually, and lists limits of 1,000 users, 100 routes, 100 policies, and 20 service accounts. A free trial is also listed.