NotePublic/Software/Applications/Clash/Linux_下配置和使用_Clash.md

142 lines
5.0 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.

# 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.17891 作为 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)