# clash-cli



Linux 一键安装 Clash 代理工具的 Python 实现版本。
## ✨ 特性
- 🚀 **一键安装**:`pip install clash-cli` 即可安装
- 🔧 **统一管理**:完整的命令行界面
- 🌐 **订阅转换**:内置订阅转换功能
- 🎯 **多内核支持**:支持 mihomo 和 clash 内核
- 🔒 **系统集成**:systemd 服务管理
- 🌍 **Web 控制台**:可视化管理界面
- 📱 **Tun 模式**:全局代理支持
## 📦 安装
```bash
pip install clash-cli
```
## 🚀 快速开始
### 1. 安装 Clash
```bash
# 使用默认 mihomo 内核安装
sudo clash-cli install
# 指定订阅链接安装
sudo clash-cli install -s "https://your-subscription-url.com"
# 使用 clash 内核安装
sudo clash-cli install --kernel clash
```
### 2. 基本使用
```bash
# 开启代理
clash-cli on
# 关闭代理
clash-cli off
# 查看状态
clash-cli status
# 查看 Web 控制台
clash-cli ui
```
## 📖 命令参考
### 基本命令
```bash
clash-cli install [--kernel mihomo|clash] [-s SUBSCRIPTION] # 安装
clash-cli uninstall # 卸载
clash-cli on # 开启代理
clash-cli off # 关闭代理
clash-cli status [-n LINES] [-f] # 查看状态
clash-cli ui # Web 控制台信息
clash-cli info # 系统信息
```
### 系统代理管理
```bash
clash-cli proxy # 查看代理状态
clash-cli proxy on # 开启系统代理
clash-cli proxy off # 关闭系统代理
```
### Web 控制台
```bash
clash-cli secret [PASSWORD] # 设置/查看密钥
```
### Tun 模式
```bash
clash-cli tun # 查看 Tun 状态
clash-cli tun on # 开启 Tun 模式
clash-cli tun off # 关闭 Tun 模式
```
### 订阅管理
```bash
clash-cli update # 查看当前订阅
clash-cli update sync [URL] # 更新订阅
clash-cli update log [-n LINES] # 查看更新日志
```
### 配置管理
```bash
clash-cli mixin # 查看 Mixin 配置
clash-cli mixin edit # 编辑 Mixin 配置
clash-cli mixin runtime # 查看运行时配置
```
## 🔧 高级配置
### Mixin 配置
Mixin 配置允许您自定义 Clash 设置,这些设置会与订阅配置合并:
```yaml
# 系统代理
system-proxy:
enable: true
# Web 控制台
external-controller: "0.0.0.0:9090"
secret: "your-password"
# 自定义规则
rules:
- DOMAIN-SUFFIX,example.com,DIRECT
- DOMAIN-KEYWORD,google,PROXY
# Tun 模式
tun:
enable: true
stack: system
```
### 环境要求
- **操作系统**:Linux (支持 systemd)
- **Python**:3.8+
- **权限**:root 或 sudo
- **架构**:x86_64, aarch64, armv7
## 🤝 贡献
欢迎提交 Issue 和 Pull Request!
## 📄 许可证
MIT License
## 🙏 致谢
- [mihomo](https://github.com/MetaCubeX/mihomo) - Clash 内核
- [subconverter](https://github.com/tindy2013/subconverter) - 订阅转换
- [yacd](https://github.com/haishanh/yacd) - Web 控制台
- [click](https://click.palletsprojects.com/) - 命令行框架
- [rich](https://rich.readthedocs.io/) - 终端美化
---
<div align="center">
**如果这个项目对您有帮助,请给个 ⭐ Star 支持一下!**
Made with ❤️ by [whillhill](https://github.com/whillhill)
</div>
Raw data
{
"_id": null,
"home_page": null,
"name": "clash-cli",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "whillhill <ooooofish@126.com>",
"keywords": "clash, proxy, vpn, linux, systemd, mihomo",
"author": null,
"author_email": "whillhill <ooooofish@126.com>",
"download_url": "https://files.pythonhosted.org/packages/5c/f0/973c7f6988ea22209c90396e4c82ef0e7db357822de181903c3f784ddb8f/clash_cli-1.0.5.tar.gz",
"platform": null,
"description": "# clash-cli\r\n\r\n\r\n\r\n\r\n\r\nLinux \u4e00\u952e\u5b89\u88c5 Clash \u4ee3\u7406\u5de5\u5177\u7684 Python \u5b9e\u73b0\u7248\u672c\u3002\r\n\r\n## \u2728 \u7279\u6027\r\n\r\n- \ud83d\ude80 **\u4e00\u952e\u5b89\u88c5**\uff1a`pip install clash-cli` \u5373\u53ef\u5b89\u88c5\r\n- \ud83d\udd27 **\u7edf\u4e00\u7ba1\u7406**\uff1a\u5b8c\u6574\u7684\u547d\u4ee4\u884c\u754c\u9762\r\n- \ud83c\udf10 **\u8ba2\u9605\u8f6c\u6362**\uff1a\u5185\u7f6e\u8ba2\u9605\u8f6c\u6362\u529f\u80fd\r\n- \ud83c\udfaf **\u591a\u5185\u6838\u652f\u6301**\uff1a\u652f\u6301 mihomo \u548c clash \u5185\u6838\r\n- \ud83d\udd12 **\u7cfb\u7edf\u96c6\u6210**\uff1asystemd \u670d\u52a1\u7ba1\u7406\r\n- \ud83c\udf0d **Web \u63a7\u5236\u53f0**\uff1a\u53ef\u89c6\u5316\u7ba1\u7406\u754c\u9762\r\n- \ud83d\udcf1 **Tun \u6a21\u5f0f**\uff1a\u5168\u5c40\u4ee3\u7406\u652f\u6301\r\n\r\n## \ud83d\udce6 \u5b89\u88c5\r\n\r\n```bash\r\npip install clash-cli\r\n```\r\n\r\n## \ud83d\ude80 \u5feb\u901f\u5f00\u59cb\r\n\r\n### 1. \u5b89\u88c5 Clash\r\n\r\n```bash\r\n# \u4f7f\u7528\u9ed8\u8ba4 mihomo \u5185\u6838\u5b89\u88c5\r\nsudo clash-cli install\r\n\r\n# \u6307\u5b9a\u8ba2\u9605\u94fe\u63a5\u5b89\u88c5\r\nsudo clash-cli install -s \"https://your-subscription-url.com\"\r\n\r\n# \u4f7f\u7528 clash \u5185\u6838\u5b89\u88c5\r\nsudo clash-cli install --kernel clash\r\n```\r\n\r\n### 2. \u57fa\u672c\u4f7f\u7528\r\n\r\n```bash\r\n# \u5f00\u542f\u4ee3\u7406\r\nclash-cli on\r\n\r\n# \u5173\u95ed\u4ee3\u7406\r\nclash-cli off\r\n\r\n# \u67e5\u770b\u72b6\u6001\r\nclash-cli status\r\n\r\n# \u67e5\u770b Web \u63a7\u5236\u53f0\r\nclash-cli ui\r\n```\r\n\r\n## \ud83d\udcd6 \u547d\u4ee4\u53c2\u8003\r\n\r\n### \u57fa\u672c\u547d\u4ee4\r\n\r\n```bash\r\nclash-cli install [--kernel mihomo|clash] [-s SUBSCRIPTION] # \u5b89\u88c5\r\nclash-cli uninstall # \u5378\u8f7d\r\nclash-cli on # \u5f00\u542f\u4ee3\u7406\r\nclash-cli off # \u5173\u95ed\u4ee3\u7406\r\nclash-cli status [-n LINES] [-f] # \u67e5\u770b\u72b6\u6001\r\nclash-cli ui # Web \u63a7\u5236\u53f0\u4fe1\u606f\r\nclash-cli info # \u7cfb\u7edf\u4fe1\u606f\r\n```\r\n\r\n### \u7cfb\u7edf\u4ee3\u7406\u7ba1\u7406\r\n\r\n```bash\r\nclash-cli proxy # \u67e5\u770b\u4ee3\u7406\u72b6\u6001\r\nclash-cli proxy on # \u5f00\u542f\u7cfb\u7edf\u4ee3\u7406\r\nclash-cli proxy off # \u5173\u95ed\u7cfb\u7edf\u4ee3\u7406\r\n```\r\n\r\n### Web \u63a7\u5236\u53f0\r\n\r\n```bash\r\nclash-cli secret [PASSWORD] # \u8bbe\u7f6e/\u67e5\u770b\u5bc6\u94a5\r\n```\r\n\r\n### Tun \u6a21\u5f0f\r\n\r\n```bash\r\nclash-cli tun # \u67e5\u770b Tun \u72b6\u6001\r\nclash-cli tun on # \u5f00\u542f Tun \u6a21\u5f0f\r\nclash-cli tun off # \u5173\u95ed Tun \u6a21\u5f0f\r\n```\r\n\r\n### \u8ba2\u9605\u7ba1\u7406\r\n\r\n```bash\r\nclash-cli update # \u67e5\u770b\u5f53\u524d\u8ba2\u9605\r\nclash-cli update sync [URL] # \u66f4\u65b0\u8ba2\u9605\r\nclash-cli update log [-n LINES] # \u67e5\u770b\u66f4\u65b0\u65e5\u5fd7\r\n```\r\n\r\n### \u914d\u7f6e\u7ba1\u7406\r\n\r\n```bash\r\nclash-cli mixin # \u67e5\u770b Mixin \u914d\u7f6e\r\nclash-cli mixin edit # \u7f16\u8f91 Mixin \u914d\u7f6e\r\nclash-cli mixin runtime # \u67e5\u770b\u8fd0\u884c\u65f6\u914d\u7f6e\r\n```\r\n\r\n## \ud83d\udd27 \u9ad8\u7ea7\u914d\u7f6e\r\n\r\n### Mixin \u914d\u7f6e\r\n\r\nMixin \u914d\u7f6e\u5141\u8bb8\u60a8\u81ea\u5b9a\u4e49 Clash \u8bbe\u7f6e\uff0c\u8fd9\u4e9b\u8bbe\u7f6e\u4f1a\u4e0e\u8ba2\u9605\u914d\u7f6e\u5408\u5e76\uff1a\r\n\r\n```yaml\r\n# \u7cfb\u7edf\u4ee3\u7406\r\nsystem-proxy:\r\n enable: true\r\n\r\n# Web \u63a7\u5236\u53f0\r\nexternal-controller: \"0.0.0.0:9090\"\r\nsecret: \"your-password\"\r\n\r\n# \u81ea\u5b9a\u4e49\u89c4\u5219\r\nrules:\r\n - DOMAIN-SUFFIX,example.com,DIRECT\r\n - DOMAIN-KEYWORD,google,PROXY\r\n\r\n# Tun \u6a21\u5f0f\r\ntun:\r\n enable: true\r\n stack: system\r\n```\r\n\r\n### \u73af\u5883\u8981\u6c42\r\n\r\n- **\u64cd\u4f5c\u7cfb\u7edf**\uff1aLinux (\u652f\u6301 systemd)\r\n- **Python**\uff1a3.8+\r\n- **\u6743\u9650**\uff1aroot \u6216 sudo\r\n- **\u67b6\u6784**\uff1ax86_64, aarch64, armv7\r\n\r\n## \ud83e\udd1d \u8d21\u732e\r\n\r\n\u6b22\u8fce\u63d0\u4ea4 Issue \u548c Pull Request\uff01\r\n\r\n## \ud83d\udcc4 \u8bb8\u53ef\u8bc1\r\n\r\nMIT License\r\n\r\n## \ud83d\ude4f \u81f4\u8c22\r\n\r\n- [mihomo](https://github.com/MetaCubeX/mihomo) - Clash \u5185\u6838\r\n- [subconverter](https://github.com/tindy2013/subconverter) - \u8ba2\u9605\u8f6c\u6362\r\n- [yacd](https://github.com/haishanh/yacd) - Web \u63a7\u5236\u53f0\r\n- [click](https://click.palletsprojects.com/) - \u547d\u4ee4\u884c\u6846\u67b6\r\n- [rich](https://rich.readthedocs.io/) - \u7ec8\u7aef\u7f8e\u5316\r\n\r\n---\r\n\r\n<div align=\"center\">\r\n\r\n**\u5982\u679c\u8fd9\u4e2a\u9879\u76ee\u5bf9\u60a8\u6709\u5e2e\u52a9\uff0c\u8bf7\u7ed9\u4e2a \u2b50 Star \u652f\u6301\u4e00\u4e0b\uff01**\r\n\r\nMade with \u2764\ufe0f by [whillhill](https://github.com/whillhill)\r\n\r\n</div>\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Clash\u7684linux\u547d\u4ee4\u884c\u5b9e\u73b0",
"version": "1.0.5",
"project_urls": {
"Bug Tracker": "https://github.com/whillhill/clash-cli/issues",
"Documentation": "https://github.com/whillhill/clash-cli/wiki",
"Homepage": "https://github.com/whillhill/clash-cli",
"Repository": "https://github.com/whillhill/clash-cli"
},
"split_keywords": [
"clash",
" proxy",
" vpn",
" linux",
" systemd",
" mihomo"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "378560cfa8e06e39df4375177d5c1636e04eea151711eb186c3c47dfdcae90a6",
"md5": "b40c8bd554cc640542bd2288fc9b0b70",
"sha256": "fb629ac11d93ffdd37710b06124263fc8c24366c5efd54d1458ce4fc28e24586"
},
"downloads": -1,
"filename": "clash_cli-1.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b40c8bd554cc640542bd2288fc9b0b70",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 31122,
"upload_time": "2025-07-27T20:11:32",
"upload_time_iso_8601": "2025-07-27T20:11:32.990214Z",
"url": "https://files.pythonhosted.org/packages/37/85/60cfa8e06e39df4375177d5c1636e04eea151711eb186c3c47dfdcae90a6/clash_cli-1.0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5cf0973c7f6988ea22209c90396e4c82ef0e7db357822de181903c3f784ddb8f",
"md5": "536df5ca158e024070fb7e457516a3e9",
"sha256": "c78a46ffe46989fe42f85c7dd7f5b709cd7d1cfd6645c5c98948d04d500eae12"
},
"downloads": -1,
"filename": "clash_cli-1.0.5.tar.gz",
"has_sig": false,
"md5_digest": "536df5ca158e024070fb7e457516a3e9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 27804,
"upload_time": "2025-07-27T20:11:34",
"upload_time_iso_8601": "2025-07-27T20:11:34.413132Z",
"url": "https://files.pythonhosted.org/packages/5c/f0/973c7f6988ea22209c90396e4c82ef0e7db357822de181903c3f784ddb8f/clash_cli-1.0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-27 20:11:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "whillhill",
"github_project": "clash-cli",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "clash-cli"
}