Skip to content

配置说明

所有配置通过环境变量进行设置:

变量默认值描述
API_KEY(必需)REST API 认证的 API 密钥
SOCKS5_PORT1080SOCKS5 代理监听端口
API_PORT3000REST API 监听端口
API_HOST0.0.0.0REST API 绑定地址
DB_PATH/data/proxy.dbSQLite 数据库文件路径
DEFAULT_SUBNET启动时自动注册子网(CIDR 格式)
DEFAULT_SUBNET_GATEWAY默认子网的网关地址
BCRYPT_ROUNDS10密码哈希的 bcrypt 轮次
LOG_LEVELinfo日志级别:tracedebuginfowarnerrorfatal

Cloudflare WARP

免注册的免费 IPv6,详见方案一:Cloudflare WARP。默认关闭,需设置 WARP_ENABLED=true;其余项都有可用的默认值。

变量默认值说明
WARP_ENABLEDfalse注册 WARP 设备并为每台设备建立一条 WireGuard 链路
WARP_ACCOUNTS1注册的设备数量(1-64)。每台设备就是一个出口地址 —— 想要地址池轮换就调大它
WARP_LICENSEWARP+ 授权密钥。可选,免费版本身就已提供地址
WARP_RESETfalse丢弃已保存的注册信息并重新注册。会更换全部 WARP 地址,旧地址自动从地址池剔除
WARP_REGISTER_SUBNETStrue把每个分配到的地址注册为单地址(/128)可分配子网
WARP_DEVICE_PREFIXwarp网卡名 = 此前缀 + 槽位号,即 warp0warp1
WARP_MTU1280链路 MTU。1280 是 IPv6 最小 MTU,也是 WARP 客户端的取值
WARP_ROUTE_TABLE51820起始路由表号,槽位 N 使用该值加 N
WARP_RULE_PRIORITY1520起始规则优先级,槽位 N 使用该值加 N。必须小于 32766,否则规则会排在主表之后而失效
WARP_KEEPALIVE25WireGuard persistent-keepalive 秒数,用于保持 NAT 映射
WARP_ENDPOINTengage.cloudflareclient.com:2408Cloudflare 的 WireGuard 端点,API 未返回时使用。DNS 不稳时可填字面地址
WARP_VERIFYtrue建链后探测每条链路并汇报结果
WARP_VERIFY_HOST2606:4700:4700::1111探测目标(Cloudflare 的解析器,支持 TCP)
WARP_VERIFY_PORT53探测端口
WARP_TEARDOWN_ON_EXITtrue退出时删除设备、路由和规则
WARP_REGISTER_DELAY_MS1500两次注册之间的间隔。Cloudflare 会对突发注册限流
WARP_API_URLhttps://api.cloudflareclient.com/v0a2158/reg设备注册 API
WARP_CLIENT_VERSIONa-6.10-2158注册请求携带的 CF-Client-Version
WARP_USER_AGENTokhttp/3.12.1注册请求携带的 User-Agent
WARP_REQUEST_TIMEOUT_MS15000上述 API 调用的超时时间

隧道代理商(6in4)

在没有 IPv6 的宿主机上接入隧道前缀,详见方案二:隧道代理商。只要配置了账号凭据或手动端点参数,隧道功能即自动启用。

