Skip to content

Repository files navigation

V2bX

A V2board node server based on multi core, modified from XrayR.
一个基于多种内核的V2board节点服务端,修改自XrayR,支持V2ay,Trojan,Shadowsocks协议。

本仓库由 golimit 维护,基于 wyx2685/V2bX 二次开发。

开发链路:InazumaV/V2bX(原作者)→ wyx2685/V2bX(二开)→ 本仓库(golimit,基于二开的二开)

特点

  • 永久开源且免费。
  • 支持Vmess/Vless, Trojan, Shadowsocks, Hysteria1/2多种协议。
  • 支持Vless和XTLS等新特性。
  • 支持单实例对接多节点,无需重复启动。
  • 支持限制在线IP。
  • 支持限制Tcp连接数。
  • 支持节点端口级别、用户级别限速。
  • 配置简单明了。
  • 修改配置自动重启实例。
  • 支持多种内核,易扩展。
  • 支持条件编译,可仅编译需要的内核。

功能介绍

功能 v2ray trojan shadowsocks hysteria1/2
自动申请tls证书
自动续签tls证书
在线人数统计
审计规则
自定义DNS
在线IP数限制
连接数限制
跨节点IP数限制
按照用户限速
动态限速(未测试)

TODO

  • 重新实现动态限速
  • 完善使用文档

Docker 镜像

Tag 说明 适用场景
latest 稳定版(默认) 生产环境推荐
dev 开发版 测试新功能
# 拉取稳定版
docker pull ghcr.io/golimit/v2bx:latest

# 拉取开发版
docker pull ghcr.io/golimit/v2bx:dev

docker-compose 部署

# 下载配置文件
wget https://raw.githubusercontent.com/golimit/V2bx-core/dev/docker-compose.yaml

# 编辑配置
vi v2bx_config/config.json

# 启动服务
docker-compose up -d

配置说明

v2bx_config/ 目录下为默认的 sing-box 内核配置示例:

  • config.json - V2bX 主配置文件
  • sing_origin.json - sing-box 内核配置
  • hy2config.yaml - Hysteria2 内核配置
  • geoip.dat / geosite.dat - GeoIP/GeoSite 数据库

注意:默认配置仅适用于 sing-box 内核,如需使用 xray 或 hysteria2 内核,请参考官方文档自行配置。

构建

# 通过-tags选项指定要编译的内核, 可选 xray, sing, hysteria2
GOEXPERIMENT=jsonv2 go build -v -o build_assets/V2bX -tags "sing xray hysteria2 with_quic with_grpc with_utls with_wireguard with_acme with_gvisor" -trimpath -ldflags "-X 'github.com/InazumaV/V2bX/cmd.version=$version' -s -w -buildid="

Go 版本说明

当前推荐使用 Go 1.26.5(Dockerfile 已默认配置)。

性能优化特性:

  • Go 1.26 引入 Green Tea GC(垃圾回收器)转正并默认启用
  • 通过改善内存局部性和 CPU 可扩展性,专门优化"大量小对象"的标记和扫描效率
  • GC 开销降低 10%~40%(具体取决于工作负载)
  • 对 Intel Ice Lake / AMD Zen 4 及更新的 CPU,可额外多省约 10%(使用向量指令加速小对象扫描)
  • 对 V2bX 这类高并发代理程序(大量短生命周期小对象分配)特别有效
  • 预期可带来 3%~5% 的端到端延迟改善

注意事项:

  • GOEXPERIMENT=jsonv2 在 Go 1.26 中仍正常工作
  • 从 Go 1.27 开始,jsonv2 将成为默认行为,GOEXPERIMENT=jsonv2 开关语义会翻转(变成"回退到旧实现"的开关)
  • 如遇延迟波动,可用 GOEXPERIMENT=nogreenteagc 临时关闭新 GC 做 A/B 对比测试(该开关在 Go 1.27 将移除)
  • 建议生产环境锁定具体小版本(如 golang:1.26.5-alpine),避免使用浮动标签导致构建不可复现

配置文件及详细使用教程

详细使用教程

免责声明

  • 此项目用于本人自用,因此本人不能保证向后兼容性。
  • 由于本人能力有限,不能保证所有功能的可用性,如果出现问题请在Issues反馈。
  • 本人不对任何人使用本项目造成的任何后果承担责任。
  • 本人比较多变,因此本项目可能会随想法或思路的变动随性更改项目结构或大规模重构代码,若不能接受请勿使用。

Thanks

About

V2bX Docker 化维护版:多内核节点端,版本持续跟进上游较新发布。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

Contributors

Languages