7,363 open-source and SaaS tools, with GitHub stats refreshed every day.

frp

Open source

A fast reverse proxy that makes services on a machine behind a NAT or firewall reachable from the internet over TCP, UDP, HTTP and HTTPS.

Open-source alternative to

GitHub stars
110k
Last commit
18 days ago
Repository age
10 years
Version
v0.71.0
Licence
Apache-2.0
Self-hosted
Yes

About frp

frp is an open-source reverse proxy that makes a server sitting behind a NAT or firewall reachable from the internet. It supports TCP and UDP traffic as well as HTTP and HTTPS, so requests can be forwarded to internal services using a domain name. It also offers a peer-to-peer connect mode. The project is written in Go and licensed under Apache-2.0.

Typical setups include reaching a computer on a home or office LAN over SSH, sharing one port between several SSH services, serving internal web apps on custom domains, forwarding DNS queries and Unix domain sockets, exposing a simple HTTP file server, enabling HTTPS for a local service, and exposing a service privately. Configuration is handled through files, with support for environment variables and splitting settings across several files.

Operations features include a server dashboard, a client admin UI, dynamic proxy management, Prometheus monitoring and client authentication. A server component runs on a machine with a public address, and a client runs beside your internal service. It suits developers, homelab users and small teams who want to host their own tunnel instead of using a commercial tunneling service.

Key features

  • Reverse proxy for TCP, UDP, HTTP and HTTPS
  • Peer-to-peer connect mode
  • Custom domain routing for internal web services
  • Server dashboard and client admin UI
  • Prometheus monitoring support
  • Authentication for connecting clients

Good fit for

  • →SSH access to machines behind NAT
  • →Exposing local development servers temporarily
  • →Sharing homelab services through a public server
Built with
Go
Tags
reverse-proxy
tunnel
nat-traversal
self-hosted
golang
networking
port-forwarding
firewall

frp: questions and answers

What is frp used for?
frp is a fast reverse proxy that makes services on a machine behind a NAT or firewall reachable from the internet over TCP, UDP, HTTP and HTTPS. It is a good fit for SSH access to machines behind NAT, exposing local development servers temporarily and sharing homelab services through a public server.
Is frp open source?
Yes. frp is open source under the Apache-2.0 licence. Its source code is on GitHub at fatedier/frp and is written mainly in Go.
Is frp free?
Yes. frp is open source, so the software itself is free to use.
Can I self-host frp?
Yes. frp can be self-hosted on your own server or infrastructure; there is no official hosted version.
What is frp an alternative to?
frp is an open-source alternative to ngrok and Cloudflare Tunnel. Other open-source alternatives to ngrok include Rathole, Zrok and Pangolin.
Is frp actively maintained?
Yes. The most recent commit to frp was on 15 September 2026, and the latest release is v0.71.0, published on 14 August 2026. The project has 110k stars on GitHub.

Open-source alternatives to frp

See all

SaaS alternatives to frp

See all