跳转至

命令行参考

命令行由当前二进制直接定义。不同组件化构建拥有相同的基础命令,但运行配置时会检查 所需组件是否存在。

wuther-core <COMMAND>

使用 wuther-core --help 查看当前版本帮助,使用 wuther-core <COMMAND> --help 查看子命令参数。

命令总览

命令 作用 是否访问网络 是否修改数据
run 前台启动内核 按配置
check 解析并校验配置 通常否
explain 输出归一化后的 RuntimePlan JSON 通常否
migrate 将第三方配置迁移为 Friendly YAML 写输出文件
feeds list 列出订阅
feeds refresh 立即刷新订阅 写缓存
store info 查看持久化状态摘要
store reset 重置持久化状态
ruleset list 列出规则集
ruleset refresh 拉取并解析规则集 写缓存
ruleset convert 转换规则集格式 写输出文件
components 查看编译组件

run

wuther-core run --config config.yaml
wuther-core run -c config.yaml

--config-c 指定配置文件。启动流程包括解析、Profile 补全、引用解析、运行计划 构建、组件检查和数据面激活。任一步失败都会返回非零状态。

该命令以前台方式运行。服务管理器应传递终止信号并等待清理完成,特别是启用 TUN、 路由或防火墙时。

check

wuther-core check config.yaml

检查范围包括:

  • YAML 解析和未知字段
  • Profile 默认值补全
  • 节点、分组、规则集和 DNS 名称引用
  • 字段组合和范围
  • 当前二进制组件能力
  • RuntimePlan 能否构建

它不会证明远端节点可连接,也不会保证订阅、远程规则集或证书在未来仍有效。适合 CI、 部署前检查和配置编辑器保存钩子。

explain

wuther-core explain config.yaml > runtime-plan.json

输出编译后的 RuntimePlan JSON,可检查:

  • Profile 实际补上的监听、分组、路由和 DNS
  • 短写和兼容字段的归一化结果
  • 名称引用解析后的目标
  • Smart、Capture、UI 和 Mesh 的最终开关

输出可能包含地址、节点信息或其它部署数据。上传诊断前先检查和脱敏。

migrate

wuther-core migrate mihomo input.yaml --output config.yaml
wuther-core migrate mihomo input.yaml -o config.yaml

位置参数依次是源类型和输入文件,--output-o 指定输出。当前源类型支持 mihomo。迁移只负责语法和语义映射,随后必须运行:

wuther-core check config.yaml
wuther-core explain config.yaml

无法无损映射的第三方字段应在迁移报告和最终配置中人工审查。

feeds

feeds list

wuther-core feeds list config.yaml

读取配置并列出订阅名称、来源和调度信息,不主动刷新。

feeds refresh

wuther-core feeds refresh config.yaml
wuther-core feeds refresh config.yaml --cache-dir data/feeds

立即拉取并解析配置中的订阅。--cache-dir 覆盖缓存目录。命令会访问远程 URL, 失败时返回非零状态。认证头、URL token 和缓存内容按敏感信息处理。

store

store info

wuther-core store info
wuther-core store info --config config.yaml
wuther-core store info --path data/state/wuthercore.db

输出 Turso store 的路径、文件大小和各命名空间行数,包括累计流量、节点学习、 站点最佳节点、固定选择和分组手动状态。--path 优先于配置文件中的数据库路径。

store reset

wuther-core store reset
wuther-core store reset --config config.yaml
wuther-core store reset --path data/state/wuthercore.db

重置指定 store。此操作会清除累计流量、学习结果和手动选择,保留 schema 与面板通用 存储。Turso 多进程 WAL 可用时不要求停止核心。

traffic

wuther-core traffic --config config.yaml
wuther-core traffic --path data/state/wuthercore.db
wuther-core traffic --config config.yaml --category outbound --top 20
wuther-core traffic --config config.yaml --exact
wuther-core traffic --config config.yaml --json

优先直接读取持久化 Turso 数据库。传入 --config 时自动使用 database 路径和参数, 也会读取 API 地址与密钥作为平台不支持多进程 WAL 时的回退。分类包括网络、入站、 入站类型、入站用户、出站、策略组、Provider、规则、规则载荷、进程、源地址、目标 地址、端口、GeoIP、ASN 和 UID。

默认输出适合人工阅读的单位,最大显示单位为 BB。--exact 同时显示无损十进制字节数。 --json 中上传与下载总量始终是十进制字符串,不受整数位数限制。

ruleset

ruleset list

wuther-core ruleset list config.yaml

列出配置中的规则集、类型、来源和更新信息,不执行远程刷新。

ruleset refresh

wuther-core ruleset refresh config.yaml
wuther-core ruleset refresh config.yaml --cache-dir data/rulesets

拉取并解析全部规则集,输出条目数和匹配器统计。远程源、缓存权限、校验和或签名策略 失败都会导致命令失败。

ruleset convert

wuther-core ruleset convert geosite-cn.yaml geosite-cn.rrs
wuther-core ruleset convert ruleset.json ruleset.txt
wuther-core ruleset convert input.rrs output.yaml --output-format yaml
wuther-core ruleset convert input.bin output.rrs --input-format srs

位置参数是输入和输出。输入格式可自动嗅探,也可用 --input-format 指定。 输出格式按扩展名判断,也可用 --output-format 覆盖。

方向 支持格式
输入 yamltxtlistjsonrrsmrssrs
输出 yamltxtjsonrrs

转换前后应比较条目数,并在目标版本上测试实际匹配。

components

wuther-core components
wuther-core components --json

文本输出适合人工查看,JSON 输出适合脚本和部署平台。当前可报告的组件标签包括:

with_api
with_tun
with_anytls
with_grpc
with_hysteria
with_hysteria2
with_http
with_http_transport
with_mieru
with_naive
with_quic
with_reality
with_shadowsocks
with_shadowsocksr
with_snell
with_socks
with_ssh
with_sudoku
with_trojan
with_trusttunnel
with_tuic
with_utls
with_vless
with_vmess
with_wireguard
with_ws
with_xhttp
with_young

标签是否出现取决于构建时选择。完整编译方式和标签依赖关系见 组件化构建

推荐工作流

本地编辑

wuther-core check config.yaml
wuther-core explain config.yaml
wuther-core run -c config.yaml

部署流水线

wuther-core components --json
wuther-core check config.yaml

流水线应先比较构建组件与部署要求,再校验配置。不要等到服务重启时才发现二进制缺少 协议组件。

更新外部数据

wuther-core feeds refresh config.yaml --cache-dir data/feeds
wuther-core ruleset refresh config.yaml --cache-dir data/rulesets
wuther-core check config.yaml

缓存目录应使用持久化卷,并限制读取权限。

退出状态与日志

成功命令返回 0,参数错误、配置错误、组件缺失、网络失败、转换失败或激活失败返回 非零状态。自动化脚本必须检查退出状态,不能只搜索日志文本。

日志格式、级别和文件输出由配置的 log 块决定。详细字段见 根配置字段索引