一句话简介:Next.js 前端 Go 后端 UFW CLI → 图形化管理 UFW,像进路由器后台一样简单。
💻 项目地址
https://github.com/Gouryella/UFW-Panel
🧠 欢迎 Star ⭐ / 提交 PR 🤝 / 反馈 Issue 🐛
由于个人精力与能力有限,项目仍在持续完善中,部分功能尚不完善,欢迎大家一起协作改进!
✨ 为什么你会想要它?
传统 ufw 命令 |
使用 UFW Panel |
|---|---|
手敲 ufw status / allow / deny,容易输错 |
✔️ 一眼查看状态与规则 ✔️ 开关启停只需点按钮 ✔️ 表单式新增 / 删除端口或 IP 规则 |
| 多人运维靠口头同步 | ✔️ 登录口令 JWT,会话可控 |
| 手机临时改规则要 SSH | ✔️ 响应式 UI,手机也顺手 |
🏗️ 功能速览
- 实时状态 是否启用 UFW、规则统计
- 一键启停 无需 SSH 直接开关
- 规则管理
- 列表展示(含编号)
- 新增「允许 / 拒绝」端口 / IP(可选端口)
- 按编号删除
- 安全 后端密码,前端 JWT
- 部署无痛 一行部署后端,一行拉起前端
- MIT 开源 放心二改,欢迎 PR
⏱️ 3 步快速上手
已在 Debian 11/12、Ubuntu 24.04/22.04 实测通过。
1️⃣ 部署后端(Go API)
wget -O deploy_backend.sh \
https://raw.githubusercontent.com/Gouryella/UFW-Panel/main/deploy_backend.sh
chmod x deploy_backend.sh
sudo ./deploy_backend.sh
脚本会自动完成:
-
检测 amd64 / arm64 → 下载最新 release
-
询问 3 个参数(均可回车接受默认值,也可自订)
- 监听端口 → 默认
8080 - API 密码 → 前后端共用
- CORS 允许源 → 填写前端地址
- 监听端口 → 默认
-
生成
/usr/local/bin/.env_ufw_backend -
创建并启用 systemd 服务 ufw-panel-backend
常用命令:
sudo systemctl status ufw-panel-backend
sudo journalctl -u ufw-panel-backend -f
2️⃣ 部署前端(Next.js Docker)
# 准备配置
wget https://raw.githubusercontent.com/Gouryella/UFW-Panel/main/.env.sample -O .env
nano .env # 修改 JWT_SECRET / AUTH_PASSWORD 等
# 拉起容器
docker compose up -d
Compose 会:
- 拉取
gouryella/ufw-panel:latest - 将宿主
30737端口映射至容器3000 - 创建持久卷
ufw_db_data - 容器名
ufw-panel-frontend
3️⃣ 打开浏览器
http://:30737
输入 AUTH_PASSWORD 登录,畅享 GUI!
📸 截图速览
| 登录页 | 主界面 |
|---|---|
![]() |
![]() |
| 多后端 | 添加后端 |
|---|---|
![]() |
![]() |





@Shrunk #18 更新0.2版本了,支持ufw docker的规则,使用Forward规则添加容器映射的端口就能暴露在公网上了
@Shrunk #33 我把他的配置改了一下,那个配置默认局域网能访问,在机房还是有些危险,限制默认访问的ip地址为172.16.0.0-172.37.255.255了
@Bliz333 #40 考虑用nftables重新一遍,到时候还能限定流量什么的