一个基于 FastAPI 的内网穿透管理系统,支持用户认证、隧道管理等功能。
- 用户认证(JWT)
- 隧道管理
- 实时监控
- 自定义域名支持
- Python 3.7+
- pip(Python 包管理器)
- 现代浏览器(支持 ES6+)
- 克隆项目:
git clone [项目地址]
cd zhitrend_cpolar
- 安装依赖:
pip install -r requirements.txt
- 配置环境变量:
创建
.env
文件并设置以下变量:
SERVER_HOST=0.0.0.0
SERVER_PORT=8080
JWT_SECRET=your_jwt_secret_key
SERVER_URL=ws://localhost:8080
LOCAL_PORT=8000
PUBLIC_PORT=8888
- 启动服务:
uvicorn server:app --host 0.0.0.0 --port 8080 --reload
- 访问 http://localhost:8080/admin
- 点击"注册",填写用户信息
- 使用注册的账号登录系统
-
登录后,在管理界面填写隧道信息:
- 本地端口:要暴露的本地服务端口(如 8000)
- 公网端口:外部访问端口(如 8888)
- 自定义域名:(可选)
-
点击"创建隧道"按钮
-
本地服务验证:
# 启动一个测试服务在本地端口 python -m http.server 8000
-
隧道连接验证:
- 通过公网端口访问:http://localhost:8888
- 如果配置了自定义域名:http://your-domain:8888
-
检查连接状态:
- 在管理界面查看隧道状态
- 检查服务器日志:
tail -f server.log
-
端口被占用:
# 检查端口占用 lsof -i :8000 lsof -i :8888
-
连接失败:
- 检查防火墙设置
- 确认本地服务是否正常运行
- 查看服务器日志中的错误信息
- POST
/api/register
- 用户注册 - POST
/api/login
- 用户登录
- GET
/api/tunnels
- 获取隧道列表 - POST
/api/tunnels
- 创建新隧道 - DELETE
/api/tunnels/{client_id}
- 删除隧道
- 修改默认的 JWT 密钥
- 使用强密码
- 定期更新系统和依赖
- 限制可用端口范围
- 启用 HTTPS
- 日志监控:
tail -f server.log
- 系统状态:
- 访问管理界面查看实时状态
- 检查资源使用情况
- 备份: 定期备份用户数据和配置文件:
cp users.json users.json.backup
cp .env .env.backup
- Fork 项目
- 创建功能分支
- 提交更改
- 发起 Pull Request
[许可证类型]
[联系信息]