Linux Linux中安装Clash并且实现全局代理(纯命令行)
本人服务器为腾讯云CentOS 7.x,代理软件为Clash(需自己准备订阅地址) 选择Clash版本 https://github.com/Dreamacro/clash/releases 接着右键选择复制链接 此处提供两种方式,以下方式任选其一即可 小技巧:使用tab键可快速填充文件名 [root@VM-0-14-centos clash]# gunzip clash-linux-amd64-v1.13.0.gz注意一下,可能你看这篇教程的时候下载的不是1.13.0版本的clash,所以请注意你自己的文件名字,DG游戏文件名称错误是无法解压的,文件名字在你下载完成后,是会显示的 2023-02-16 19:39:52 (26.7 KB/s) - ‘clash-linux-amd64-v1.13.0.gz’ saved [3772162/3772162]单引号标注的就是文件名,或者也可以使用命令ls来查看当前目录下面有哪些文件。 接着给予解压出来的文件可执行的权限(774) [root@VM-0-14-centos clash]# chmod +x clash-linux-amd64-v1.13.0 小技巧:白色代表其他文件,不可执行;绿色则是可执行的文件;此外还有: 文件名有点长,改个名字吧,改成程序名字 + 版本号 [root@VM-0-14-centos clash]# mv clash-linux-amd64-v1.13.0 clash-v1.13.0下面开始运行 [root@VM-0-14-centos clash]# ./clash-v1.13.0第一行是运行clash,记得要在文件名前面加上./才行 第二行是clash的提示,说“没有配置文件,欧博注册已为您创建完成”,但是文件是空的,无法使用 第三行也是,说“没有找到MMDB文件,开始下载”,但是会下载失败 下面我们先开始解决这两个问题 解决config.yaml和MMDB问题 config.yaml问题config.yaml为clash的代理规则和clash的一些其他设置。代理规则不需要我们自己编写,通过订阅地址直接下载即可 此处将订阅链接粘贴进双引号中间。注意不要删除双引号,不要删除空格 wget -O ~/.config/clash/config.yaml "订阅链接"小技巧:~用来代表当前用户的名称,若是使用root登录的,欧博代理则代表root。所以这个命令实际上就是 至此config.yaml搞定 MMDB问题 Country.mmdb为全球IP库,可以实现各个国家的IP信息解析和地理定位,没有这个文件clash是无法运行的。 至此,MMDB下载完成 正式启动Clash 到此,clash就可以正常运行了 由于我的订阅地址有10条规则,所以会有10条Start initial compatible provider xxxx Mixed(http+socks) proxy listening at: 127.0.0.1:7890则代表已经开启了http(含https)和socks代理,只要服务器内有软件流量通过7890这个端口,欧博官网流量都将进入clash从而被代理。(但有些不支持设置,后面会说如何使用全局代理) RESTful API listening at: [::]:9090代表clash已经开启了ui控制面板,是的,Linux的clash有。 关闭clash:按下键盘上的Ctrl + C clash后台运行如果按照上面的方法运行clash的话,一旦我们关闭了终端,那么clash也会一并关闭。所以我们需要设置一下后台运行clash 注意,这个就是编辑器,这个编辑器对小白很不友好。请不要乱按按键,请跟着步骤走 先按下键盘上的字母i键,进入编辑模式 当左下角变为INSERT则代表当前是编辑模式 键盘上下左右可以控制光标移动 将以下代码输入进编辑器 [Unit] Description=Clash service After=network.target [Service] Type=simple User=root ExecStart=这里写你的clash运行的绝对路径(本文中的路径是/usr/local/clash/clash-v1.13.0) Restart=on-failure RestartPreventExitStatus=23 [Install] WantedBy=multi-user.target 输入完成后按下键盘ESC键 接着是直接输入:wq代表保存并且退出,然后按下回车。 编辑器就会回到原来界面,可以使用cat命令来查看一下内容是否正确 确认内容无误后,就可以开始启动clash服务 [root@VM-0-14-centos clash]# systemctl start clash 然后可以查看一下是否正常 [root@VM-0-14-centos clash]# systemctl status clash确保下面的 Active 为 active(running) 即正常。 systemctl status clash 查看clash服务 根据我们之前前台运行可得知,默认是监控了自己的7890端口 那么现在,使用curl来向谷歌发送一个请求看能否正常返回数据 [root@VM-0-14-centos ~]# curl --proxy 127.0.0.1:7890 Google成功返回数据,代表7890端口代理正常,clash运行正常 使用全局代理 设置全局代理需要在/etc/profile文件最后添加几行代码 先按下键盘上的字母i键,进入编辑模式 除了http和https之外,还可代理其他,可根据下图酌情添加(本人未尝试过) 输入完成后按下键盘ESC键 接着是直接输入:wq代表保存并且退出,然后按下回车。 [root@VM-0-14-centos ~]# vim /etc/profile [root@VM-0-14-centos ~]# cat一下看是否保存 [root@VM-0-14-centos ~]# cat /etc/profile已成功保存。 应用一下profile文件,重启一下clash服务 [root@VM-0-14-centos ~]# source /etc/profile [root@VM-0-14-centos ~]# systemctl restart clash 直接curl测试google [root@VM-0-14-centos ~]# curl成功返回,全局代理设置成功~ 番外 clash的UI控制界面 使用ui控制界面需要设置控制界面的html等文件;设置好访问的IP和端口、设置好密钥、设置好html文件路径 下载UI控制界面文件进入我们的config.yaml所在的文件夹,使用wget命令下载UI文件 [root@VM-0-14-centos ~]# cd ~/.config/clash [root@VM-0-14-centos clash]# wget https://github.com/haishanh/yacd/releases/download/v0.3.7/yacd.tar.xz使用tar命令解压出文件 [root@VM-0-14-centos clash]# tar xvJf yacd.tar.xz 解压完成可以看一下,根目录下多出了public文件夹,改个名字,改为ui 依然是使用vim打开clash的config.yaml配置文件 vim编辑器的使用请参见,此处不过多赘述 [root@VM-0-14-centos ~]# vim ~/.config/clash/config.yaml确保你的配置文件有以下三个 external-controller: 0.0.0.0:9090 secret: "123qwe" external-ui: "ui"external-controller代表外部访问地址,此处意思为允许所有人从9090端口访问(当然需要) secret访问密钥,不设置密钥的话任何人都可以访问,较为危险 external-uiui文件的路径,由于此处config.yaml文件和ui文件夹在同一目录下,所以只需文件夹名称即可 填写完成后,:wq保存 重启完成,但此时还不能访问UI控制面板,因为端口还未打开 服务器商打开端口 以腾讯云举例,登录腾讯云控制台点击云服务器进入 左侧点击安全组,进入 新建一个安全组 全部默认,直接确定 选择新建的安全组,修改规则 入站规则中,添加一个规则 依照图示添加 最后我们再将此安全组的规则应用到服务器 选择运行clash的服务器,点击确定 应用完成后,再自己电脑浏览器打开一下网址: 你自己服务器ip:9090/ui API Base URL为你自己服务器ip:9090 Secret(optional)为config.yaml中设置的secret 填写后即可登录 访问进来后,在Config里面的Language可以修改中文 在Config里面修改的东西不会保存,只会在本次运行起作用。Clash重启后即会恢复为config.yaml中设置的数据。如果需要修改一直有效,请直接在config.yaml中修改,然后重启即可。 在代理里面可以看得见不同规则所选择的代理服务器不同,可以根据需要修改 完结撒花 文章导航 宝塔 Docker使用Clash (责任编辑:) |