提供一个 frp动态配置的简单管理页面

978 阅读1分钟

frp_web

前提

使用过frp
有docker运行相关环境
主要方便管理写了个简单的页面 没啥技术性~

主要使用场景

需要经常变更对外网的映射
不方便每次变更都上服务器更改配置文件frpc.ini
单独部署闲麻烦需要 想用docker部署

运行方式

# 更换frps的连接地址
更改 frp_web.sql 中的frp服务器地址 47.96.113.252为IP 37000 为对应的frps的连接地址
INSERT INTO `frp_server` VALUES ('47.96.113.252', '37000', '远程服务器地址47.96.113.252 请设置远程端口范围50000-59999');

# 确保已经安装docker及docker-compose 
docker-compose up -d
访问http://{IP}:8081
在页面中添加你需要的做公网映射的地址 即可

# docker中已经运行frp客户端无需独立安装 如果需要特定版本 请使用-v 将frpc文件挂载到 /frp-web/bin/frpc

大概原理

# frpc配置支持 动态加载 即可使用reload进行操作
admin_port = 7400
admin_user = admin
admin_pwd = admin

# 使用jinja2 生成对应模板 从数据库获取数据并生成对应的配置文件

[common]
server_addr = {{ SERVER_IP }}
server_port = {{ SERVER_PORT }}
admin_port = 7400
admin_user = admin
admin_pwd = admin

{% for FRPC in FRPC_LIST %}
[{{ FRPC.app_name }}]
type = tcp
local_ip = {{ FRPC.local_ip }}
local_port = {{ FRPC.local_port }}
remote_port = {{ FRPC.remote_port }}
{% endfor %}

# python实现接口 支持动态添加配置及删除
# 使用docker-compose内置网络进行配置数据库连接 所以数据库配置地址为 frp-web

页面大概长这个样子

avatar