fatedier/frp
This system is a high-performance, extensible reverse proxy and network tunneling solution that manages dynamic client-server connections for TCP, UDP, HTTP, and HTTPS traffic. It features a modernized architecture with a v2 wire protocol, persistent configuration management, and a comprehensive web dashboard for monitoring and administration. The system supports advanced capabilities including NAT hole punching for direct peer-to-peer connections, SSH tunneling, and modular plugin systems for both client and server sides.
53.9
Adequate · 6 August 2026
40k
lines of production code
Go
with TypeScript
1
bus factor · 150 authors in all
4
measurements over time
How it got here
2015–2020 · Architecture modernization and feature expansion
This period focused on modernizing the codebase with a new v2 wire protocol, structured configuration models, and a modular proxy architecture. Significant features were added, including NAT hole punching, health checks, and a plugin system, while the web dashboards were completely redesigned. The release also introduced comprehensive end-to-end testing infrastructure and improved server-side metrics and logging.
45 changes
2021–2023 · v1 configuration and SSH tunneling
This period focused on introducing the v1 configuration schema with strict validation and dynamic value sources, alongside a new SSH tunneling feature for connecting to the FRP server. The work also included building out the frps dashboard for persistent proxy management and adding comprehensive end-to-end tests for legacy and v1 features.
21 changes
2024–2026 · v2 protocol and virtual networking
This period focused on introducing the v2 wire protocol with binary framing and AEAD encryption, alongside a new virtual networking subsystem for IP-based routing. The work also included a comprehensive update to the web dashboards to support the new API v2 endpoints and persistent configuration management.
18 changes
Survey your own repository
fatedier/frp was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point the surveyor at a repository you know and see whether you agree with it.
About this page
- The description of this project is derived from its own commit history, not from its README.
- The score is its highest published measurement, taken on 6 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit d1928f9689 — the exact code this score is about.
- Scored under rubric rubric-2026.08.19. Score the same commit under that rubric and you get the same number.