MCPcopy
hub / github.com/VaalaCat/frp-panel

github.com/VaalaCat/frp-panel @v0.1.37 sqlite

repository ↗ · DeepWiki ↗ · release v0.1.37 ↗
5,131 symbols 12,238 edges 523 files 442 documented · 9%
README

FRP-Panel

FRP-Panel 是一款基于 FRP 的可视化管理面板,提供中心化配置、统一凭证、动态调度和边缘 Worker 支持,让内网穿透和服务暴露更简单、更安全、更高效。

详细使用文档 (Wiki) | Frp-panel Blog 开发记录 | 截图/视频展示 | QQ 群:830620423

WireGuard 多跳智能组网功能开发笔记 点开有好玩的 Demo 哦!

中文文档 | English

VaalaCat%2Ffrp-panel | Trendshift

核心优势

优势 描述
中央化配置 所有客户端/服务端配置由 Master 管理,无需手动编辑 JSON 文件
多节点统一管理 支持任意数量的 frpc(客户端)与 frps(服务端)节点集中监控与调度
可视化界面 Web UI 一键创建、编辑、监控隧道和Worker,实时日志与统计一目了然
简化凭证分发 自动生成并分发启动命令,无须手动传参
边缘 Worker 自部署 在 Client 上部署自定义 Worker,Server 将其暴露到公网,Master 可实时调整配置
WireGuard 智能组网 支持 Client 相互之间使用 WireGuard over UDP/Websocket 多跳组网、自定义路由、拓扑,按延迟和带宽智能计算最短路由

组网功能目前处于测试阶段,可能存在一些问题,欢迎反馈

架构概览

arch

  1. Master – 集中管理与鉴权,要求所有 Server 和 Client 可访问;
  2. Server – 承载业务流量,作为公网入口,为 Client 提供服务;
  3. Client – 内网代理,支持部署 Worker,支持 WireGuard 与其他 Client 智能组网;

组网目前要求网络中至少有一个 Client 有公网IP作为中继节点,且目前仅支持 Linux 操作系统组网

社区与赞助

本项目完全开源,欢迎 Star、Issues、PR。 若 FRP-Panel 为您带来价值,欢迎赞助作者:

  • 邮箱:me@vaala.cat

NodeSupport / 林枫云 赞助了该项目

项目状态

Star History


更多部署、使用与配置细节,请移步 Wiki → FRP-Panel WiKi

Extension points exported contracts — how you extend this code

EndpointGettable (Interface)
(no doc) [7 implementers]
utils/udp.go
MuxServer (Interface)
(no doc) [9 implementers]
services/mux/mux_service.go
Service (Interface)
(no doc) [9 implementers]
services/app/provider.go
ApiService (Interface)
(no doc) [9 implementers]
services/api/service.go
PTYInterface (Interface)
(no doc) [3 implementers]
utils/pty/interface.go
AllowedIPsPlanner (Interface)
WireGuard 的 AllowedIPs 同时承担两件事: 1) 出站选路:目的 IP 匹配哪个 peer 的 AllowedIPs,就把包发给哪个 peer 2) 入站源地址校验:从某 peer 解密出来的 inner packet, [1 …
services/wg/routing_planner.go
ValidateableClientRequest (Interface)
(no doc) [2 implementers]
biz/master/client/helper.go
LogInterface (Interface)
--------------------------------------- 客户端 WebSocket Dialer ---------------------------------------
utils/wsgrpc/wsgrpc.go

Core symbols most depended-on inside this repo

Errorf
called by 603
utils/wsgrpc/wsgrpc.go
Logger
called by 582
utils/logger/logger.go
GetApp
called by 228
services/app/application.go
Infof
called by 182
utils/wsgrpc/wsgrpc.go
cn
called by 170
www/lib/utils.ts
Background
called by 144
services/app/application.go
GetDBManager
called by 125
services/app/application.go
GetDefaultDB
called by 120
services/app/provider.go

Shape

Method 3,100
Function 989
Interface 348
Struct 341
Class 330
TypeAlias 14
FuncType 5
Enum 4

Languages

Go67%
TypeScript33%

Modules by API surface

pb/api_client.pb.go476 symbols
www/lib/pb/api_client.ts407 symbols
pb/api_wg.pb.go378 symbols
www/lib/pb/api_wg.ts324 symbols
pb/rpc_master.pb.go208 symbols
services/app/provider.go162 symbols
pb/common.pb.go154 symbols
pb/types_wg.pb.go146 symbols
pb/api_server.pb.go143 symbols
www/lib/pb/api_server.ts126 symbols
www/lib/pb/common.ts86 symbols
pb/api_master.pb.go84 symbols

Dependencies from manifests, versioned

github.com/Azure/go-ntlmsspv0.0.0-2022112819355 · 1×
github.com/BurntSushi/tomlv1.4.1-0.20240526193 · 1×
github.com/UserExistsError/conptyv0.1.4 · 1×
github.com/andybalholm/brotliv1.2.0 · 1×
github.com/armon/go-socks5v0.0.0-2016090218423 · 1×
github.com/beorn7/perksv1.0.1 · 1×
github.com/bits-and-blooms/bitsetv1.24.4 · 1×
github.com/bmatcuk/doublestar/v4v4.6.1 · 1×
github.com/bytedance/sonicv1.9.1 · 1×
github.com/casbin/casbin/v2v2.105.0 · 1×
github.com/casbin/gorm-adapter/v3v3.29.0 · 1×
github.com/casbin/govaluatev1.3.0 · 1×

For agents

$ claude mcp add frp-panel \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact