简介
Clash是一款开源的代理软件,可以支持HTTP、SOCKS5、Shadowsocks、VMess等多种协议,可用于科学上网、网络爬虫等多种场景。
本文将介绍Clash的安装及使用方法,包括Clash的功能、配置文件的编写和常见问题解决等内容。
安装
在官网https://github.com/Dreamacro/clash/releases上下载对应系统的安装包,安装即可。
功能介绍
Clash的主要功能如下:
- 支持多种代理协议
- 支持代理分流
- 支持规则过滤
- 支持外部规则
- 支持HTTP代理
- 支持SOCKS5代理
- 支持Shadowsocks代理
- 支持VMess代理
配置文件编写
Clash的配置文件采用YAML格式,可以使用任何文本编辑器进行编辑。
基本配置
以下为一个基本的Clash配置文件:
# 代理监听地址和端口 | |
# HTTP和SOCKS5代理监听在7890端口,内部网络不走代理 | |
# Shadowsocks和VMess代理监听在7891端口 | |
port: 7890 | |
socks-port: 7890 | |
redir-port: 7891 | |
allow-lan: true | |
mode: Rule | |
# 策略组,定义各种规则 | |
# 针对不同域名或IP地址,采用不同的代理 | |
# 缺省情况下,直接连接 | |
# 如果在Proxy组中,遇到不可用代理,会依次使用其他代理 | |
# 如果在Proxy组中,遇到有用代理,则直接使用 | |
# 如果在Rule组中,遇到匹配的规则,则直接使用相应策略 | |
proxy-groups: | |
- name: 'PROXY' | |
type: select | |
proxies: | |
- 'ss' | |
- 'vmess' | |
- 'http' | |
- 'socks5' | |
- name: 'DIRECT' | |
type: select | |
proxies: | |
- 'DIRECT' | |
- name: 'REJECT' | |
type: select | |
proxies: | |
- 'REJECT' | |
- name: 'RULE' | |
type: url-test | |
url: 'http://www.gstatic.com/generate_204' | |
interval: 300 | |
proxies: | |
- 'ss' | |
- 'vmess' | |
- 'http' | |
- 'socks5' | |
# 代理列表 | |
# Shadowsocks和VMess的详细配置需要根据实际情况进行配置 | |
proxies: | |
- name: 'ss' | |
type: ss | |
server: 'ss.example.com' | |
port: 8888 | |
password: 'password' | |
cipher: 'aes-256-cfb' | |
udp: true | |
plugin: 'obfs-local' | |
plugin-opts: | |
mode: 'tls' | |
host: 'www.baidu.com' | |
- name: 'vmess' | |
type: vmess | |
server: 'vmess.example.com' | |
port: 8888 | |
uuid: 'UUID' | |
alterId: 64 | |
cipher: 'auto' | |
udp: true | |
tls: true | |
skip-cert-verify: true | |
# 规则列表 | |
# 用户可以自定义规则,也可以从外部规则中导入 | |
rules: | |
- DOMAIN-SUFFIX,google.com,PROXY | |
- DOMAIN-SUFFIX,facebook.com,PROXY | |
- DOMAIN-KEYWORD,instagram,PROXY | |
- GEOIP,CN,DIRECT | |
- MATCH,PROXY | |
# 外部规则 | |
# 外部规则的详细使用方法见官网文档 | |
external-controller: '127.0.0.1:9090' | |
external-ui: './web/index.html' |
外部规则
用户可以从外部导入规则文件,具体方法如下:
- 在配置文件中设置external-controller参数,例如:
external-controller: '127.0.0.1:9090'
- 使用curl命令向Clash发送命令,例如:
curl -X POST http://127.0.0.1:9090/rules -d '{"rules":[{"type":"DOMAIN","payload":"example.com","policy":"PROXY"}]}'
常见问题解决
Clash无法启动
如果Clash无法启动,请检查以下几点:
- 确认已安装Clash
- 确认配置文件无误
- 确认端口没有被占用
Clash无法访问特定网站
如果Clash无法访问特定网站,请检查以下几点:
- 确认规则列表中是否存在对该网站的限制
- 确认该网站是否可以正常访问
- 确认代理是否可用
如何将Clash设置为系统代理
将Clash设置为系统代理的方法与设置其他代理软件类似,可以在系统设置中进行设置。
如何导出Clash的配置文件
可以使用Clash的GUI界面进行导出,或者使用以下命令进行导出:
curl -X GET http://127.0.0.1:9090/config
如何使用Clash进行科学上网
使用Clash进行科学上网需要在配置文件中设置代理服务器的相关参数,具体方法见上文。
结语
本文介绍了Clash的基本使用方法及常见问题解决,希望对使用者有所帮助。
正文完