Mihomo远程部署
前言
因为在WSL中需要下载一些东西,而因为电脑又在远程,无法使用GUI,且如果直接调用Windows中的Mihomo,会导致ssh无法正常连接,故在此直接在WSL中部署Mihomo。
工作环境
- WSL2环境
- Tailscale
- SSH
步骤
下载Mihomo
此部分不要直接完全复制,请根据最新版本替换链接
# 创建目录
mkdir ~/mihomo && cd ~/mihomo
# 下载链接,根据最新链接进行替换,注意应选择mihomo-linux-amd64-vx.xx.x.gz
wget https://github.com/MetaCubeX/mihomo/releases/download/v1.18.9/mihomo-linux-amd64-v1.18.9.gz
# 解压并重命名
gunzip mihomo-linux-amd64-v1.18.9.gz
mv mihomo-linux-amd64-v1.18.9 mihomo
chmod +x mihomo
配置核心文件
下载地理文件
这个文件一般Mihomo在初次运行时会自动下载,但是经常失败,所以直接手动下载
wget -O Country.mmdb https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.metadb
配置设置文件
你应该会有一个订阅链接,通过这个订阅链接可以下载一个config.yaml文件,使用以下语句进行下载:
curl -L -o config.yaml "https://api.v1.mk/sub?target=clash&url=你的订阅链接"
初步测试
./mihomo -d .
如果一切正常,应该会看到Start initial configuration successful之类的内容,并且在shell中它展开了一个服务。
常驻后台
移动文件
将Mihomo文件移动到/usr/local/bin中,这样就可以直接使用mihomo命令了。
sudo mv mihomo /usr/local/bin/
sudo mkdir -p /etc/mihomo
sudo cp Country.mmdb /etc/mihomo/
sudo cp config.yaml /etc/mihomo/
使用systemd守护进程
创建服务文件sudo nano /etc/systemd/system/mihomo.service
然后写下以下内容:
[Unit]
Description=mihomo Daemon
After=network.target
[Service]
Type=simple
Restart=always
ExecStart=/usr/local/bin/mihomo -d /etc/mihomo
[Install]
WantedBy=multi-user.target
再Ctrl+O、Enter、Ctrl+X保存文件。
启动服务
sudo systemctl daemon-reload
sudo systemctl enable mihomo
sudo systemctl start mihomo
配置启动命令
在~/.bashrc中添加以下内容:
# 代理开关快捷键
alias proxy="export https_proxy='http://127.0.0.1:7890'; export http_proxy='http://127.0.0.1:7890'; echo 'Proxy ON'"
alias unproxy="unset https_proxy; unset http_proxy; echo 'Proxy OFF'"
然后source ~/.bashrc使其生效。
之后输入proxy命令,即可使用代理。输入unproxy命令,即可取消代理。
界面化配置
我们有时候需要修改连接线路,如果直接在config里面修改很麻烦,通过yacd可以很方便地解决这一问题。
安装yacd
cd /etc/mihomo
sudo git clone -b gh-pages https://github.com/haishanh/yacd.git dashboard
修改config.yaml
在config.yaml中添加以下内容:
external-controller: 0.0.0.0:9090 # 允许外部连接控制端口
external-ui: dashboard # 刚才下载的文件夹名称
secret: "你的密码" # 设置一个密码,防止别人乱动
然后重启mihomo:sudo systemctl restart mihomo。
访问yacd
在浏览器中输入http://tailscale的IP地址:9090/ui,即可访问yacd。
至此,Mihomo的远程部署就完成了。