# Linux 下配置和使用 Clash - [Linux 下配置和使用 Clash](#linux-下配置和使用-clash) - [1. Clash 基本命令](#1-clash-基本命令) - [2. 配置文件](#2-配置文件) - [2.1. 配置文件的获取](#21-配置文件的获取) - [2.2. 配置文件的修改](#22-配置文件的修改) - [3. Clash Web 控制界面](#3-clash-web-控制界面) - [4. SSR 转换](#4-ssr-转换) - [5. Linux 命令行代理设置](#5-linux-命令行代理设置) - [6. Systemd 文件](#6-systemd-文件) - [7. 使用 SSH 隧道远程访问 Clash 服务](#7-使用-ssh-隧道远程访问-clash-服务) - [7.1. 开启 SSH 隧道](#71-开启-ssh-隧道) - [7.2. 客户端配置](#72-客户端配置) - [8. No Proxy for](#8-no-proxy-for) - [9. 机场地址](#9-机场地址) - [10. 外部参考资料](#10-外部参考资料) Clash 是一个网络代理客户端,用于与机场进行连接。 - [Clash GitHub 地址](https://github.com/Dreamacro/clash) - [Clash 镜像地址为](https://blacktea.vip.cpolar.top/OrgGo/clash) - [Clash for Windows-Clash UI 外壳](https://github.com/Fndroid/clash_for_windows_pkg) - [订阅转换-内网可用](https://clash.back2me.cn/) - [订阅转换-备用-外围用 ACL4SSR](https://acl4ssr.netlify.app/) ## 1. Clash 基本命令 ```bash # 指定配置文件目录,必须有 config.yaml 和 Country.mmdb,如果不存在则自动创建。 clash -d # 指定配置文件,该参数不包含 Country 设置信息,所以一般不单独使用。 clash -f ``` Clash 需要一个 Country.mmdb 文件,在没有任何配置时,将会自动下载一份。但国内下载 Country.mmdb 速度较慢,可以在 下载一份提前准备好的该文件。 默认情况下,clash 使用 7890 进行 HTTP/HTTPS 代理,使用 7891 进行 Socks5 代理,远程访问端口为 9090,代理端口信息输出在日志中。 ## 2. 配置文件 ### 2.1. 配置文件的获取 通过机场可以获得一个 Clash 连接地址,将该连接地址输入到 Clash for Windows 中的地址框即可,Clash for Windows 将自动生成配置文件。 Clash for Windows 的名称貌似只能在 Windows 下使用,但其实是有 Linux 和 Mac 版本的:。 *另一种待验证的方式为:在终端 cd 到 Clash 二进制文件所在的目录,执行 wget -O config.yaml [clash订阅地址]&log-level=info 下载 Clash 配置文件。* ### 2.2. 配置文件的修改 增加混合代理端口: ```yaml mixed-port: 7892 ``` ## 3. Clash Web 控制界面 本机通过 或局域网其他主机访问该地址可打开 Clash 的 Web 客户端。 可通过该客户端设置代理规则: 1. Global:不区分目标地址,全部使用 Clash 进行代理; 2. Rules:根据一定规则进行代理,一般是访问国外网站时才进行代理; 3. Driect:直通,即不进行代理。 代理规则是指代理客户端的规则,至于系统会不会走代理客户端,是有系统代理配置决定的。 点击 Rules 可进入规则设置界面。 点击 Connections 可查看当前的代理连接信息。 点击 Proxies 页面,可通过 Speed Test 页面测试机场代理服务器的状态。 ## 4. SSR 转换 Clash 不直接支持 SSR 协议,但是可通过 SSR 连接转换得到 Clash 可用的连接信息。 将 SSR 机场提供的连接地址输入到 [订阅转换](https://clash.back2me.cn/) 中,得到一个连接地址,然后通过 wget 下载该连接即可。 ## 5. Linux 命令行代理设置 ```bash # 直接 IP 代理 export https_proxy=127.0.0.1:7890 http_proxy=127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7891 # 带协议的代理 export https_proxy=http://192.168.0.200:7890 http_proxy=http://192.168.0.200:7890 all_proxy=socks5://192.168.0.200:7891 ``` ## 6. Systemd 文件 ```bash [Unit] Description=Clash After=syslog.target After=network.target [Service] RestartSec=2s Type=simple User=rick Group=rick WorkingDirectory=//// ExecStart=////clash -d //// Restart=always [Install] WantedBy=multi-user.target ``` ## 7. 使用 SSH 隧道远程访问 Clash 服务 ### 7.1. 开启 SSH 隧道 首先,运行 Clash 的服务器需要开启 SSH 服务,并能够远程访问到。 之后在客户端执行如下指令: ```bash ssh -g -L 7890:localhost:7890 -p @ ssh -g -L 7891:localhost:7891 -p @ ``` ### 7.2. 客户端配置 配置客户端使用:127.0.0.1:7890 和 127.0.0.1:7891 作为 HTTP/HTTPS 和 SOCKS 的代理即可。 ## 8. No Proxy for 如果通过反向代理或域名来使用 clash,而 clash 又将该域名进行了代理,则造成访问回环,使得反向代理/域名/代理无法使用。此时应将该域名加入到 No Proxy 列表中: ```bash localhost, 127.0.0.0/8, ::1, 1.tcp.vip.cpolar.top, 1.tcp.cpolar.cn, 1.tcp.hk.cpolar.io, 1.tcp.cpolar.io, .cpolar.com, baidu.com ``` ## 9. 机场地址 - [奇の旅](https://www.q1travel.cloud) - [魔戒](https://www.mojie.cyou/#/register?code=qyBqCix5) - [速蛙云](https://m.fastfrog.link/m/shop) ## 10. 外部参考资料 1. [ArchLinux 上使用 Clash](https://www.cnblogs.com/LzsCxb/p/15662957.html)