MiGate 是一款 Go 单二进制轻量级 VPS 面板,使用本地 SQLite 数据库和嵌入式 React WebUI,管理 Xray 和 sing-box 的入站节点、客户端、共享出站配置、路由规则以及核心配置的生成与应用。

版本: v1.5.4 | 仓库: github.com/imzyb/MiGate


目录


功能概览

功能 说明
单二进制部署 无需 Python/Node 运行时,一个 Go 二进制文件搞定
React WebUI 管理入站、客户端、出站、路由、TLS 证书、设置等
双核心支持 同时管理 Xray 和 sing-box,面板配置自动同步
多协议入站 VLESS、VMess、Trojan、Shadowsocks、Hysteria2、TUIC、ShadowTLS
SOCKS5 池 导入 SOCKS5 代理池,灵活分配出站
路由管理 可视化配置路由规则,按需分流
TLS 证书 内置 ACME 证书申请与管理
订阅分享 生成客户端订阅链接,一键导入
备份恢复 内置备份/恢复功能,数据安全无忧
systemd 管理 自动注册服务,支持开机自启

一键安装

环境要求

  • 系统: Linux(推荐 Debian 11/12、Ubuntu 22.04+)
  • 权限: root 用户
  • 架构: amd64 / arm64

安装命令

在 VPS 上以 root 用户执行:

1
bash <(curl -Ls https://raw.githubusercontent.com/imzyb/MiGate/main/packaging/install.sh)

指定版本安装

1
MIGATE_VERSION=v1.0.21 bash <(curl -Ls https://raw.githubusercontent.com/imzyb/MiGate/main/packaging/install.sh)

安装流程

首次安装时,安装程序会依次进行:

  1. 环境检测(检查系统、架构、依赖)
  2. 检测现有 MiGate 安装
  3. 询问面板配置信息:
配置项 说明 默认值
面板端口 WebUI 访问端口 9999
用户名 管理员用户名 admin
密码 管理员密码,留空自动生成 随机密码
Web 路径 面板访问路径 /panel
安装核心 是否安装/修复 Xray 和 sing-box

非交互式安装

1
2
3
4
5
# 安装或升级,保留现有配置
bash <(curl -Ls https://raw.githubusercontent.com/imzyb/MiGate/main/packaging/install.sh) --install --yes

# 预览安装操作(不实际执行)
bash <(curl -Ls https://raw.githubusercontent.com/imzyb/MiGate/main/packaging/install.sh) --install --yes --dry-run

访问面板

安装完成后,通过浏览器访问:

1
http://<你的VPS_IP>:9999/panel

面板服务默认绑定 0.0.0.0,方便直接访问。生产环境建议使用 Nginx/Caddy 反向代理并开启 HTTPS。


面板配置

基本配置

配置文件位于 /etc/migate/panel.json

1
2
3
4
5
6
7
{
"port": 9999,
"username": "admin",
"web_path": "/panel",
"public_host": "your-domain.com",
"trust_proxy": false
}
配置项 说明
port 面板监听端口
username 管理员用户名
web_path 面板访问路径
public_host 公共域名,用于生成订阅链接
trust_proxy 是否信任反向代理(使用 X-Forwarded-Proto

核心配置路径

文件 说明
/etc/migate/panel.json 面板配置
/etc/migate/cores/xray.json Xray 核心配置
/etc/migate/cores/sing-box.json sing-box 核心配置
/var/lib/migate/migate.db SQLite 数据库
/var/lib/migate/versions.json 安装状态
/var/lib/migate/backups/ 备份目录

日常管理

常用命令

MiGate 提供了 mg 命令方便日常操作:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 查看面板状态
mg status
mg doctor
mg info
mg ports

# 重启面板
mg restart
mg restart all
systemctl restart migate

# 查看日志
mg logs -f
journalctl -u migate -f

# 更新面板
mg update
mg update --check

# 备份与恢复
mg backup
mg restore /var/lib/migate/backups/migate-backup-20260629-120000.tar.gz

核心管理

1
2
3
4
5
6
7
8
# 安装或修复运行核心
migate-install --install-xray --yes
migate-install --install-singbox --yes

# 系统服务
systemctl status migate
systemctl status migate-xray
systemctl status migate-sing-box

卸载

1
2
3
4
5
6
7
8
# 仅卸载面板(保留核心和配置)
migate-install --uninstall --yes

# 卸载面板及核心(保留配置和数据)
migate-install --uninstall -- --with-cores --yes

# 完全卸载(清除所有数据和配置)
migate-install --uninstall -- --purge --yes

安全建议

  1. 设置强密码 — 安装时设置高强度管理员密码
  2. 使用反向代理 — 通过 Nginx/Caddy 反向代理并配置 HTTPS
  3. 配置 public_host — 在 /etc/migate/panel.json 中设置公共域名
  4. 启用 trust_proxy — 使用 HTTPS 反向代理时设为 true
  5. 限制访问来源 — 通过防火墙限制面板端口的访问 IP
  6. 定期备份 — 使用 mg backup 定期备份数据库和配置

反向代理配置示例

Nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
server {
listen 443 ssl;
server_name your-domain.com;

ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;

location /panel {
proxy_pass http://127.0.0.1:9999;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}

Caddy

1
2
3
your-domain.com {
reverse_proxy /panel* 127.0.0.1:9999
}

常见问题

Q1:安装后无法访问面板?

  • 检查面板是否运行:systemctl status migate
  • 检查防火墙是否放行了端口:ufw statusiptables -L
  • 检查面板绑定地址:ss -tlnp | grep 9999

Q2:如何修改面板端口?

编辑 /etc/migate/panel.json 修改 port 值,然后执行 mg restart

Q3:忘记管理员密码?

1
2
3
4
5
# 在 panel.json 中修改 password 字段
nano /etc/migate/panel.json

# 重启面板
systemctl restart migate

Q4:如何升级 MiGate?

1
2
3
4
5
# 在线升级
mg update

# 或重新执行安装脚本
bash <(curl -Ls https://raw.githubusercontent.com/imzyb/MiGate/main/packaging/install.sh) --install --yes

Q5:订阅链接无法使用?

  • 确认 public_host 已设置为正确的域名或 IP
  • 确认对应端口已放行
  • 检查证书是否有效

总结

MiGate 的部署流程可以概括为:

1
执行一键安装 → 配置面板 → 添加入站节点 → 配置客户端 → 生成订阅链接

整个安装过程仅需一条命令,几分钟内即可完成。部署完成后,你就能通过 WebUI 直观地管理你的 VPS 代理节点、客户端和路由规则。

如果你在部署过程中遇到任何问题,欢迎在项目 GitHub Issues 中提出。


本文档最后更新于 2026 年 6 月,对应 MiGate v1.5.4 版本。