frp
frp is a free, self-hosted reverse proxy for making intranet services reachable from the public network through nodes with public IP addresses.
What frp is
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, while client-server communication can use QUIC, KCP, WebSocket, and other protocols. Configuration files can use TOML, YAML, or JSON; INI remains supported but is no longer recommended. Authentication supports tokens and OIDC, with token authentication as the default, and the project lists encryption among its capabilities. Proxy groups can balance load, and TCP or HTTP health checks can remove failed services from frps. Monitoring is available in memory or through Prometheus, which requires the Dashboard to be enabled. The browser Dashboard shows status and proxy statistics, while frpc has an Admin UI for proxy status and configuration. The project is written in Go and offers platform-specific binaries without additional dependencies. Its examples include exposing SSH and web services, forwarding DNS and Unix domain sockets, serving files, and creating P2P or virtual network connections. XTCP uses hole punching for direct traffic when connections succeed, but results depend on the network’s NAT type. The project is under development, and version 2 will not be compatible with version 1.
Good
- Free, open-source, self-hosted software.
- Supports TCP, UDP, HTTP, and HTTPS.
- Provides token and OIDC authentication options.
- Proxy groups support load balancing and health checks.
- Configuration supports TOML, YAML, and JSON.
Watch out
- XTCP success depends on network NAT type.
- Dashboard is not optimized for large amounts of proxy data.
- Version 2 will not be compatible with version 1.
Who it suits
frp suits people who can operate self-hosted client and server binaries and need to expose intranet services. It may also suit operators who want proxy groups, health checks, and monitoring options.
Verdict
frp offers protocol flexibility and several management options for self-hosted reverse proxying. Account for XTCP’s network dependence and the planned version incompatibility when deciding whether it fits your setup.
Plans and prices
From frp's own pricing page, checked 7 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| frp | Free | Open-source reverse proxy software; self-hosted client and server binaries |
The facts
Each one read from frp's own pages, with the date it was checked.
What it does
- Configuration
- Configuration files support TOML, YAML, and JSON; the older INI format remains supported but is no longer recommended.checked 7 Oct 2026
- Dashboard limitation
- The Dashboard has not been optimized for large amounts of proxy data, and the documentation advises against enabling it if access is slow.checked 7 Oct 2026
- Deployment
- frp is written in Go and supports cross-platform deployment using platform-specific binaries without additional dependencies.checked 7 Oct 2026
- Development status
- The project says it is under development and that version 2 will not be compatible with version 1.checked 7 Oct 2026
- Encryption
- The project lists encryption among its capabilities and documents communication security features.checked 7 Oct 2026
- License
- The GitHub repository identifies the project license as Apache-2.0.checked 7 Oct 2026
- Monitoring
- frps supports in-memory monitoring and Prometheus monitoring; Prometheus requires the Dashboard to be enabled.checked 7 Oct 2026
- P2P
- XTCP uses P2P hole punching so successful connections send traffic directly instead of relaying it through frps.checked 7 Oct 2026
- P2P limitation
- XTCP availability and stability cannot be guaranteed because hole-punching success depends on the network’s NAT type.checked 7 Oct 2026
- Protocols
- It supports TCP, UDP, HTTP, and HTTPS, and client-server communication also supports QUIC, KCP, WebSocket, and other protocols.checked 7 Oct 2026
- Purpose
- frp is a high-performance reverse proxy for exposing intranet services to the public network through nodes with public IP addresses.checked 7 Oct 2026
- Security
- Client and server authentication supports token and OIDC methods, with token authentication as the default.checked 7 Oct 2026
- Traffic management
- Proxy groups support load balancing, and TCP or HTTP health checks can remove failed services from frps.checked 7 Oct 2026
- Use cases
- Documented examples include exposing SSH and web services, forwarding DNS and Unix domain sockets, serving files, and creating P2P or virtual network connections.checked 7 Oct 2026
- Web interfaces
- frps includes a browser Dashboard for status and proxy statistics, while frpc has an Admin UI for proxy status and configuration.checked 7 Oct 2026
The full review of frp
frp is self-hosted reverse-proxy software for operators who need to expose private-network services through a public-IP node and can manage the client and server themselves. Its broad protocol support and zero-cost, open-source distribution make it a capable option, but XTCP’s dependence on NAT behavior and the planned incompatible version 2 make it less suitable for setups that need predictable peer-to-peer connections or uncomplicated upgrades.
Overview
frp can publish intranet services over TCP, UDP, HTTP and HTTPS, and supports QUIC, KCP and WebSocket for client-server communication. That range serves more than web hosting: documented uses include SSH access, DNS forwarding, Unix domain sockets, file serving and virtual network connections. It is a fit for infrastructure owners who want control over the proxy path, not for people looking for a hosted tunnel they can use without operating a server.
XTCP uses P2P hole punching to send successful connections directly between endpoints rather than relaying traffic through frps. That can avoid the relay, but hole-punching success and stability depend on NAT type, so XTCP should not be the sole plan for connectivity that must work consistently across varied networks.
Key features
Traffic control and visibility
Proxy groups support load balancing, and TCP or HTTP health checks can remove failed services from frps. These are useful safeguards when distributing requests across services, though they do not replace operating the underlying servers. frps provides in-memory monitoring and Prometheus monitoring; the latter requires the Dashboard to be enabled. The browser Dashboard shows status and proxy statistics, while frpc’s Admin UI exposes proxy status and configuration. The Dashboard is not optimized for large proxy datasets, and slow access is a reason to leave it disabled.
Security and configuration
Client and server authentication supports token and OIDC methods, with token authentication as the default. Encryption is among the project’s capabilities, and it documents communication security features. Configuration files can use TOML, YAML or JSON; INI remains supported but is no longer recommended. This flexibility suits teams integrating frp into varied configuration workflows, while keeping multiple formats and services coordinated remains an operator responsibility.
Deployment
Written in Go, frp provides platform-specific binaries for cross-platform deployment without additional dependencies. Its self-hosted client-server model gives operators control over deployment, but also means they must provision and maintain the public-facing node and the software themselves.
Pricing
frp is free and open source under the Apache-2.0 license. The frp plan costs free and includes the self-hosted reverse-proxy software plus client and server binaries. There are no paid tiers or plan-based seat and quota differences to weigh; the trade-off is that deployment and maintenance remain with the user.
Platforms
frp supports Android, Linux, macOS and Windows, as well as self-hosted deployment. Configuration can be managed through files and web interfaces, giving operators both approaches to administration.
Who it's for
Choose frp if you run your own infrastructure and need flexible TCP, UDP, HTTP or HTTPS forwarding, with optional load balancing, health checks and monitoring. It is less appropriate if you need a managed service, dependable XTCP connections across unknown NAT environments, or a stable version transition: the project says it remains under development and version 2 will not be compatible with version 1.
Pros and cons
- Pro: Broad proxy and communication protocol support covers web traffic, SSH, DNS and other documented service types.
- Pro: Load balancing, health checks and monitoring provide useful traffic-management and operational controls without a subscription.
- Pro: Token and OIDC authentication, plus documented communication security features, support controlled access.
- Con: XTCP depends on NAT type, so direct P2P connectivity is not assured.
- Con: The Dashboard is not suited to large amounts of proxy data and may be slow to access.
- Con: Version 2 is planned to be incompatible with version 1, creating a breaking upgrade concern.
Alternatives
Compare frp with other Reverse Proxy Software if you want to weigh different proxy approaches.
- ngrok is worth considering if you prefer a freemium option with API and web platforms; its free plan includes up to three online endpoints and 1 GB of data transfer.
- Openport may suit readers seeking a freemium service with a per-device enterprise plan; that plan costs $1 a month per device and charges a minimum of 30 devices.
- freenginx is another free, self-hosted option for Linux, macOS and Windows, distributed under a 2-clause BSD-like license.
- LocalXpose may fit users who want a free tunnel option with two active HTTP or HTTPS tunnels, unique subdomains and time limits.
- Pomerium is an alternative for readers who want a freemium service with a Personal Free plan capped at 10 users, 10 routes and five policies.
- Fabio is a free, MIT-licensed option for operators already using Consul, which it requires for service discovery.
- NGINX may be the better fit if you want a free, self-hosted package that also covers content caching and mail proxying.
- Traefik Proxy is worth considering for a free, self-hosted reverse proxy with service auto-discovery and ingress-controller support.
Verdict
frp is a strong choice for infrastructure operators who want a free, self-hosted proxy with broad protocol support and practical monitoring and traffic controls. Choose it when you can manage the client-server deployment and accept the XTCP and version-compatibility caveats; look elsewhere if you need managed tunneling or dependable direct peer connections across unpredictable networks.
Alternatives to frp
- 1

Pomerium
Free planOpen sourceWebAPILinuxmacOS8.3From $7 a month - 2

ngrok
Free planWebAPILinuxmacOS7.8From $10 a month - 3

Traefik Proxy
Free planOpen sourceWebAPILinuxmacOS7.7Free plan - 4
HAProxy Community Edition
Free planOpen sourceAPILinuxmacOSSelf-hosted7.4Free plan - 5

Apache Traffic Server
Free planOpen sourceAPILinuxmacOSSelf-hosted7.2Free plan - 6
Openport
Free planWebAPILinuxmacOS7.1From $1 a month
