M0rtzz.com

August 19, 2026Last Updated: August 19, 2026

HUSTNLP Server Clash 使用教程

HUSTNLP Server Clash 使用教程

本文面向 HUSTNLP 的所有同学。每个人使用自己的订阅、节点、端口和 mihomo 进程;不需要 sudo,也不会影响其他用户。

不要把订阅链接、Web 控制台 secret 或自己的配置目录分享给其他人。订阅链接通常包含可直接使用的 token。

快速配置可直接跳转至简易图文教程

1. 首次初始化

登录服务器后执行:

clashctl init # 首次必须使用;加载 hook 后可用 clashinit

init 会创建当前用户的私有配置目录,并为当前 shell 注册兼容命令。根据 shell 类型加载一次:

# Bash
source "${HOME}/.bashrc"

# Z-shell
source "${HOME}/.zshrc"

之后可检查命令是否已加载:

type clashctl
type clashui
clashctl doctor # 或:clashdoctor

新开的 Bash/Z-shell 终端会自动加载。clashctl 是系统可执行命令,即使尚未加载 shell hook 也可以使用;clashuiclashsubclashnode 等是兼容函数,必须先加载 shell hook。

兼容别名与主命令的对应关系如下:

主命令别名
clashctl onclashon
clashctl offclashoff
clashctl statusclashstatus
clashctl uiclashui
clashctl sub ...clashsub ...
clashctl node ...clashnode ...
clashctl tun ...clashtun ...
clashctl mixin ...clashmixin ...
clashctl secretclashsecret
clashctl logclashlog
clashctl upgradeclashupgrade
clashctl initclashinit
clashctl envclashenv
clashctl doctorclashdoctor
clashctl migrateclashmigrate
clashctl uninitclashuninit
clashctl -hclashhelp

下文每个业务命令都同时给出两种写法。别名只在加载 shell hook 后可用。

2. 添加和管理订阅

建议为订阅显式指定一个好记且唯一的名称:

clashctl sub add -n 'My Airport' -u 'https://example.com/subscription-token' # 或:clashsub add -n 'My Airport' -u 'https://example.com/subscription-token'

查看当前订阅列表:

clashctl sub ls # 或:clashsub ls

列表中的 * 表示正在使用的订阅。当前订阅管理以“名称”为唯一标识,不使用数字 ID。

# 切换订阅
clashctl sub use 'My Airport' # 或:clashsub use 'My Airport'

# 不带参数时,交互选择并切换订阅
clashctl sub # 或:clashsub

# 更新当前使用的订阅
clashctl sub update # 或:clashsub update

# 更新指定订阅或全部订阅
clashctl sub update 'My Airport' # 或:clashsub update 'My Airport'
clashctl sub update --all # 或:clashsub update --all

# 重命名或删除订阅
clashctl sub rename 'My Airport' 'My Airport Backup' # 或:clashsub rename 'My Airport' 'My Airport Backup'
clashctl sub del 'My Airport Backup' # 或:clashsub del 'My Airport Backup'

名称中有空格、中文或特殊字符时,始终用单引号包住名称。

3. 开启终端代理

加载 shell hook 后,使用:

clashctl on # 或:clashon

它会启动当前用户自己的 mihomo,并为当前终端设置 http_proxyhttps_proxyall_proxy 等环境变量。验证:

clashctl status # 或:clashstatus
curl -s http://ip-api.com

关闭当前用户的服务并清除当前终端代理变量:

clashctl off # 或:clashoff

代理环境变量只对执行 clashctl on 的那个终端生效。新开的终端需要再次执行 clashctl on

没有加载 shell hook 时

先启动自己的服务,再由当前 shell 执行导出的环境变量:

clashctl on # 或:clashon
eval "$(clashctl env)" # 或:eval "$(clashenv)"

更推荐执行一次 source "${HOME}/.bashrc"source "${HOME}/.zshrc",之后直接使用 clashctl on/off

4. 选择节点

先确保服务已经运行:

clashctl on # 或:clashon

交互选择策略组和节点:

clashctl node # 或:clashnode

查看策略组、节点或帮助:

clashctl node ls # 或:clashnode ls
clashctl node -h # 或:clashnode -h

节点选择只会修改当前用户自己的 mihomo 实例,不会影响其他同学。

5. Web 控制台

执行:

clashctl ui # 或:clashui

命令会显示当前用户控制台的内网地址和公网地址,并自动启动自己的服务。控制台端口按用户独立分配,因此不要把别人的端口当作自己的端口使用。

查看当前控制台 secret:

clashctl secret # 或:clashsecret

首次打开面板时,如页面要求认证,请填入该命令输出的 secret。不要将控制台地址和 secret 一起公开;如果公网地址无法访问,请联系服务器管理员检查防火墙,不要自行修改 allow-lanbind-address 或共享安装目录。

6. 常用排查命令

# 当前用户的目录、PID、端口、controller、活动订阅
clashctl doctor # 或:clashdoctor

# 服务状态
clashctl status # 或:clashstatus

# mihomo 日志
clashctl log # 或:clashlog

# 订阅更新日志
clashctl sub log # 或:clashsub log

# 查看所有命令
clashctl -h # 或:clashhelp
clashctl sub -h # 或:clashsub -h
clashctl node -h # 或:clashnode -h

提交日志或截图求助时,请先删除订阅 URL、token 和 Web secret。

7. 多用户服务器的限制

8. 常见问题

clashui: command not found

当前 shell 尚未加载 hook。Bash 执行:

source "${HOME}/.bashrc"

Z-shell 执行:

source "${HOME}/.zshrc"

也可先继续使用完整命令 clashctl ui

clashctl on 提示未加载 shell hook

服务已经可以启动,但子进程无法直接修改你的终端环境变量。执行:

source "${HOME}/.bashrc"
clashctl on # 或:clashon

或者执行:

eval "$(clashctl env)" # 或:eval "$(clashenv)"

订阅更新失败

先查看订阅日志:

clashctl sub log # 或:clashsub log

确认订阅链接仍然有效,再重试:

clashctl sub update # 或:clashsub update

要清理自己的所有数据

以下命令会停止并删除当前用户的配置、订阅和日志,不会删除共享程序,也不会影响其他用户:

clashctl uninit # 或:clashuninit

非交互脚本中才使用:

clashctl uninit --yes # 或:clashuninit --yes

9. 简易图文教程

A100 教程

image-20260819165618508

输入主机、端口、密码并登录:

image-20260819165637079

测速并切换节点:

image-20260819165744659

A6000、3090 教程

note

因 A6000、3090 通过交换机连接到 A100,二者均无固定 ip,所以需要特殊的 ssh 连接方式转发端口。

这里以 A6000 为例

首先正常连接服务器查看自己的端口和密码:

image-20260819171531285

然后再次使用 ssh 连接服务器并转发端口:

ssh -N -T \
    -o ExitOnForwardFailure=yes \
    -o ServerAliveInterval=5 \
    -L 9090:127.0.0.1:9090 \
    -J username@222.20.99.38 \
    username@192.168.10.13

# 或者(前提是配置过 ProxyJump)
ssh -N -T \
    -o ExitOnForwardFailure=yes \
    -o ServerAliveInterval=5 \
    -L 9090:127.0.0.1:9090 \
    A6000 # 别名

image-20260819173508387

输入主机、端口、密码并登录:

image-20260819171754478

同理,测速并切换节点:

image-20260819172658239

tip

3090 使用同样方法。此处不再进行赘述。