142 lines
5.0 KiB
Markdown
142 lines
5.0 KiB
Markdown
# 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>
|
||
|
||
## 1. Clash 基本命令
|
||
|
||
```bash
|
||
# 指定配置文件目录,必须有 config.yaml 和 Country.mmdb,如果不存在则自动创建。
|
||
clash -d <dir>
|
||
# 指定配置文件,该参数不包含 Country 设置信息,所以一般不单独使用。
|
||
clash -f <config file>
|
||
```
|
||
|
||
Clash 需要一个 Country.mmdb 文件,在没有任何配置时,将会自动下载一份。但国内下载 Country.mmdb 速度较慢,可以在 <https://blacktea.vip.cpolar.top/OrgGo/clash/releases> 下载一份提前准备好的该文件。
|
||
|
||
默认情况下,clash 使用 7890 进行 HTTP/HTTPS 代理,使用 7891 进行 Socks5 代理,远程访问端口为 9090,代理端口信息输出在日志中。
|
||
|
||
## 2. 配置文件
|
||
|
||
### 2.1. 配置文件的获取
|
||
|
||
通过机场可以获得一个 Clash 连接地址,将该连接地址输入到 Clash for Windows 中的地址框即可,Clash for Windows 将自动生成配置文件。
|
||
|
||
Clash for Windows 的名称貌似只能在 Windows 下使用,但其实是有 Linux 和 Mac 版本的:<https://github.com/Fndroid/clash_for_windows_pkg>。
|
||
|
||
*另一种待验证的方式为:在终端 cd 到 Clash 二进制文件所在的目录,执行 wget -O config.yaml [clash订阅地址]&log-level=info 下载 Clash 配置文件。*
|
||
|
||
### 2.2. 配置文件的修改
|
||
|
||
增加混合代理端口:
|
||
|
||
```yaml
|
||
mixed-port: 7892
|
||
```
|
||
|
||
## 3. Clash Web 控制界面
|
||
|
||
本机通过 <http://clash.razord.top> 或局域网其他主机访问该地址可打开 Clash 的 Web 客户端。
|
||
|
||
可通过该客户端设置代理规则:
|
||
|
||
1. Global:不区分目标地址,全部使用 Clash 进行代理;
|
||
2. Rules:根据一定规则进行代理,一般是访问国外网站时才进行代理;
|
||
3. Driect:直通,即不进行代理。
|
||
|
||
代理规则是指代理客户端的规则,至于系统会不会走代理客户端,是有系统代理配置决定的。
|
||
|
||
点击 Rules 可进入规则设置界面。
|
||
|
||
点击 Connections 可查看当前的代理连接信息。
|
||
|
||
点击 Proxies 页面,可通过 Speed Test 页面测试机场代理服务器的状态。
|
||
|
||
## 4. SSR 转换
|
||
|
||
Clash 不直接支持 SSR 协议,但是可通过 SSR 连接转换得到 Clash 可用的连接信息。
|
||
|
||
将 SSR 机场提供的连接地址输入到 [ACL4SSR](https://acl4ssr.netlify.app/) 中,得到一个连接地址,然后通过 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=/<Path>/<To>/<Clash>/<WorkDir>
|
||
ExecStart=/<Path>/<To>/<Clash>/clash -d /<Path>/<To>/<Clash>/<WorkDir>
|
||
Restart=always
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
```
|
||
|
||
## 7. 使用 SSH 隧道远程访问 Clash 服务
|
||
|
||
### 7.1. 开启 SSH 隧道
|
||
|
||
首先,运行 Clash 的服务器需要开启 SSH 服务,并能够远程访问到。
|
||
|
||
之后在客户端执行如下指令:
|
||
|
||
```bash
|
||
ssh -g -L 7890:localhost:7890 -p <ssh server port> <user>@<ssh server address>
|
||
ssh -g -L 7891:localhost:7891 -p <ssh server port> <user>@<ssh server address>
|
||
```
|
||
|
||
### 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://m.fastfrog.link/m/shop)
|
||
- [奇の旅](https://www.q1travel.cloud)
|
||
|
||
## 10. 外部参考资料
|
||
|
||
1. [ArchLinux 上使用 Clash](https://www.cnblogs.com/LzsCxb/p/15662957.html)
|