后端
配置文件

配置文件

默认配置文件位置 /opt/PortForwardGo/config.json

配置文件示例

{
  "Api": "",
  "Secret": "",
  "Proxy": "",
  "ProxyCheckAddress": "",
  "ListenConfig": {
    "IPs": [],
    "ProxyProtocol": {
      "Enable": false,
      "EnableUDP": false,
      "Force": false,
      "ForceUDP": false
    }
  },
  "RPC": "google",
  "CronInterval": 30,
  "OutBounds": null,
  "AllowLoopback": false,
  "DisableUDP": false,
  "DisableTFO": true,
  "DisableExec": false,
  "DisableRuleTrafficReport": false,
  "DisableErrorReport": false,
  "DisableLookingGlass": false,
  "StatusPermission": 0,
  "MultiPathTCP": false,
  "KernelTX": false,
  "KernelRX": false,
  "RealTime": false,
  "ConnCloseTimeout": 3,
  "MaxConnectionTime": 0,
  "DNS": ["119.29.29.29", "8.8.8.8"],
  "Transparent": {
    "Enable": false,
    "Mode": "default",
    "Cidr": [],
    "Interface": "tun0",
    "Address": {
      "IPv4": "100.64.0.1/32",
      "IPv6": "fc00::1/128"
    },
    "PostUp": [],
    "PostDown": []
  },
  "Fallback": {
    "HTTP": "",
    "HTTPS": ""
  },
  "Limits": {
    "Speed": 0,
    "BurstSpeed": 0,
    "QPS": 0,
    "BurstQPS": 0,
    "MaxConn": 0,
    "PerIP": {
      "Speed": 0,
      "BurstSpeed": 0,
      "QPS": 0,
      "BurstQPS": 0
    }
  },
  "HealthCheck": {
    "Disabled": false,
    "Interval": 30,
    "MaxFail": 5
  },
  "FirewallLog": "firewall.log",
  "Plugins": {}
}

配置文件详解

API

面板 API 和端口

示例 example.com:443

Secret

节点通信密钥, 可以在面板查看

Proxy

面板通讯代理

使用代理连接面板, 使连接更稳定

如果为空则不启用, 如果需要开启请填写代理链接

支持 SOCKS5, HTTP, HTTPS, SSH 代理

示例

  • SOCKS5

  • HTTP

    必须支持 HTTP/1.1 中的 CONNECT 方法

  • HTTPS

    必须支持 HTTP/1.1 中的 CONNECT 方法

  • SSH

    版本号 v1.1.4+ 支持

    • 无认证 ssh://username:@127.0.0.1:22

    • 密码 ssh://username:[email protected]:22

    • 私钥 ssh://username:@127.0.0.1:22/?key=privkey.pem

    • 自适应无认证 / 密码 / 私钥 ssh://username:[email protected]:22/?key=privkey.pem

    privkey.pem 替换成你 ssh 私钥文件位置

ProxyCheckAddress

版本号 v1.1.8+ 支持

代理可用性检测地址

默认值为 www.bing.com:80

通过面板连接授权 (panel) 情况下会先进行 TCPing 测试确定可用性, 再通过 代理可用性检测地址 确定能否访问互联网

ListenIP

已弃用, 将在未来版本移除

监听 IP, 留空为 IPv4+IPv6 都监听

双 IP 机器建议设置为入口绑定 IP, 可以使 UDP 正常工作

入口绑定 IP 不等于入口 IP, 如果网卡为内网 IP, 请自行查找入口绑定的内网 IP

查询内网 IP 绑定外网 IP curl --interface 内网IP myip.ipip.net

单网卡多 IP 可以先获取出口 IP, 另外一个就是入口 IP

查询出口 IP curl myip.ipip.net

多网卡机器请自行配置源进源出 教程文档 (opens in a new tab)

ListenIPs

已弃用, 将在未来版本移除

v1.1.7+ 支持此设置

监听多个 IP

如果填写了 ListenIP 请不要填写此项

