【保姆级教程】Linux(树莓派)用代理上网并配置web界面
本文最后更新于:2022年11月4日 下午
本文记录了国内的Linux系统如何用Clash代理上网,并配置web界面,来方便切换节点,查看连接和日志。
项目地址
Clash GitHub地址为:https://github.com/Dreamacro/clash/releases
常用的web界面有yacd和razord。本文讲了三种配置clash UI web界面的方法。
- razord: 可以自建,~~也可以用本站的 - http://clash.pawswrite.xyz/ ~~
- yacd GitHub 项目地址: https://github.com/haishanh/yacd
安装Clash
树莓派是 ARM
架构的卡片电脑。请用 arch
或 uname -m
命令查看你的架构。(树莓派3/4/400的cpu虽然是64位,但可能官方装的系统是32位的),例如:
1 |
|
然后找到服务器下载对应的版本,树莓派3/4一般32位的就是armv7
,64位就是armv8
(arch
命令显示aarch64
)。
一般的服务器,64位的都是clash-linux-amd64
版本。国内服务器一般无法从GitHub下载clash,本站提供了下载链接。
本文写于2022/5/30,所提供的下载链接截至目前都是最新版本
arch 结果 | 架构 | GitHub链接 | 本站链接(点击下载或右键复制下载链接) |
---|---|---|---|
x86 | i386 | clash-linux-386-v1.10.6.gz | clash-linux-386-v1.10.6.gz |
x86_64 | amd64 | clash-linux-amd64-v1.10.6.gz | clash-linux-amd64-v1.10.6.gz |
armv5 | clash-linux-armv5-v1.10.6.gz | clash-linux-armv5-v1.10.6.gz | |
armv6 | clash-linux-armv6-v1.10.6.gz | clash-linux-armv6-v1.10.6.gz | |
armv7l | armv7 | clash-linux-armv7-v1.10.6.gz | clash-linux-armv7-v1.10.6.gz |
aarch64 | armv8 | clash-linux-armv8-v1.10.6.gz | clash-linux-armv8-v1.10.6.gz |
通过本站链接下载clash:
把第二条命令最后的 clash-linux-armv8-v1.10.6.gz 换成你需要的版本
1 |
|
其他查看系统架构的命令:
1.uname -a
2.cat /proc/cpuinfo
3.getconf LONG_BIT
4.file /bin/bash
5.cat /proc/version
6.dpkg --print-architecture
配置文件
clash
默认配置文件放在 /root/.config/clash
目录下,需要两个文件,config.yaml
、Country.mmdb
。
config.yml
是你的配置文件。但可能有的人并不喜欢把配置文件放在/root/.config/clash
目录。也可以另外放。在运行的时候使用/root/clash/clash -f 配置文件名 -d 配置文件路径
Country.mmdb
是一个设计用于存储IPv4和IPv6的数据信息的数据库,mmdb文件是一个二进制格式的文件,它使用一个二分查找树加速IP信息的查询。clash
分流的时候会用到,直接运行clash
的话,他会从GitHub上下载,如果你是国内的话,下载链接是 https://cdn.jsdelivr.net/gh/Dreamacro/maxmind-geoip@release/Country.mmdb ,原项目地址是:https://github.com/Dreamacro/maxmind-geoip/releases ,但前几天cdn.jsdelivr.net
刚被墙,所以不管是原来的项目地址还是国内并下不下来。
下载Country.mmdb
将 Country.zip 文件下载到/root/.config
文件夹中
1 |
|
如果采用其他链接下载【可能会被墙】:
1 |
|
点击下载👉Country.mmdb
下载配置文件
这个就得找你的机场了。自行从机场下载相对应的配置文件config.yaml
。这里推荐作者朋友用的机场 GLaDOS,盲猜机场老板是游戏传送门的粉丝,刚好我也很喜欢这个游戏。它提供了Linux版本的clash配置文件。
注册GLaDOS(注册地址在 https://github.com/glados-network/GLaDOS 实时更新), 并输入邀请码:
N3CMR-9H4SV-RE0Z6-LE1RZ
激活
请使用下面命令下载配置文件:
1 |
|
如果你的机场不提供clash的配置文件,可以用本站的订阅转换地址进行订阅转换(不要使用短链接):
如果订阅下载不下来,可以浏览器打开,然后复制所有的订阅信息,再回到服务器或者树莓派,新建文件粘贴进去,注意粘贴之前要删空:
1 |
|
启动Clash
现在就可以直接启动clash了:
1 |
|
如果出现类似下面的信息,就是启动成功:
1 |
|
日志提示已经开放了HTTP代理服务端口为7890, SOCK55服务端口为7891。后面设置其他程序(浏览器/GIT等)通过7890/7891来代理访问网络就可以了。
检查是否启动成功,还可以开一个新的ssh session或者terminal,在新终端中输入curl localhost:9090
并回车,出现下面信息则是成功:
1 |
|
这个时候就可以使用 clash
,只是需要另开一个terminal。
如果想要配置 clash.service
来实现开机自启动,进行进程维护,以及配置web UI面板来管理Clash,在下面的章节有提到。
使用clash代理
例如 Git:
新开一个Terminal:
1
git clone https://github.com/twbs/bootstrap.git --config "http.proxy=127.0.0.1:7890"
clash 打印如下日志说明clash完成了工作
INFO[0007] [TCP] 127.0.0.1:54875 --> github.com:443 match DomainKeyword(github) using Proxy
例如 NPM:
1
2
3npm config set proxy http://127.0.0.1:7890
npm install pm2 -g
npm config delete proxy #取消代理设置通过设置Shell的环境变量, 例如 APT/CURL:
1
2
3
4
5
6
7
8export https_proxy="socks5://127.0.0.1:7891"
export http_proxy="http://127.0.0.1:7890"
apt update
apt install wget
export http_proxy="" #取消代理设置
export http_proxy="127.0.0.1:7890"
curl https://ifconfig.me
export http_proxy="" #取消代理设置SSH 通过代理连接服务器, 例如:
ubuntu 下编辑 ~/.ssh/config 文件:
1
2
3Host 1.1.1.1
User root
ProxyCommand /usr/bin/nc -X5 -x 127.0.0.1:7891 %h %p连接服务器
1
ssh [email protected]
桌面型Linux(如Ubuntu 22.04)
请打开设置-网络-设置网络代理为SOCK5, 地址为 127.0.0.1, 端口为7891.
注意: ping 并不是 TCP 应用,因此无法使用Clash的HTTP/SOCK5代理。
【进阶】ProxyChains
个人认为ProxyChains是Linux上最好用的代理工具。配合Clash使用非常方便,具体可看另一篇文章:
https://pawswrite.xyz/2022/05/31/ProxyChains/
测试网络
看看能不能上谷歌:
1 |
|
新开一个terminal,并输入:
1 |
|
若能ping通则能正常翻墙,如果不能的话,检查机场订阅有没有过期,配置文件还能不能用。
进阶:管理Clash【可选】
service守护进程,配置开机自启
不希望Clash专门占用一个terminal,希望关闭对话以后依然在后台运行,如果出错了自动重启,并实现开机重启。那么就可以照本章节来做。
输入以下指令创建clash.service文件
1 |
|
双击打开clash.service文件,粘贴以下内容:
1 |
|
然后设置clash开机自启动:
1 |
|
查看状态:
1 |
|
UI面板
第1种选择的razord面板是最简单最方便的,并且可以和第2种选择里的yacd面板共存,第二种是yacd面板,较简单,第三种是自建razord面板。但是2、3种只能选一个,第2、3种面板都需要修改配置文件。但第1种用的是别人建的razord面板,不需要修改配置。
【第1种选择】本站面板(最方便)
浏览器输入:
填入ip地址和端口。
注意如果连不上的话要用http而不是https。
关于Host:
- 如果你是用桌面版Linux,就在Linux系统中的浏览器打开这个网址,输入127.0.0.1就可。
- 如果你是用服务器,就输入公网IP
- 如果你是用openwrt或者树莓派或者其他server版系统,没有公网IP,那就输入
ifconfig
,查看本机ip,然后在用同一个局域网下(比如说连到同一个WiFi)的其他设备下用浏览器打开,并且输入刚刚得到的ip
关于端口:端口就是启动Clash以后打印的RESTful API listening at: [::]:9090
这里的端口号,(默认9090)
关于密码:没有修改过配置文件的话一般留空。如果连不上就去配置文件查看,看开头是否有 secret
这一项。
【第2种选择】自建yacd面板
yacd 项目地址:
https://github.com/haishanh/yacd/releases
首先,下载最新版yacd。
推荐:
1 |
|
备选:
点击下载👉yacd,下载到本地后再拖动上传到/root/.config/clash目录解压
【第3种选择】自建razord面板
dashboard项目地址:
https://github.com/Dreamacro/clash-dashboard/tags
从本站直接下载v0.3.0版本:
1 |
|
修改配置文件
自建yacd界面和razord界面都需要在配置文件里修改后才能使用,但是用别人的不需要
编辑配置文件:
1 |
|
在配置文件开头加入下面几行:
如果配置文件已经有这几行就不用加了,比如GLaDOS提供的Linux版本配置文件就已经自带了
1 |
|
记住自己配置的口令,后面会用上
重启clash
1 |
|
在浏览器中输入 http://你的ip:9090/ui/
进行访问。如果有公网IP就填公网IP,可以在外网进行访问还可以配置Nginx进行反代。
关于Host:
- 如果你是用桌面版Linux,就在Linux系统中的浏览器打开这个网址,输入127.0.0.1就可。
- 如果你是用服务器,就输入公网IP
- 如果你是用openwrt或者树莓派或者其他server版系统,没有公网IP,那就输入
ifconfig
,查看本机ip,然后在用同一个局域网下(比如说连到同一个WiFi)的其他设备下用浏览器打开,并且输入刚刚得到的ip
关于端口:端口就是启动Clash以后打印的RESTful API listening at: [::]:9090
这里的端口号,也就是配置文件里设置的external-controller
(默认9090)
关于密码:去配置文件查看,看填入secret后面的内容,比如yourpassword