diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml new file mode 100644 index 0000000..c8cc613 --- /dev/null +++ b/.github/workflows/deploy-docs.yml @@ -0,0 +1,43 @@ +name: Deploy Docs +on: + push: + branches: + - main + - master + - beta + paths: + - 'doc/**' + - 'mkdocs.yml' + +permissions: + contents: write + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Configure Git Credentials + run: | + git config user.name github-actions[bot] + git config user.email 41898282+github-actions[bot]@users.noreply.github.com + + - uses: actions/setup-python@v5 + with: + python-version: 3.x + + - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV + + - uses: actions/cache@v4 + with: + key: mkdocs-material-${{ env.cache_id }} + path: .cache + restore-keys: | + mkdocs-material- + + - name: Install MkDocs and Material Theme + run: pip install mkdocs-material + + - name: Build and Deploy + run: mkdocs gh-deploy --force diff --git a/doc/as211392.png b/doc/as211392.png deleted file mode 100644 index acbcf02..0000000 Binary files a/doc/as211392.png and /dev/null differ diff --git a/doc/faq.md b/doc/faq.md new file mode 100644 index 0000000..b49afe4 --- /dev/null +++ b/doc/faq.md @@ -0,0 +1,24 @@ +# 常见问题 (FAQ) + +### Q1: 安装脚本提示 "Docker command not found"? +**A**: 请确保您的系统已安装 Docker 和 Docker Compose。 +- Ubuntu/Debian 安装 Docker: `curl -fsSL https://get.docker.com | bash` + +### Q2: 面板无法访问 (Connection Refused)? +**A**: +1. 检查防火墙是否放行了前端端口(默认 `6366`)。 +2. 检查容器是否正常运行: `docker ps`。 +3. 查看容器日志: `docker logs flux-panel-backend` 或 `docker logs vite-frontend`。 + +### Q3: 节点显示离线? +**A**: +1. 检查节点服务器与面板服务器之间的网络连通性。 +2. 确认在节点端安装时输入的 **面板地址** 和 **密钥** 是否正确。 +3. 检查节点端服务状态: `systemctl status flux_agent`。 +4. 查看节点端日志: `journalctl -u flux_agent -f`。 + +### Q4: 只有 TCP 能通,UDP 不通? +**A**: 请检查服务器防火墙和安全组(AWS/阿里云/腾讯云等)是否同时放行了对应端口的 **TCP 和 UDP** 协议。 + +### Q5: IPv6 无法使用? +**A**: 面板安装脚本会自动尝试配置 Docker 的 IPv6。如果失败,请手动检查 `/etc/docker/daemon.json` 配置,确保 `ipv6: true` 且分配了正确的 `fixed-cidr-v6` 子网。 diff --git a/doc/index.md b/doc/index.md new file mode 100644 index 0000000..997ae5c --- /dev/null +++ b/doc/index.md @@ -0,0 +1,35 @@ +# Flux Panel 官方文档 + +**Flux Panel (哆啦A梦转发面板)** 是一个基于 [go-gost/gost](https://github.com/go-gost/gost) 和 [go-gost/x](https://github.com/go-gost/x) 开发的高性能流量转发管理系统。 + +## 核心特性 + +- **多协议支持**: 完美支持 TCP 和 UDP 协议转发。 +- **灵活转发**: 支持 **端口转发** 与 **隧道转发** 两种模式。 +- **流量控制**: 支持按 **隧道账号级别** 管理流量转发数量,用于用户/隧道配额控制。 +- **限速管理**: 可针对 **指定用户的指定隧道进行限速** 设置。 +- **计费策略**: 支持配置 **单向或双向流量计费方式**,灵活适配不同计费模型。 +- **策略配置**: 提供灵活的转发策略配置,适用于多种网络场景。 + +## 快速开始 + +- [安装部署](./install.md) +- [使用指南](./usage.md) +- [常见问题](./faq.md) + +## 免责声明 + +本项目仅供个人学习与研究使用,基于开源项目进行二次开发。 +使用本项目所带来的任何风险均由使用者自行承担。本项目为开源的流量转发工具,仅限合法、合规用途。 +**禁止将本项目用于任何违法或未经授权的行为,包括但不限于网络攻击、数据窃取、非法访问等。** + +## 捐赠支持 + +如果您觉得本项目对您有帮助,欢迎请作者喝杯咖啡! + +| 网络 | 地址 | +|------------|----------------------------------------------------------------------| +| BNB(BEP20) | `0xa608708fdc6279a2433fd4b82f0b72b8cbe97ed5` | +| TRC20 | `TM8VYdU3s3gSX5PC8swjAJrAzZFCHKqG2k` | +| Aptos | `0x49427bfcba1006a346447430689b2307ac156316bb34850d1d3029ff9d118da5` | +| Polygon | `0xa608708fdc6279a2433fd4b82f0b72b8cbe97ed5` | diff --git a/doc/install.md b/doc/install.md new file mode 100644 index 0000000..aeb2d35 --- /dev/null +++ b/doc/install.md @@ -0,0 +1,79 @@ +# 安装部署指南 + +本文档介绍如何部署 Flux Panel 面板端及节点端。 + +## 一、面板端部署 + +面板端负责管理用户、节点和转发规则。 + +### 1. 环境要求 +- 操作系统:Linux (推荐 Debian 10+ / Ubuntu 20.04+) +- 必须安装 Docker 和 Docker Compose + +### 2. 一键安装脚本 + +使用以下命令即可快速安装面板: + +```bash +curl -L https://raw.githubusercontent.com/Sagit-chu/flux-panel/main/panel_install.sh -o panel_install.sh && chmod +x panel_install.sh && ./panel_install.sh +``` + +**安装过程中会提示输入以下信息:** +- **前端端口**: 默认为 `6366` +- **后端端口**: 默认为 `6365` + +脚本会自动检测系统是否支持 IPv6,并自动配置 Docker 的 IPv6 支持。 + +### 3. 访问面板 + +安装完成后,访问: +`http://<服务器IP>:<前端端口>` (默认: `http://<服务器IP>:6366`) + +**默认管理员账号:** +- 用户名: `admin_user` +- 密码: `admin_user` + +> ⚠️ **注意**: 首次登录后,请务必在“个人中心”或“设置”中修改默认密码! + +### 4. 维护命令 + +再次运行 `./panel_install.sh` 脚本可以看到管理菜单: +1. 安装面板 +2. 更新面板 +3. 卸载面板 + +--- + +## 二、节点端部署 + +节点端运行在实际进行流量转发的服务器上,需要连接到面板端进行管理。 + +### 1. 获取接入密钥 +1. 登录面板端。 +2. 进入 **节点管理 (Node)** 页面。 +3. 点击 **添加节点**。 +4. 获取该节点的 **接入密钥 (Secret)**。 + +### 2. 一键安装脚本 + +在节点服务器上运行: + +```bash +curl -L https://raw.githubusercontent.com/Sagit-chu/flux-panel/main/install.sh -o install.sh && chmod +x install.sh && ./install.sh +``` + +**安装过程中会提示输入:** +- **服务器地址**: 面板端的通信地址(通常是 `http://<面板IP>:<后端端口>`,例如 `http://1.2.3.4:6365`)。 +- **密钥**: 刚才在面板中获取的节点密钥。 + +或者直接使用带参数的命令(适用于自动化部署): + +```bash +# 替换 <面板地址> 和 <密钥> +./install.sh -a "http://1.2.3.4:6365" -s "your_node_secret" +``` + +### 3. 验证安装 +安装完成后,服务会自动启动。 +- 查看状态: `systemctl status flux_agent` +- 回到面板 **节点管理** 页面,该节点状态应显示为 **在线**。 diff --git a/doc/usage.md b/doc/usage.md new file mode 100644 index 0000000..42e3520 --- /dev/null +++ b/doc/usage.md @@ -0,0 +1,35 @@ +# 使用指南 + +## 1. 仪表盘 (Dashboard) +登录系统后首先看到的是仪表盘,这里展示了系统的整体运行状态,包括: +- 在线节点数量 +- 用户总数 +- 流量统计信息 + +## 2. 节点管理 (Node) +节点是实际承载流量转发的服务器。 +- **添加节点**: 点击“添加”,获取密钥用于节点端安装。 +- **管理**: 可以查看节点在线状态、版本信息,以及对节点进行编辑或删除。 + +## 3. 用户管理 (User) +管理员可以创建和管理普通用户。 +- **创建用户**: 设置用户名、密码、流量配额等。 +- **用户组**: 可以将用户分配到不同的组 (Group),便于统一管理权限或策略。 + +## 4. 转发管理 (Forward) +这是核心功能区,用于设置端口转发规则。 +- **端口转发**: 将节点服务器的某个端口流量转发到目标地址。 + - **协议**: 支持 TCP / UDP。 + - **入口**: 选择入口节点和监听端口。 + - **出口**: 设置目标 IP 和端口。 +- **隧道转发**: 用于更复杂的网络穿透场景(具体配置视业务需求而定)。 + +## 5. 限制与策略 (Limit) +- **限速**: 可以对指定用户或指定隧道进行带宽限制,防止资源滥用。 +- **计费模式**: 支持配置流量计算方式(单向或双向),适合运营场景。 + +## 6. 系统配置 (Config) +在此页面进行系统的全局设置。 + +## 7. 个人设置 (Profile) +- **修改密码**: 为了安全,建议定期修改管理员密码。 diff --git a/doc/vpstown.png b/doc/vpstown.png deleted file mode 100644 index 5b02060..0000000 Binary files a/doc/vpstown.png and /dev/null differ diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..bcfb716 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,40 @@ +site_name: Flux Panel 文档 +site_url: https://sagit-chu.github.io/flux-panel/ +site_description: Flux Panel 哆啦A梦转发面板官方文档 +site_author: Sagit-chu + +theme: + name: material + language: zh + palette: + - scheme: default + primary: indigo + accent: indigo + - scheme: slate + primary: indigo + accent: indigo + toggle: + icon: material/brightness-4 + name: Switch to dark mode + features: + - navigation.tabs + - navigation.sections + - navigation.top + - search.suggest + - search.highlight + - content.code.copy + +docs_dir: doc + +nav: + - 首页: index.md + - 安装部署: install.md + - 使用指南: usage.md + - 常见问题: faq.md + +markdown_extensions: + - admonition + - pymdownx.details + - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true