ListenConfig

v1.2.1+ 支持此设置

监听配置

IPs

监听 IP, 留空为 IPv4+IPv6 都监听

多 IP 机器建议设置为入口绑定 IP, 可以使 UDP 正常工作

入口绑定 IP 不等于入口 IP, 如果网卡为内网 IP, 请自行查找入口绑定的内网 IP

查询内网 IP 绑定外网 IP curl --interface 内网IP myip.ipip.net

单网卡多 IP 可以先获取出口 IP, 另外一个就是入口 IP

查询出口 IP curl myip.ipip.net

多网卡机器请自行配置源进源出 教程文档 (opens in a new tab)

ProxyProtocol

接受代理协议 (源地址传递)

使用前置转发时建议搭配系统防火墙限制来源 IP

Enable

如果为true则在 TCP 上接受 代理协议请求头

开启后有一定性能损失, 并可能导致 IP 限制失效 (请求头欺诈), 建议搭配系统防火墙限制来源 IP

EnableUDP

如果为true则在 UDP 上接受 代理协议请求头

开启后有一定性能损失, 并可能导致 IP 限制失效 (请求头欺诈), 建议搭配系统防火墙限制来源 IP

部分转发器不支持 UDP 上的代理协议, 开启可能会导致无法连接

无法用于隧道出口端

Force

如果为true则在 TCP 上必须发送 代理协议请求头

ForceUDP

如果为true则在 UDP 上必须发送 代理协议请求头

部分转发器不支持 UDP 上的代理协议, 开启可能会导致无法连接

无法用于隧道出口端

RPC

v1.2.0+ 支持此设置

面板通讯方式

  • gRPC (默认) google
  • gRPC over WebSocket websocket

CronInterval

v1.2.0+ 支持此设置

后端同步数据间隔

单位 秒

默认值 30 秒 (v1.2.0 之前的版本为 60 秒)

OutBounds

自定义出口设置, 默认从面板读取, 如果后端配置存在则使用后端配置

  • JSON 配置示例
{
  "名称": "出口绑定IP"
}

获取出口绑定 IP 和入口同理, 请看上一条 多出口非相同网关的也需要配置源进源出 请看上一条

AllowLoopback

v1.1.8+ 支持此设置

如果为 true 则允许 127.0.0.0/8::1 入站

DisableUDP

如果为true则禁用 UDP

DisableTFO

如果为true则禁用 TCP Fast Open

如果隧道断流可尝试关闭入口的 TCP Fast Open, 部分防火墙会丢弃此包

DisableExec

如果为true则禁用面板的 Web Terminal (网页终端)

DisableRuleTrafficReport

v1.2.0+ 支持此设置

如果为true则禁用单规则流量统计上报 (建议在出口端开启)

不影响用户流量统计

DisableErrorReport

v1.1.7+ 支持此设置

如果为true则禁用监听失败错误上报

DisableLookingGlass

v1.1.7+ 支持此设置

如果为true则禁用此后端 Looking Glass 请求

StatusPermission

v1.1.7+ 支持此设置

此后端状态访问权限

优先级 节点状态访问权限 > 后端状态访问权限

  • 0 登录可见
  • 1 仅拥有相关套餐用户可见
  • 2 仅管理员可见

MultiPathTCP

v1.1.7+ 支持此设置

多路径 TCP (MPTCP)

如果为 true 则启用隧道解密数据内核加速

注意 需要系统支持!

KernelTX

v1.1.5+ 支持此设置

如果为true则启用隧道加密数据内核加速

注意 需要加载内核模块,非 Linux 专家不建议调整,可能存在负优化

KernelRX

v1.1.5+ 支持此设置

如果为true则启用隧道解密数据内核加速

注意 需要加载内核模块,非 Linux 专家不建议调整,可能存在负优化

RealTime

v1.1.6+ 支持此设置

如果为true则启用实时流量统计 (每次读写后统计流量)

默认为 false (连接关闭后统计流量)

