frp-panel 能够在网页上进行frps、frpc配置的修改,并且让frps、frpc自动更新配置。
使用下来,frp-panel帮我解决了这些问题:
- 有多台frps和frpc分布在不同的服务器,没有地方统一查看信息
- 添加frpc要去对应的frps看看密钥
- 穿透路径变化要手动修改配置文件,并且手动重启
- 修改frps异常麻烦,需要一个个手动修改接入的frpc
介绍
frp-panel 由三部分组成
-
master: 中控模块,负责分发配置文件和控制所有其他模块 -
server: 对应frps,负责提供流量接入点 -
client: 对应frpc,可以将本地的服务暴露给server上某一个接入点
使用时需要依次部署master、server、client
Master 部署
需要确保 master 服务所在服务器可以被所有 server 和 client 访问
推荐用 docker compose 方式部署,这里假设服务器公网IP是1.2.3.4
services:
frpp-master:
image: vaalacat/frp-panel:latest
container_name: frp-panel-master
network_mode: host
environment:
APP_GLOBAL_SECRET: your_secret # 随便输入一些随机字符,不要泄露
MASTER_RPC_HOST: 1.2.3.4 # 服务器的外部IP或域名
MASTER_RPC_PORT: 9001 # RPC 监听端口
MASTER_API_HOST: 1.2.3.4 # 服务器的外部IP或域名
MASTER_API_PORT: 9000 # API/WebUI监听端口
# CLIENT_RPC_URL和CLIENT_API_URL请根据实际情况设置,设置为外部可以通过url访问到master的形式
# Client 连接 master RPC 的 URL,如果使用反向代理,请设置为通过反向代理访问的 URL(如wss://example.com:443)
CLIENT_RPC_URL: grpc://1.2.3.4:9001
# Client 连接 master API/WebUI 的 URL,如果使用反向代理,请设置为通过反向代理访问的 URL(如https://example.com:443)
CLIENT_API_URL: http://1.2.3.4:9000
APP_ENABLE_REGISTER: false #是否允许注册,默认只允许注册一个管理员账号
MASTER_INTERNAL_FRP_SERVER_PORT: 9002 # Master内置 frps 服务器端口,用于客户端连接
MASTER_INTERNAL_FRP_AUTH_SERVER_PORT: 8889 # Master内置 frps 认证服务器端口
volumes:
- ./data:/data # 数据存储位置
restart: unless-stopped
command: master
master内置一个default server 供client连接,也就是说master一般不会独立存在,但你可以选择不使用
部署完成后访问 http://1.2.3.4,注册登录即可。

Server 部署
Master 自带的 Server
Master 部署好之后,可以看到一个默认的 server,能看到是在线状态,如果不在线,检查compose文件中的连接信息是否正确。
点击修改配置,填入FRPs 监听端口,然后提交。
注意:如果有防火墙,需要在防火墙中放行
FRPs 监听端口

再查看服务端,配置状态变为已配置,服务端就部署好了

自定义 Server
创建一个服务端,服务端地址需要可以被客户端访问到

点击密钥,复制启动命令

把 client 开始的命令替换掉 compose 中的 command,然后启动
version: '3'
services:
frp-panel-server:
image: vaalacat/frp-panel
container_name: frp-panel-server
network_mode: host
restart: unless-stopped
command: server -s abc -i user.s.server1 --api-url http://frpp.example.com:9000 --rpc-url grpc://frpp-rpc.example.com:9001
启动完成后,可以看到服务端在线了

然后编辑服务端,设置FRPs 监听端口,状态变为已配置即可

注意:如果有防火墙,需要在防火墙中放行
FRPs 监听端口
Client 部署
推荐用 docker compose 方式部署
点击左侧菜单中的客户端,新建一个客户端
、
点击密钥,复制启动命令

把 client 开始的命令替换掉 compose 中的 command,然后启动
version: '3'
services:
frp-panel-client:
image: vaalacat/frp-panel
container_name: frp-panel-client
network_mode: host
restart: unless-stopped
command: client -s abc -i user.c.client1 --api-url https://frpp.example.com:443 --rpc-url wss://frpp.example.com:443
启动后可以看到客户端在线了

添加隧道后,客户端会变为已配置状态,参考 添加隧道

添加、查看隧道
编辑隧道添加(推荐)
在编辑隧道中创建隧道

设置好基础信息

填好穿透信息后,一定要先暂存修改,再提交

编辑客户端添加(不推荐)
在客户端编辑隧道不方便,就不演示了。
评论