变量默认值说明
HE_TUNNEL_ENABLED(自动)配置了凭据或手动端点参数时自动开启。设为 false 可保留配置但不启用
HE_TUNNEL_IDtunnelbroker.net 隧道页面的 Tunnel ID
HE_TUNNEL_USERNAMEtunnelbroker.net 账号名
HE_TUNNEL_PASSWORD账号密码。隧道设置了 Update Key 时不使用此项
HE_TUNNEL_UPDATE_KEY隧道级 Update Key(隧道 → Advanced)。设置后必须用它替代密码,且部署更安全
HE_TUNNEL_SERVER_IPV4(取自 API)代理商侧 IPv4 端点 —— "Server IPv4 Address"
HE_TUNNEL_SERVER_IPV6(取自 API)代理商侧 IPv6 地址 —— "Server IPv6 Address"
HE_TUNNEL_CLIENT_IPV6(取自 API)本机在隧道链路上的地址,如 2001:470:1f04:17b::2/64
HE_TUNNEL_ROUTED_PREFIXES(取自 API)逗号分隔的隧道路由前缀,这些前缀将成为可分配子网
HE_TUNNEL_LOCAL_IPV4(自动探测)隧道锚定的本地 IPv4。NAT 环境下填内网地址
HE_TUNNEL_DEVICEhe-ipv6创建的 sit 设备名
HE_TUNNEL_MTU1480隧道 MTU。1480 是 6in4 在 1500 字节路径上的余量
HE_TUNNEL_TTL255外层 IPv4 报文的 TTL
HE_TUNNEL_ROUTE_TABLE1470隧道流量使用的路由表号,同时用作规则优先级
HE_TUNNEL_DEFAULT_ROUTEautoauto 仅在宿主机没有默认路由时添加;always 总是添加;never 不改动主路由表
HE_TUNNEL_FORWARDINGfalse开启 net.ipv6.conf.all.forwarding。仅在需要把前缀转发给其他主机时使用
HE_TUNNEL_REGISTER_SUBNETStrue启动时把路由前缀注册为可分配子网
HE_TUNNEL_UPDATE_ENDPOINT(有凭据时开启)启动时把隧道指向本机公网 IPv4
HE_TUNNEL_UPDATE_INTERVAL_MS900000公网 IPv4 复查间隔,变化时自动更新。0 为关闭,最小值限制为 60 秒
HE_TUNNEL_VERIFYtrue建立完成后探测隧道并报告结果
HE_TUNNEL_VERIFY_HOST2001:470:20::2探测目标(HE 的 anycast DNS,支持 TCP 查询)
HE_TUNNEL_VERIFY_PORT53探测端口
HE_TUNNEL_TEARDOWN_ON_EXITtrue退出时移除设备、路由和规则
HE_TUNNEL_PUBLIC_IPV4_URLhttps://checkip.amazonaws.com查询本机公网 IPv4 的地址
HE_TUNNEL_API_URLhttps://tunnelbroker.net/tunnelInfo.php隧道信息 API
HE_TUNNEL_UPDATE_URLhttps://ipv4.tunnelbroker.net/nic/update端点更新 API(dyndns 协议)
HE_TUNNEL_REQUEST_TIMEOUT_MS10000上述 API 调用的超时时间

IPv6 回退配置

以下变量控制代理如何访问没有 AAAA 解析的域名。默认值已适用于绝大多数场景,通常无需调整。详见访问无 IPv6 解析的域名

变量默认值描述
CDN_FALLBACK_ENABLEDtrue是否启用回退链。设为 false 时,无 AAAA 的域名直接失败
CDN_FALLBACK_VERIFYtrue借用边缘节点前先用 TLS 握手验证。关闭后速度更快,但可能把证书错误暴露给客户端
CDN_FALLBACK_PORTS80,443允许借用的端口。CDN 边缘节点不会监听任意端口
CDN_FALLBACK_EDGES手动指定可用边缘节点:cloudfront=2600:9000::1,2600:9000::2;fastly=2a04:4e42::1。纯地址列表适用于所有 CDN
CDN_FALLBACK_RESOLVERS(系统)回退查询使用的 DNS 服务器,如 1.1.1.1,8.8.8.8。本地 DNS 会过滤 AAAA 记录时尤其有用
CDN_FALLBACK_PROBE_ALLtrue无法识别 CDN 时,尝试所有已知边缘池
CDN_FALLBACK_LEARNtrue记录已知 CDN 双栈主机上观察到的边缘地址,用真实流量保持边缘池新鲜
CDN_FALLBACK_MAX_PROBES6单个目标的验证探测次数上限
CDN_FALLBACK_PROBE_TIMEOUT_MS5000单次探测超时
CDN_FALLBACK_DNS_TIMEOUT_MS3000单次 DNS 查询超时
CDN_FALLBACK_TTL_MS600000成功路由的缓存时长(10 分钟)
CDN_FALLBACK_NEGATIVE_TTL_MS60000失败结果的缓存时长(1 分钟)
CDN_FALLBACK_EDGE_TTL_MS1800000边缘池的有效期(30 分钟)
CDN_FALLBACK_CACHE_MAX4096路由缓存条目上限
NAT64_PREFIX可选的 NAT64 /96 前缀(如 64:ff9b::/96),用于纯 IPv4 目标。需要可达的 NAT64 网关

基于 MIT 许可证发布。