Skip to content

CLI Reference

dongle edited this page Oct 8, 2026 · 1 revision

中文 | English

CLI 命令参考 (CLI Reference)

SniShaper 提供跨平台 CLI(Windows / Linux / macOS,共 12 个构建目标)。CLI 与 GUI 共用同一套后端与配置文件。

获取与运行

  • 从 Releases 下载对应平台的 CLI 产物(build/bin/cli/<Platform>/<Arch>/),直接运行即可进入 TUI 交互面板。
  • 无参数运行进入 TUI;带子命令则单条执行后退出。
snishaper                # 启动交互面板(TUI)
snishaper <命令> [参数]   # 执行单条命令
  • 自建 headless CLI(以 Linux 为例):
$env:GOOS='linux'; $env:CGO_ENABLED='0'
go build -tags "headless with_gvisor" -o build/bin/snishaper-linux ./cli

Important

构建标签必须包含 with_gvisor,否则 TUN 会报 "gVisor is not included in this build"。Linux 下使用 TUN 需以 root 运行。

服务生命周期

命令 说明
snishaper start [--autoproxy] 后台启动常驻服务(--autoproxy 启动后自动开代理)
snishaper stop 停止常驻服务(异步,进程退出需要数秒)
snishaper tui 进入交互面板(服务运行中不可进入)
snishaper autostart status|on [--with-proxy]|off CLI 服务的开机自启(独立条目,不影响桌面端)

命令目录

以下为完整命令目录(snishaper help 输出同款)。

服务状态

命令 说明
status 服务 / 代理 / 系统代理 / TUN 状态
stats 上下行流量统计
ipv6 检测 IPv6 可用性
diag 诊断信息(版本 / 端口 / 系统代理 / TUN / 路径,JSON)
selfcheck 端到端自检:服务、监听端口、经代理请求、系统代理与 TUN
logs [N] 最近 N 行日志(默认 100)
logs clear 清空内存日志缓冲
logs clean 删除历史日志文件(保留当前)
logs files 列出历史日志文件
logs show <文件名> 查看某个日志文件
logs capture [on|off] 查看 / 切换核心日志捕获

代理

命令 说明
proxy on|off 启动 / 停止代理(HTTP + SOCKS5)
sysproxy on|off 开启 / 关闭系统代理
mode get|set <模式> 查看 / 切换代理模式(需服务在运行)
port get|set <端口> 查看 / 修改 HTTP 监听端口
port occupant [端口] 查看端口被哪个进程占用
port kill <pid> 结束占用端口的进程
socks5 混合端口说明(SOCKS5 与 HTTP 共用端口)
migration status|on|off|server|test 会话迁移模式与迁移服务器

TUN

命令 说明
tun on 启动 TUN(先关闭本程序设置的系统代理)
tun off 停止 TUN(恢复之前关闭的系统代理)
tun status 查看 TUN 状态
tun config [json] 查看 / 修改 TUN 配置(mtu / dns_hijack / auto_route / outbound_interface / stack)
tun ifaces 列出本机网卡(物理 / 虚拟、默认路由、自动选择结果)

证书

命令 说明
ca status 根证书安装状态
ca install 安装根证书到系统信任库(需管理员 / root)
ca uninstall 卸载已安装的根证书
ca list 列出系统中本程序安装的根证书
ca pem 输出 CA 证书 PEM 内容
ca export 导出 CA 证书到 ca.crt
ca path 显示 CA 证书文件路径
ca regenerate 重新生成根证书(之后需重新安装)

规则与配置

命令 说明
config get [key] 读取 settings.json(不带 key 时整体输出)
config set <key> <value> 修改 settings.json
config export [path] 导出规则与设置
config import <path> 导入规则与设置
sites list|show|add|update|delete 站点组规则(add / update 接受 JSON)
upstreams list|show|add|update|delete 上游配置(add / update 接受 JSON)
dns list|show|add|update|delete|priority|test DNS 节点
ech list|upsert|fetch|delete ECH 配置(fetch 从域名拉取新配置)
nat64 list|add|update|delete|test NAT64 配置
cf status|config|refresh|fetch|prune|health Cloudflare IP 池与配置
evolution status|start|stop|apply 规则进化测试(start 会等到测试结束)
route get|set|status 自动路由配置

更新

命令 说明
update check 检查新版本并列出可用资产
update download [序号|名称] 下载更新(缺省选当前平台适配的资产)
update install [序号|名称|路径] 安装更新(进程可能被替换并重启)
update channel [名称] 查看 / 切换更新通道
update source [名称] [前缀] 查看 / 切换下载源与自定义前缀
update measure 测试各下载源延迟

JSON 参数示例

写操作大多接受 JSON 参数:

snishaper sites add '{"name":"示例","mode":"direct","domains":["a.com"]}'
snishaper dns add '{"name":"CF","url":"https://1.1.1.1/dns-query","enabled":true}'

TUI 交互面板

TUI 内置与 shell 完全相同的命令集(共享同一 dispatcher),并支持中文命令别名(如 帮助、启动、停止、系统代理 开|关、清屏、退出)。生命周期命令(start / stop / tui)只能在 shell 中执行。

相关文档

Clone this wiki locally