frp vs Piko
frp
gofrp.orgPiko
github.comSide by side
| Figure | frp | Piko |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | — |
| Android | Yes | — |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 0 |
| Spec score · Reverse Proxy Software | 8.2 (#12) | 7.2 (#22) |
| Deployment | frp is written in Go and supports cross-platform deployment using platform-specific binaries without additional dependencies. | Piko can be downloaded as a binary, built from source, or run as a Docker image. |
| License | The GitHub repository identifies the project license as Apache-2.0. | The project is released under the MIT License. |
| Protocols | It supports TCP, UDP, HTTP, and HTTPS, and client-server communication also supports QUIC, KCP, WebSocket, and other protocols. | Piko supports HTTP, HTTPS, and TCP traffic. |
| Purpose | frp is a high-performance reverse proxy for exposing intranet services to the public network through nodes with public IP addresses. | Piko is an open-source reverse proxy for tunneling traffic to services that are not publicly routable. |
| Security | Client and server authentication supports token and OIDC methods, with token authentication as the default. | The maker describes Piko as providing a secure way to connect to services that are not publicly routable, and documents TLS support for Piko forward. |
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.