# fatedier/frp

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/fatedier-frp).**

107,372 stars · 15,064 forks · Go · Apache-2.0

## Links

- GitHub: https://github.com/fatedier/frp
- awesome-repositories: https://awesome-repositories.com/repository/fatedier-frp.md

## Topics

`expose` `firewall` `frp` `go` `http-proxy` `nat` `p2p` `proxy` `reverse-proxy` `tunnel`

## Description

This project is a high-performance reverse proxy designed to expose local services to the internet. It provides a comprehensive suite of tools for managing network traffic, including support for TCP and UDP stream multiplexing, connection pooling, and load balancing across proxy instances. The system facilitates secure communication through TLS encryption, data compression, and multiple authentication methods such as OpenID Connect, shared tokens, and basic password protection.

The software offers granular control over HTTP traffic, enabling users to route requests based on subdomains or URL paths, rewrite host headers, and propagate original client IP addresses to backend services. It supports various transport protocols, including KCP and QUIC, to improve reliability and reduce latency in unstable network environments. Extensibility is provided through a plugin architecture that supports additional capabilities like SOCKS5 proxying and static file serving.

Operational management is handled through a web-based administration interface, a monitoring dashboard, and a status querying API. Users can manage complex configurations using modular file inclusion, environment variable injection, and support for multiple file formats like TOML, YAML, and JSON. The system also allows for configuration hot reloading, ensuring that updates can be applied without interrupting active service operations.

## Tags

### Part of an Awesome List

- [Networking And Proxies](https://awesome-repositories.com/f/awesome-lists/devops/networking-and-proxies.md) — Fast reverse proxy for NAT traversal.
- [Networking and Proxies](https://awesome-repositories.com/f/awesome-lists/devtools/networking-and-proxies.md) — Reverse proxy for exposing local servers to the internet.
- [Tunneling and Proxying](https://awesome-repositories.com/f/awesome-lists/devtools/tunneling-and-proxying.md) — Comprehensive alternative supporting TCP, UDP, and P2P modes.
- [Network Tunneling](https://awesome-repositories.com/f/awesome-lists/security/network-tunneling.md) — Reverse proxy for exposing local servers to the internet.
- [Tunneling and Proxying](https://awesome-repositories.com/f/awesome-lists/security/tunneling-and-proxying.md) — High-performance reverse proxy for network tunneling.

### Security & Cryptography

- [Basic Authentication](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/user-facing-login-methods/standard-web-authentication-schemes/basic-authentication.md) — Secures tunnel connections by requiring valid credentials before granting access to internal services. ([source](https://cdn.jsdelivr.net/gh/fatedier/frp@dev/README.md))

### System Administration & Monitoring

- [Connection Pooling](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/linux-system-administration/networking/connection-lifecycle-management/connection-pooling.md) — Optimizes performance by holding open persistent connections to backend targets, effectively minimizing latency during high-traffic periods. ([source](https://cdn.jsdelivr.net/gh/fatedier/frp@dev/README.md))

### Networking & Communication

- [Host Header Rewriting](https://awesome-repositories.com/f/networking-communication/http-clients/host-header-rewriting.md) — Modifies incoming request headers to ensure backend servers correctly interpret the intended destination host. ([source](https://cdn.jsdelivr.net/gh/fatedier/frp@dev/README.md))
- [Status Monitoring APIs](https://awesome-repositories.com/f/networking-communication/proxy-servers/status-monitoring-apis.md) — Exposes an HTTP interface for retrieving real-time health metrics and operational status of active proxy tunnels. ([source](https://cdn.jsdelivr.net/gh/fatedier/frp@dev/README.md))
- [Web Administration Interfaces](https://awesome-repositories.com/f/networking-communication/proxy-servers/web-administration-interfaces.md) — Visualizes proxy management through a browser-based dashboard that allows for dynamic configuration updates without requiring service restarts. ([source](https://cdn.jsdelivr.net/gh/fatedier/frp@dev/README.md))
