自建游戏加速器:基于 sing-box+wails 的 gpp 加速器

gpp 是一款基于 sing-box 和 wails 开发的自建游戏加速器,采用 golang 编写,支持 Windows 、 Linux 、 macOS 多平台。它具备 HTTP 分流、 GUI 可视化界面、 Tun 代理、自定义规则等功能,且操作简单,适合利用闲置优质服务器搭建专属加速服务。

核心功能特点

  • 多平台支持:适配 Windows 、 Linux 、 macOS 系统,满足不同用户需求。
  • HTTP 分流:智能区分游戏流量与普通 HTTP 流量,优化加速效率。
  • GUI 客户端:提供直观的图形化界面,操作便捷,无需复杂配置。
  • Tun 代理:基于 Tun 模式实现全局或指定程序代理,加速效果稳定。
  • 自定义规则:支持用户根据需求自定义代理规则,灵活适配不同场景。
  • 简单易用:节点导入、加速启动等流程简化,新手也能快速上手。

界面与支持游戏示意

  • 界面截图:客户端界面简洁直观,包含游戏加速入口与 HTTP 代理入口,可快速切换节点与加速状态。
  • 支持游戏:已适配多款热门游戏,包括英雄联盟、战地 2042 、绝地求生等,通过自定义规则可扩展支持更多游戏。

使用教程

一、服务端搭建 (仅支持 Linux)

在拥有优质线路的服务器上,通过以下步骤快速部署服务端:

执行安装脚本

Bash
bash <(curl -sL https://raw.githubusercontent.com/danbai225/gpp/main/server/install.sh)

启动服务端

Bash
bash/usr/local/gpp/run.sh start

获取导入链接:安装完成后,脚本会自动输出节点导入链接,用于客户端配置。

二、客户端运行

  1. 下载客户端:从项目 releases 页面下载对应系统的客户端安装包。
  2. 启动客户端
    • Windows 系统:以管理员身份运行客户端程序。
    • macOS 系统:直接运行,若提示损坏,参考下方 「mac 修复损坏」 步骤。
  3. 导入节点
    • 点击客户端页面上的 「Game」 或 「Http」 字样,弹出节点列表窗口。
    • 在窗口下方输入框粘贴服务端输出的导入链接,完成节点导入。
  4. 开始加速:在节点列表中选择需要的加速节点,点击启动加速即可。

三、 mac 修复损坏

若 macOS 系统提示应用损坏,在终端执行以下命令修复:

Bash
sudo xattr -r -d com.apple.quarantine /Applications/gpp.app

编译指南

服务端编译

直接编译 golang 源码即可生成服务端可执行文件:

Bash
go build cmd/gpp/main.go

GUI 客户端编译

需先安装依赖工具,再通过 wails 编译:

  1. 安装依赖
    • 安装 golang:参考官方下载地址
    • 安装 npm:参考官方下载地址
    • 安装 wails:
Bash
go install github.com/wailsapp/wails/v2/cmd/wails@latest
  1. 编译客户端
Bash
wails build

配置文件说明

服务端配置 (config.json)

配置文件位于服务端二进制文件当前目录,结构如下:

JSON
{
  "protocol": "vless",  // 协议类型
  "port": 5123,         // 服务端口
  "addr": "0.0.0.0",    // 绑定地址
  "uuid":"xxx-xx-xx-xx-xxx"  // 认证 UUID
}

客户端配置 (config.json)

配置文件存放路径:客户端二进制文件当前目录 或 用户目录下<userhome>/.gpp/config.json,结构如下:

JSON
{
  "peer_list": [  // 节点列表
    {
      "name": " 直连",  // 节点名称
      "protocol": "direct",  // 协议类型 (direct 为直连)
      "port": 0,
      "addr": "direct",
      "uuid": ""
    },
    {
      "name": "hk",  // 节点名称 (示例)
      "protocol": "vless",  // 协议类型
      "port": 5123,  // 服务端端口
      "addr": "xxx.xx.xx.xx",  // 服务端 IP/域名
      "uuid": "xxx-xxx-xx-xxx-xxx"  // 认证 UUID(需与服务端一致)
    }
  ],
  "proxy_dns": "8.8.8.8",  // 代理 DNS
  "local_dns": "223.5.5.5",  // 直连 DNS
  "sub_addr": "https://sub.com",  // 订阅地址
  "rules": [  // 代理规则
    {
      "process_name": "C://1.exe",  // 进程名称
      "outbound": "direct"  // 对应出口 (direct/代理节点)
    },
    {
      "domain": "ipv4.ip.sb",  // 域名
      "outbound": "proxy"  // 对应出口
    }
  ]
}