CLI 命令参考
MSM 提供了功能完善的命令行工具,用于管理和控制 MSM 服务。所有命令均通过 msm 二进制文件执行。
基本用法
bash
msm [命令] [参数] [选项]默认行为
直接运行 msm(不带任何参数)等同于执行 msm serve,即启动 HTTP 服务。
全局选项
| 选项 | 说明 | 默认值 |
|---|---|---|
-c, --config <路径> | 配置目录路径 | ~/.msm |
-p, --port <端口> | HTTP 服务端口 | 7777 |
--help | 显示帮助信息 | - |
--help-all | 显示所有命令的完整帮助 | - |
--version | 显示版本号 | - |
核心命令
msm serve — 启动服务
启动 MSM HTTP 服务及 Web 管理界面,这是最核心的命令。
bash
# 默认启动(端口 7777)
msm serve
# 指定端口
msm serve -p 8080
# 指定配置目录
msm serve -c /etc/msm
# 后台运行(守护进程模式)
msm serve -d
# 组合使用
msm serve -p 8080 -c /etc/msm -d选项:
| 选项 | 说明 |
|---|---|
-p, --port | HTTP 服务端口(默认 7777) |
-c, --config | 配置目录路径(默认 ~/.msm) |
-d, --daemon | 以守护进程模式在后台运行 |
启动后访问 http://your-server-ip:7777 进入 Web 管理界面。
msm init — 初始化配置
初始化 MSM 配置目录,生成默认配置文件。
bash
# 使用默认路径初始化
msm init
# 指定配置目录
msm init -c /etc/msm说明
通常在首次安装后自动执行,也可手动执行来重置配置目录。
msm status — 查看状态
查看 MSM 及其管理的各组件的运行状态。
bash
msm status输出示例:
MSM 状态:
MSM 服务: 运行中 (PID: 12345)
MosDNS: 运行中 (PID: 12346)
Clash: 运行中 (PID: 12347)
Sing-Box: 已停止示例里写作 Clash,但 CLI 当前仍沿用内部服务标识 mihomo。
msm restart — 重启服务
重启 MSM 服务。
bash
msm restartmsm stop — 停止服务
停止 MSM 服务。
bash
msm stopmsm logs — 查看日志
查看 MSM 或各组件的日志输出。
bash
# 查看 MSM 主服务日志
msm logs
# 查看 MosDNS 日志
msm logs mosdns
# 查看 Sing-Box 日志
msm logs singbox
# 查看 Clash 日志
msm logs mihomo诊断命令
msm doctor — 系统诊断
运行全面的系统诊断检测,检查运行环境、端口占用、依赖状态等问题。
bash
msm doctor诊断项目包括:
- ✅ 系统环境检测(OS、架构、内存、磁盘)
- ✅ 端口占用检查(53, 7777, 7890 等关键端口)
- ✅ 服务运行状态检查
- ✅ 配置文件有效性验证
- ✅ 网络连通性测试
- ✅ 权限检查(root/sudo)
故障排查利器
遇到问题时,首先运行 msm doctor 进行全面诊断,它会自动发现常见问题并给出修复建议。
密码管理
msm reset-password — 重置密码
重置管理员用户密码。当忘记登录密码时使用此命令。
bash
msm reset-password注意
此命令需要在 MSM 服务所在的主机上直接执行,不支持远程操作。执行后将重置管理员密码为默认值,请及时登录并修改密码。
系统服务管理
msm service install — 安装系统服务
将 MSM 注册为系统服务,实现开机自启动。
bash
msm service install- Linux: 创建 systemd 服务单元文件(
/etc/systemd/system/msm.service) - macOS: 创建 launchd 配置文件(
~/Library/LaunchAgents/com.msm.plist)
安装完成后可使用系统命令管理:
bash
# Linux (systemd)
sudo systemctl start msm
sudo systemctl stop msm
sudo systemctl restart msm
sudo systemctl status msm
# macOS (launchctl)
launchctl start com.msm
launchctl stop com.msmmsm service uninstall — 卸载系统服务
移除 MSM 系统服务注册。
bash
msm service uninstall授权管理
msm license status — 查看授权状态
查看当前 Pro 授权的激活状态。
bash
msm license statusmsm license fingerprint — 获取硬件指纹
获取当前设备的硬件指纹,用于绑定 Pro 授权。
bash
msm license fingerprintmsm license activate — 激活授权
使用授权码激活 Pro 许可证。
bash
msm license activatemsm license deactivate — 取消激活
取消当前设备的 Pro 授权绑定。
bash
msm license deactivate常用操作示例
完整部署流程
bash
# 1. 初始化配置
msm init
# 2. 启动服务
msm serve -d
# 3. 安装为系统服务(开机自启)
msm service install
# 4. 检查运行状态
msm status日常运维
bash
# 查看服务状态
msm status
# 查看日志排查问题
msm logs mosdns
# 系统诊断
msm doctor
# 重启服务
msm restart故障恢复
bash
# 停止服务
msm stop
# 运行诊断
msm doctor
# 重置密码(忘记密码时)
msm reset-password
# 重新启动
msm serve -d环境变量
| 变量 | 说明 | 默认值 |
|---|---|---|
JWT_SECRET | JWT 签名密钥(生产环境必须设置) | 自动生成 |
MSM_CONFIG_DIR | 配置目录路径 | ~/.msm |
MSM_PORT | HTTP 服务端口 | 7777 |