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

5.3 KiB
Raw Blame History

Linux 下配置和使用 Clash

Clash 是一个网络代理客户端,用于与机场进行连接。

1. Clash 基本命令

# 指定配置文件目录,必须有 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. 配置文件的修改

增加混合代理端口:

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 机场提供的连接地址输入到 订阅转换 中,得到一个连接地址,然后通过 wget 下载该连接即可。

5. Linux 命令行代理设置

# 直接 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 文件

[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 服务,并能够远程访问到。

之后在客户端执行如下指令:

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 列表中:

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. 机场地址

10. 外部参考资料

  1. ArchLinux 上使用 Clash