注意 开启此选项以后 CPU 和内存占用可能会变高

ConnCloseTimeout

v1.1.5+ 支持此设置

关闭连接超时

单位: 秒

  • 小于 0 是为系统默认正常流程关闭 (高并发环境下可能会爆内存)
  • 等于 0 时立刻暴力关闭连接
  • 大于 0 时超时后暴力关闭连接

此值影响系统内存占用

注意 过早暴力关闭链接可能导致部分未发送数据丢失

MaxConnectionTime

v1.1.6+ 支持此设置

单连接最大持续时间

单位: 秒

0为不限制单连接时间

DNS

后端 DNS 配置, 如果查询失败则会回落到系统 DNS 解析

  • JSON 配置示例
["119.29.29.29", "tcp://8.8.8.8", "tls://dns.google:853"]

支持的类型

  • UDP DNS (传统, 无加密)
  • TCP DNS (无加密)
  • TLS DNS (DoT)

Transparent

v1.1.6+ 支持此设置

如果需要 UDP 不通需要把目标程序 (例如 XrayR) 的监听 IP 设置为 127.0.0.1

Enable

如果为true则启用 IP 透明 (源地址传递)

Mode

IP 透明 工作模式

  • ip_transparent [仅 Linux] Linux 内核调用 (Linux 平台默认值) 即开即用
  • tun [全平台通用] TUN/TAP 网卡 (非 Linux 平台默认值) 非即开即用!

Linux 内核调用模式需要系统以下依赖

  • sh
/bin/sh
  • iptables
  • iproute2
/sbin/ip

TUN/TAP 网卡需要自行配置路由表和源进源出策略 (可配合PostUpPostDown)

Cidr

IP 透明 子网设置

当本机设备作为网关时向下游设备传递源地址

TUN/TAP 网卡需要自行配置路由表和策略路由 (可配合PostUpPostDown)

  • JSON 配置示例
["192.168.1.0/24"]

Interface

IP 透明 TUN/TAP模式下的网卡设备名

Address

IPv4

IP 透明 TUN/TAP模式下的 IPv4 地址

IPv6

IP 透明 TUN/TAP模式下的 IPv6 地址

PostUp

IP 透明 启动成功后 运行的脚本

  • JSON 配置示例
["ip route add ....."]

PostDown

IP 透明 关闭后 运行的脚本

  • JSON 配置示例
["ip route del ....."]

Fallback

v1.2.0+ 支持此设置

HTTP

HTTP 协议未找到规则时的回落地址 (配合Transparent使用可获取回落前的客户端地址)

常用于内网穿透和节点Nginx共存的环境

HTTPS

HTTPS 协议未找到规则时的回落地址 (配合Transparent使用可获取回落前的客户端地址)

常用于内网穿透和节点Nginx共存的环境

Limits

后端全局限制

v1.1.8+ 支持此设置

Speed

后端全局限速

0 为不限速, 单位为 Mbps

BurstSpeed

后端全局突发限速

0 为无突发, 单位为 Mbps

QPS

后端全局 QPS

0 为不限制

BurstQPS

后端全局突发 QPS

0 为无突发

MaxConn

单规则最大连接数

0 为不限制

PerIP

IP 限制策略对象

HealthCheck

v1.2.0+ 支持此配置

目标健康检查设置

被动模式

Disabled

设置为 true 则禁用健康检查

Interval

v1.2.1+ 支持此配置

健康检查周期 (单位: 秒)

默认值 30 (不写则采用 CronInterval)

MaxFail

v1.2.1+ 支持此配置

最大连续失败次数

默认值 5

FirewallLog

防火墙日志文件, 默认为firewall.log

Plugins

插件配置

配置对象

IpLimits

IP 限制策略

Speed

每 IP 限速

0 为不限速, 单位为 Mbps

BurstSpeed

每 IP 突发限速

0 为无突发, 单位为 Mbps

QPS

每 IP QPS

0 为不限制

BurstQPS

每 IP 突发 QPS

0 为无突发