# 转发面板 本项目基于 [go-gost/gost](https://github.com/go-gost/gost) 和 [go-gost/x](https://github.com/go-gost/x) 两个开源库,实现了转发面板。 --- ## 特性 - 支持按 **隧道账号级别** 管理流量转发数量,可用于用户/隧道配额控制 - 支持 **TCP** 和 **UDP** 协议的转发 - 支持两种转发模式:**端口转发** 与 **隧道转发** - 可针对 **指定用户的指定隧道进行限速** 设置 - 支持配置 **单向或双向流量计费方式**,灵活适配不同计费模型 - 提供灵活的转发策略配置,适用于多种网络代理场景 - 内置轻量级 Agent 端 API 服务,默认强制启用自签发 SSL,仅响应已认证请求,静默运行、安全可控 --- # 流量统计算法 ## 流量流向定义 ``` 用户端 ←→ 转发服务器 ←→ 目标服务器/出口节点 ``` ### 数据流向说明 | 流向 | 描述 | 计费类型 | |-----|-----|----------| | 用户 → 转发服务器 | 用户发送到服务器的数据包 | 入站流量 | | 转发服务器 → 目标服务器 | 服务器转发到目标的数据包 | 出站流量 | | 目标服务器 → 转发服务器 | 目标服务器返回的数据包 | 入站流量 | | 转发服务器 → 用户 | 服务器返回给用户的数据包 | 出站流量 | ## 计费模式 ### 🔄 双向计费 统计所有方向的流量,包括: - ✅ 用户 → 转发服务器 - ✅ 转发服务器 → 目标服务器 - ✅ 目标服务器 → 转发服务器 - ✅ 转发服务器 → 用户 **计费公式**:`总流量 = 入站流量 + 出站流量` ### ➡️ 单向计费 仅统计有效的转发流量,包括: - ❌ 用户 → 转发服务器 (不计费) - ✅ 转发服务器 → 目标服务器 (计费) - ❌ 目标服务器 → 转发服务器 (不计费) - ✅ 转发服务器 → 用户 (计费) **计费公式**:`总流量 = 转发出站流量` ## 使用场景 - **双向计费**:适用于需要精确计量所有网络资源消耗的场景 - **单向计费**:适用于用户友好的计费模式,只对实际的数据转发服务收费 > 💡 **提示**:可以在创建隧道时选择不同的流量计算方式,灵活适配不同的业务需求 --- ## 部署流程 ### 源码编译部署 ```bash 暂时没时间写,能源码部署的都是大佬,不差我这点文档 ``` --- ### Docker Compose部署 #### 快速部署 ```bash ipv6需要面板端支持,同时开启docker的ipv6服务和composer中的ipv6 如果以前安装过需要重新安装 推荐先删除本地上次下载的文件 panel_install.sh gost.sql docker-compose.yml 在执行下面的安装命令 github curl -fsSL https://github.com/bqlpfy/forward-panel/raw/refs/heads/main/panel_install.sh -o panel_install.sh && chmod +x panel_install.sh && ./panel_install.sh gitee curl -fsSL https://gitee.com/bqlpfy/forward-panel/raw/master/panel_install.sh -o panel_install.sh && chmod +x panel_install.sh && ./panel_install.sh 节点端安装时可以手动将install.sh换成下方的连接 https://gitee.com/bqlpfy/forward-panel/raw/master/install.sh ``` ### 卸载 ```bash 面板端 cd到compose所在位置执行下面的命令 改操作会删除所有数据 包括数据库文件 docker compose down --rmi all --volumes --remove-orphans 或 docker-compose down --rmi all --volumes --remove-orphans 节点端 systemctl stop gost systemctl disable gost rm -f /etc/systemd/system/gost.service rm -rf /etc/gost systemctl daemon-reload ``` #### 默认管理员账号 - **账号**: admin_user - **密码**: admin_user > ⚠️ 首次登录后请立即修改默认密码! ## 免责声明 本项目仅供个人学习与研究使用,基于开源项目进行二次开发。 使用本项目所带来的任何风险由使用者自行承担,包括但不限于: - 配置不当或使用错误导致的服务异常或不可用; - 使用本项目引发的网络攻击、封禁、滥用等行为; - 服务器因使用本项目被入侵、渗透、滥用导致的数据泄露、资源消耗或损失; - 因违反当地法律法规所产生的任何法律责任。 **作者对因使用本项目所造成的任何直接或间接损失概不负责,也不提供任何形式的担保或技术支持。** 请确保在合法、合规、安全的前提下使用本项目。