Repository navigation
CLI Reference
dongle edited this page Oct 8, 2026
·
1 revision
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 ./cliImportant
构建标签必须包含 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 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 参数:
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 内置与 shell 完全相同的命令集(共享同一 dispatcher),并支持中文命令别名(如 帮助、启动、停止、系统代理 开|关、清屏、退出)。生命周期命令(start / stop / tui)只能在 shell 中执行。