一个用于 Chmlfrp 的命令行工具,让你可以轻松管理隧道、域名和节点。
- 🚀 快速创建和管理隧道(TCP/UDP)
- 📋 列出隧道、域名和节点信息
- 🔗 一键连接隧道
- ⚙️ 获取隧道配置文件
- 🎯 快捷命令:快速创建常见类型的隧道
- 📊 节点延迟测试与智能选择
- 🧹 快速隧道:自动清理临时隧道
确保你已经安装了 Rust,然后运行:
cargo install chmlgit clone https://github.com/fb0sh/chml.git
cd chml
cargo install --path .在使用之前,需要设置环境变量:
export CHML_API_BASE_URL="http://cf-v2.uapis.cn"
export CHML_API_TOKEN="your_token_here"你可以将这些环境变量添加到你的 shell 配置文件中(如 ~/.zshrc 或 ~/.bashrc)。
chml --help列出所有隧道和域名(默认):
chml ls仅列出隧道:
chml ls -t仅列出域名:
chml ls -d仅列出节点(需要先运行 chml ping):
chml ls -n列出所有配置文件:
chml ls -c创建 TCP 隧道(自动连接,Ctrl+C 后自动删除):
chml tcp 4444创建 UDP 隧道(自动连接,Ctrl+C 后自动删除):
chml udp 4444测试所有节点延迟并缓存(需要 sudo 权限):
chml ping此命令会测量所有节点的 RTT(往返时间)并缓存结果,用于智能选择延迟最低的节点。
添加一个 TCP 隧道:
chml add tunnel --type tcp --lport 4444 --name my-tunnel指定节点和远程端口:
chml add tunnel --type tcp --lport 4444 --node "节点名称" --rport 88888指定本地主机:
chml add tunnel --type tcp --lport 4444 --lhost 127.0.0.1仅选择国内节点:
chml add tunnel --type tcp --lport 4444 --china通过隧道名称连接:
chml connect -t my-tunnel通过隧道 ID 连接:
chml connect -i 12345获取指定隧道的配置:
chml get -t my-tunnel通过隧道名称删除:
chml rm -t my-tunnel通过隧道 ID 删除:
chml rm --tunnel-id 12345所有命令都支持 -q/--quiet 选项,用于减少输出信息:
chml -q ls
chml -q connect -t my-tunnel| 命令 | 说明 |
|---|---|
chml ls |
列出隧道和域名 |
chml ls -t |
仅列出隧道 |
chml ls -d |
仅列出域名 |
chml ls -n |
仅列出节点 |
chml ls -c |
列出配置文件 |
chml tcp <port> |
快速创建 TCP 隧道 |
chml udp <port> |
快速创建 UDP 隧道 |
chml add tunnel |
添加隧道 |
chml connect -t <name> |
连接隧道 |
chml get -t <name> |
获取隧道配置 |
chml rm -t <name> |
删除隧道 |
chml ping |
测试节点延迟 |
chml 会在你的系统目录下创建工作目录:
- macOS/Linux:
~/.chml/ - Windows:
%USERPROFILE%\.chml\
目录结构:
~/.chml/
├── bin/ # frpc 二进制文件
├── conf/ # frpc 配置文件
└── data/ # 节点缓存数据
# 克隆仓库
git clone https://github.com/fb0sh/chml.git
cd chml
# 运行
cargo run -- --help
# 构建
cargo build --releaseMIT License
欢迎提交 Issue 和 Pull Request!