mihomo/README.md

98 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# mh (mihomo wrapper)
>基于 mihomo 的纯ubuntu终端控制梯子工具适合简单全局控制与。
mihomo: https://github.com/mihomo/mihomo
# 部署
将目录下的`mh`复制到`/usr/local/bin`下,并添加执行权限。
```bash
sudo chmod +x mh # 给予执行权限
sudo setcap cap_net_admin,cap_net_raw+ep /home/lht/bfile/mihomo/mihomo # 给予网络tun权限
```
然后在任何终端都可以使用`mh`命令。
# 使用
## 导入
> 支持两种导入方法
```bash
mh add name path
mh add name url
mh select name # 选择一个配置
```
分别是订阅链接或者是某个已配置好的`yaml`文件
得到如下的项目结构
```json
tnt
├── cache.db
├── config.yaml # 这是mh生成的配置文件用于启动mihomo
├── geoip.metadb # 这是运行中生成的文件
├── mihomo.log # 这是日志可以用config.yaml 的log_file 指定error,warning,info,debug
└── providers
└── tnt.yaml # 这是提供节点的文件,来自你的订阅链接,tnt为你输入的名称
current.profile # 保存是否需要tun配置
run.pid # 运行时保存的进程id目前只能支持起一个mihomo
```
## 换节点
```bash
mh -l # 列出搜索可选择节点
mh name # 搜索并列表选择节点
```
## 其他操作
```bash
mh tun on/off # 开启/关闭tun,可能需要sudo权限
mh env # 输出当前 shell 可用的代理 export 片段
mh mode rule/global/direct # 切换运行模式
mh rules show/reset # 查看或重置内建基础规则
mh -h # 帮助
mh # 快速预览信息
mh db # 一些测试debug专用
sudo -E apt install ...#如果下载没有网络,则是环境没有导入
```
如果要让当前 shell 立刻走代理,不能只执行 `mh`,因为它是子进程,没法反向修改你的父 shell 环境。要这样用:
```bash
eval "$(mh env)"
```
默认输出的是 `127.0.0.1:7897`,和常见 GUI 代理端口保持一致。也可以把 `mh env` 的输出写进 `~/.bashrc` / `~/.zshrc`
## 基础规则
现在新建的 profile 默认走一套很简单的规则:
- 局域网、本地回环直连
- 其他流量走 `Final`
- `Final` 默认选择 `Proxy`
可以直接调整:
```bash
mh mode rule # 规则模式
mh mode global # 全局代理
mh mode direct # 全局直连
mh rules show # 查看当前规则
mh rules reset # 重置成内建基础规则
```
# 错误
> 主要错误都可以看看`mihomo.log`文件,从其中分析
## 网络dns解析失败
> 节点正常搜索,测速正常,可是无法使用(浏览器,网站)
> 查看日志,前面下载正常,就是网络解析不了
`mh db`选择7 ,看看有几个dns
问我这里显示有两个dns也就是说错误的ip解析可能来自另一个干扰的`tailscale0`(我这里是这个)