kelinode

command module
v0.3.27 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 7, 2026 License: MPL-2.0 Imports: 1 Imported by: 0

README

v2node

A v2board backend base on moddified xray-core. 一个基于修改版xray内核的V2board节点服务端。

注意: 本项目需要搭配修改版V2board

当前 main 已切到 Xray Core 26.x 兼容基线,依赖的是自有 keli-core 26.x 兼容 fork。

软件安装

一键安装

仅适用于非 Docker 裸机安装:

wget -N https://raw.githubusercontent.com/keli-123456/kelinode/main/script/install.sh && bash install.sh

Machine 模式可直接传入服务器机器参数生成 /etc/v2node/config.yml

curl -fsSL https://raw.githubusercontent.com/keli-123456/kelinode/main/script/install.sh -o /tmp/v2node-install.sh && bash /tmp/v2node-install.sh --machine-url https://panel.example.com --machine-id 1 --machine-token your-machine-token --machine-name node-box-1

同一台 VPS 可以依次执行多个 Xboardpro 的 machine 安装命令;脚本会按 url + machine_id 合并 /etc/v2node/config.ymlmachine.profiles,重复执行同一网站会更新 token,不会启动多个 v2node 进程。

安装脚本和 v2node generate 现在默认生成 /etc/v2node/config.yml,并在覆盖旧配置前自动备份已有的 config.json / config.yml / config.yaml

Docker 部署

推荐直接使用镜像:

docker run -d --name v2node \
  --restart unless-stopped \
  --network host \
  -v /opt/v2node:/etc/v2node \
  -e V2NODE_API_HOST="https://panel.example.com" \
  -e V2NODE_NODE_ID="1" \
  -e V2NODE_API_KEY="your-node-token" \
  -e V2NODE_NODE_CONFIG_DIR="/etc/v2node" \
  -e V2NODE_HEALTH_PORT="65530" \
  -e V2NODE_GOMEMLIMIT="512MiB" \
  -e V2NODE_GOGC="100" \
  ghcr.io/keli-123456/v2node:main

说明:

  • 未显式指定 V2NODE_CONFIG_PATH 时,容器入口默认使用 /etc/v2node/config.yml
  • 如果 /etc/v2node/config.yml 不存在,会根据环境变量自动生成 YAML v2 配置
  • 如果目录里只有旧 /etc/v2node/config.json,仍会自动兼容加载
  • 建议挂载 /etc/v2node,避免重建容器后丢失生成的配置、证书和本地状态文件

详细部署说明见:

测试与构建

本项目需要 Go 1.26+,并依赖 GOEXPERIMENT=jsonv2。优先使用仓库内的 Makefile,避免遗漏实验开关:

make test
make build VERSION=dev

等价的手动构建命令:

GOEXPERIMENT=jsonv2 go build -v -o build_assets/v2node -trimpath -ldflags "-X 'github.com/keli-123456/kelinode/cmd.version=$version' -s -w -buildid="

构建环境建议使用 Go 1.26+。

运行时与健康检查

v2node 现已支持以下运维参数:

  • HealthPort: 本地健康检查端口,0 表示关闭
  • Runtime.GoMemLimit: Go 运行时软内存上限,例如 256MiB
  • Runtime.GOGC: Go GC 目标百分比,0 表示保持默认值

健康检查端点:

  • /livez
  • /readyz
  • /health
  • /healthz

Docker 环境变量:

  • V2NODE_HEALTH_PORT
  • V2NODE_GOMEMLIMIT
  • V2NODE_GOGC
  • V2NODE_NODE_CONFIG_DIR
  • V2NODE_CONFIG_PATH

配置兼容

v2node 现在同时支持:

  • 旧版 config.json
  • 新版 config.yml / config.yaml

默认会优先读取你显式传入的 --config,否则在 /etc/v2node/ 下自动回退:

  1. config.json
  2. config.yml
  3. config.yaml

脚本和 Docker 入口在未指定 V2NODE_CONFIG_PATH 时,默认会生成或使用 /etc/v2node/config.yml;如果该文件不存在,仍会自动兼容回退到旧 config.json

新版 config.yml v2 可用字段见 config.yml.example

Stars 增长记录

Stargazers over time

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
agent
api
common

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL