Clash安装教程Win10,Linux​

van-der-Poel
16 min readFeb 12, 2023

--

Windows版

因为是外网,下载速度很慢,可以用Clash

Releases · Fndroid/clash_for_windows_pkg · GitHub

用下面这个,解压后就能用

​编辑

这个位置

​编辑

两个链接逐一输进去,点download。输进去之前,你先把这两个链接放进浏览器中访问一下,如果能访问你再放进Clash里面下载。因为有时候服务器不好,这两个链接可能无法访问,进而造成你的这个工具无法用。

​编辑

linux版-有图形化界面

下载安装包

注意,如果你希望使用的clash是有图形界面的clash,请从下面这个链接下载

Clash For windows的下载链接:https://github.com/Fndroid/clash_for_windows_pkg/releases

很多VPN软件会推荐你使用这个链接下载,但是这个东西其实是在shell命令行执行的程序,不建议使用这种方式https://github.com/Dreamacro/clash/releases

从Clash For Windows下载的时候,记得要选这个“Clash.for.Windows-0.20.16-x64-linux.tar.gz”,而不是这个“Clash.for.Windows-0.20.16-arm64-linux.tar.gz”

下面这个能用,上面那个不能用

​编辑

配置运行

解压文件Clash.for.Windows-0.20.16-x64-linux.tar.gz到文件夹,里面长这个样子。

​编辑

文件夹里面的这个cfw文件,你运行它

# cd进去这个文件夹里面,然后在终端运行这句话
./cfw

就会弹出 Clash for Windows的这个图形化界面,说明你已经安装好linux客户端了

记得打开Allow LAN

​编辑

然后你点开Profiles里面这个位置要求你输入链接

​编辑

这个链接你打开Ghelper的这个位置可以找到,复制进去download下来即可

​编辑

这两个链接访问进去是这样 ,实际就是你的密钥和各个VPN站点的信息

​编辑

​编辑

如果你点开Proxies如果发现里面依然是一片空白。这往往是因为你的ip地址那边之前改错了

你进去到ubuntu linux系统的这个位置/home/albert/.config,你会发现有个叫clash_win的文件夹,你点开进去,会发现是很早以前创建的一些文件,里面应该有把ip地址改乱了

你直接删掉这个叫clash_win的文件。然后重启Clash for Windows,这个文件夹clash_win会被重新生成.。此时你再进去 Clash for Windows,刷新profile,就会拿到这些代理信息了

​编辑

修改Network Proxy

不过此时你用Chrome浏览器还不能访问外网。

ubuntu系统修改网络代理

​编辑

ip代理改成这样

​编辑

移动软件到opt并设立桌面快捷方式

此时访问外网即可

因为软件要长期用,所以改名成Clash,移动到/opt这个位置

# 文件夹改名成Clash
mv Clash.for.Windows-0.20.16-x64-linux Clash
# 移动到/opt这个位置
sudo mv Clash/ /opt

移动完毕后是这样

​编辑

此时运行即可使用

# 转到软件所在位置
# 运行Clash,打开界面
/opt/Clash/cfw

每次开机都要写一句命令,好麻烦,想写个桌面快捷方式

桌面新建Clash_for_Windows.desktop这个文件

touch Clash_for_Windows.desktop

在这个文件里面写这些东西

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Name=Clash_for_Linux # Name和GenericName写你想起的名字即可
GenericName=Clash_for_Linux
Comment=clash
Exec=/opt/Clash/cfw # 写cfw这个软件入口所在路径
Icon=/opt/Clash/clash.png # 写图标icon所在的位置,其实这里写了也是不起作用的,还是空白
Terminal=false # 运行的过程中不打开终端命令行
Type=Application
Categories=Development;IDE
Name[en]=Clash_for_Linux.desktop

然后给这个文件权限

terminal中输入chmod + x Clash_for_Linux.desktop,或右键点击文件,选择properties->permissions,勾选“Execute: Allow executing files as program”。

​编辑

如果你希望图标是这样的

​编辑

那么你在这个位置点击,点这个地方,进去选你要用的图即可

​编辑

此时双击图标就可以弹出CFW的窗口了

Chrome浏览器可以连接外网,但是linux terminal无法连接外网

这个方法从这里学来的:https://www.jianshu.com/p/02e3e8ccfe80

修改配置文件

  • 将文件改为可读可写状态,这样才能往里面添加东西
sudo chmod 666 /etc/environment
  • 编辑文件
vi /etc/environment
  • 填入以下内容且保存
http_proxy=http://127.0.0.1:7890/
https_proxy=http://127.0.0.1:7890/
ftp_proxy=http://127.0.0.1:7890/
HTTP_PROXY=http://127.0.0.1:7890/
HTTPS_PROXY=http://127.0.0.1:7890/
FTP_PROXY=http://127.0.0.1:7890/
  • 改为原来的只读状态,保证后面这个文件不会被随意修改
sudo chmod 444 /etc/environment

如何验证你的terminal终端是否可以连接到外网了呢?

  • 方法1:ping

注意不要用ping www.google.com.hk来验证,因为有墙,墙阻止了你接受网址发回的响应数据,

​编辑

会这样,一直在加载,就是没有响应, 所以ping这种方法无效

​编辑

  • 方法2:curl

curl这个 分网站

即使是墙内的网站比如zhihu.com(这里知乎的官网就是不带www的)你一访问就说网站搬走 301 Moved Permanently。造成这种现象的原因是,你访问的这个zhihu.com的网站,实际上上面是没有内容的,这是把你转移到了另一个网站。比如,你访问zhihu.com,实际访问的是这个网站https://www.zhihu.com/signin?next=%2F叫你登录

所以你curl的时候一定要拿着最后访问的那个网址,而不是中转的那个网址

​编辑

不信你用curl访问一下这个网站https://www.zhihu.com/signin?next=%2F,是可以拿到HTML代码的

​编辑

墙内那些直达的网址,都是是可以用curl把网站html代码拿下来的,比如www.baidu.com

​编辑

又比如https://www.bilibili.com/也是可以拿到的

​编辑

又比如你curl google.com,不是最终访问的网站,出来就说301 Moved

​编辑

那你curl 最终访问的网站(curl https://www.google.com.hk/) 就拿得到HTML代码了

​编辑

又比如 这样

curl https://scholar.google.com.hk/

正常可以访问外网是这样,可以拿到网站的HTML代码

​编辑

方法3:wget

wget的好处是,你可以用 google.com 和zhihu.com这种 中转网址,可以不用提供最终网址。比较懒的话,用这种最合适

​编辑

​编辑

下载下来,是一个叫index.html的文件,你用文本编辑器打开,里面有内容,说明下载下来HTML代码了,也就说明你得以成功访问外网了

一般只要你无法下载,就说明你无法访问这个网站。如果这个网站是外网还在运营的网站,那一般说明你无法访问外网

​编辑

当你运行cfw,弹出clash for windows的界面的时候,会在这些位置生成一些配置文件

/usr/local/bin/clash
        $HOME/.config/clash/config.yaml
# $HOME 在我电脑上是 /home/albert
/root/.config/clash/config.yamlclash整个软件存储在这个位置:/opt/Clash

添加了配置文件后,就可以选择节点进行使用了,点击左侧的 Proxies ,即可选择不同的代理节点,有几个默认项需要明确:

  • Global 即全局代理,所有的连接不加判断都走代理;
  • Rule 即按规则走代理,这大概也是 Clash 最大的亮点,当然也更加进阶一些;
  • Direct 即直连,不走代理;
  • Script 也属于进阶操作,可以实现更加复杂的功能。

比较常用的是 Rule ,按规则走代理,也就是国内的网站没必要走代理,针对性的有需要的网站才走代理。

选择好代理节点后,还需要回到常规设置中开启系统代理,即打开 System Proxy ,没啥意外的话这就已经可以用了~

配置开机自启(我没试过,放这里做参考,如果有需要可以过来拿;CFW目前自带开机自启的功能,这个方法其实就没啥用了,你用 clash命令行版本可以用到)

​编辑

在配置开机启动之前,将配置文件移动到 /etc 目录:

sudo mv ~/.config/clash /etc

以后修改配置都记住修改 /etc/clash 目录下的这个配置文件。

然后使用 vi 增加 systemd 配置 sudo vi /etc/systemd/system/clash.service 放入如下内容:

[Unit]
Description=Clash Daemon
[Service]
ExecStart=/usr/local/bin/clash -d /etc/clash/
Restart=on-failure
[Install]
WantedBy=multi-user.target

启用 clash service:

sudo systemctl enable clash.service

手动启动 clash.service:

sudo systemctl start clash.service

可以使用 systemd 提供的 disable, stop 等等命令来管理。

如果要查看 Clash service 的日志可以使用:

journalctl -e -u clash.service

如果想要将日志单独记录到文件,可以使用 systemd 的 StandardOutputStandardError 将日志定向到文件中。这部分可以参考 systemd 的文档

# Works only in systemd v240 and newer!
StandardOutput=append:/var/log/clash/log.log
StandardError=append:/var/log/clash/error.log

clash命令行版linux

下载网址:https://github.com/Dreamacro/clash/releases

讲解安装过程的网站:

https://zhuanlan.zhihu.com/p/598337110

https://www.jb51.net/article/266270.htm

https://einverne.github.io/post/2021/03/linux-use-clash.html

我总结的安装步骤

# 解压缩
gunzip clash-linux-amd64-v0.18.0.gz
# 移动位置
# sudo mv clash-linux-amd64-v1.4.2 /opt/clash
2. 将clash-linux-amd64-v1.12.0文件重命名为clash
mv clash-linux-amd64-v1.12.0 clash
3. 在此目录下创建文件夹(注意这里用大写Clash只是为了和clash区别开)
mkdir Clash
4. 移动clash文件夹到Clash文件夹
mv clash ./Clash
5. 进入Clash文件夹
cd Clash
# 6. 下载clash 配置文件config.yaml (注意:这个订阅链接是自己的,替代 [订阅链接],如果失败了说明订阅链接有问题)
# 将后面那个链接存的文件下载下来,然后命名为config.yaml
wget -O config.yaml https://sub.fnf.xyz/link/O1hGrwLlmlX31jyx?clash=1
7. 下载Country.mmdb
wget -O Country.mmdb https://www.sub-speeder.com/client-download/Country.mmdb
注意:如果步骤7失败了也没关系,直接跳过这一步,后面也会自动下载。也可以在网址Country.mmdb下载。
8. 启动clash
CH注意:如果提示权限不足,先执行 chmod +x clash ,再执行 ./clash -d . 出现如下表示成功,并保持此终端打开
# 这里的话运行程序会报这个错,说TCP监听被占用,可以用下面的方式把监听占用解除
INFO[0000] Can't find MMDB, start download
FATA[0030] Initial configuration directory error: can't initial MMDB: can't download MMDB: Get "https://cdn.jsdelivr.net/gh/Dreamacro/maxmind-geoip@release/Country.mmdb": dial tcp 151.101.77.229:443: i/o timeout
(base) albert@minu:~/Downloads/Clash$ ./clash
ERRO[0000] External controller listen error: listen tcp 127.0.0.1:44619: bind: address already in use
WARN[0000] [CacheFile] can't open cache file: timeout
ERRO[0000] Start Mixed(http+socks) server error: listen tcp :7890: bind: address already in use
# 查询哪个进程占用了这个tcp监听端口
sudo lsof -i tcp: 127.0.0.1:44619、
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
clash 2160 albert 7u IPv4 36645 0t0 TCP localhost:44619 (LISTEN)
clash 2160 albert 18u IPv4 66510 0t0 TCP localhost:44619->localhost:42632 (ESTABLISHED)
clash 2160 albert 19u IPv4 66511 0t0 TCP localhost:44619->localhost:42634 (ESTABLISHED)
chrome 2324 albert 38u IPv4 70356 0t0 TCP localhost:42632->localhost:44619 (ESTABLISHED)
chrome 2324 albert 45u IPv4 70358 0t0 TCP localhost:42634->localhost:44619 (ESTABLISHED)
# 逐一杀死
sudo kill -9 你的PID

其他几个VPN网站

https://fnf.one/

https://board.gtk.pw/#/login

https://portal.wl-site3.com/#/register?code=nlyM4OSi

Clash for Windows官方文档

https://docs.cfw.lbyczf.com/contents/quickstart.html#%E5%90%AF%E5%8A%A8

https://clashforwindows.org/

--

--

van-der-Poel

Tech enthusiast. Share knowledge of computer science and psychology