Ubuntu Server利用Clash实现git代理 - wuuconix's blog
背景
四月份vaala向我分享了它的小助手,利用的是clash。界面十分漂亮。这个暑假我也自己购买了国外的vps,实现了自己的节点。但是我能够使用代理一直都只是在Windows和Android,在github上你很容里能找到Clash For Windows和Clash For Android,但是如何在Linux上利用Clash实现代理呢?
另一方面,我在实验室主机上每次写完博客,试图git push的时候,都是卡的要死,都是看运气,也让我萌生了在Ubuntu Server实现代理的迫切愿望。
昨天花了一点时间终于实现了在Ubunutu Server【不是Desktop版,没有图形化界面,只有终端】实现git代理。
主要过程
首先吐槽一下作者的github wiki。明明是一个 優れました Chinese
,却不给个中文文档。这就算了,面向国际化,能够理解。但是文档也是写的神秘莫测,怕别人看懂似的,从头到尾没有介绍清楚一个完整的使用方法,而写了一堆奇怪的东西。
在Ubuntu Server上实现Clash代理,我们不可或缺的是一个网页版的客户端,因为没有可视化界面,那真是虚空代理了,都不知道自己到底代上没。
作者的github放出了许多release。但是我们一个也用不上,我们用最简单的docker实现代理。拉取以下两个镜像并分别生成容器。
docker pull dreamacro/clash
docker pull haishanh/yacd
docker run -d --name=clash -v "$PWD/config.yaml:/root/.config/clash/config.yaml" -p "7890:7890" -p "9090:9090" --restart=unless-stopped dreamacro/clash
docker run -p 1234:80 -d --name clash-dashboard haishanh/yacd
解释一下,dreamacro/clash是clash核心,里面运行着clash可执行文件。我们需要在它的容器里放一个config.yaml,即clash的配置文件,生成容器的时候我们和主机的$PWD/config.yaml
进行了绑定。 haishanh/yacd是clash dashboard,haishanh做的第三方网页客户端,比原版ui更加漂亮,虽然我都没有找到原本的dashboard在哪,作者写的文档太拉了。
这里要特别注意,我们的config.yaml里有两个项特别重要的配置。
这个external-controller
就是相当于额外的一个api,这个9090端口之后的dashboard会用到,而且需要设置为0.0.0.0,保证dashboard容器能够访问到。
然后这个allow-lan必须设置为true。allow-lan按我的理解就是看你局域网里的其他应用能不能访问你的7890端口,如果设置为false是无法实现代理的,所以要代理就得全程开着。
确保config.yaml没错并且运行完以上四个命令后,就可以进dashboard了,url就是的主机ip:1234
一开始会让你选择服务的ip和端口。
默认的http://127.0.0.1:9090
是不可能成功进去的,因为这个127.0.0.1代表的是dashboard的本地,而真正的clash服务是在令一个容器内,所以我们真正的地址应该是主机ip:9090
。一开始在这里卡了好久
然后就能进入图形化界面啦。
然后我们可以利用 curl -x
来检测代理是否成功,尝试利用代理访问谷歌。
curl -x http://127.0.0.1:7890 https://www.google.com.hk/
如果返回结果了,那么说明你的clash成功了!
那怎么给git设置代理呢?十分简单,只需要要终端中输入以下两条命令,之后的git push就不怕卡住啦!
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy https://127.0.0.1:7890
战术总结
这次终于是实现了Ubuntu Server里的代理,过程较为曲折,结果十分成功。
这里再打个广告,我的小助手更新了一个永久节点,但是由于内容比较敏感,所以文章加密了。迫切的同学可以联系我获取文章密码。延续无私奉献的黄金精神2333
相关文章
- Go 语言怎么处理三方接口返回数据?
- Colorblind Filters:帮助色盲用户的 GNOME 扩展
- 谈谈阻碍数据建模的五大借口
- 2023 年值得期待的11个新发行版
- 大数据世界中的新技术
- Windows 11 学院:如何在 Windows 11 Build 25281 上启用新版音量控件
- 「React 进阶」react-router v6 通关指南
- Neo4j宣布下一代图数据平台Neo4j 5上线
- 观远数据荣膺Gartner2022中国分析平台Cool Vendor
- 完整指南:使用 VirtualBox 在 Windows 上安装 Ubuntu
- 32 图 | 手摸手 Spring Cloud Gateway + JWT 实现登录认证
- 如何从边缘分析中推动业务价值
- EndeavourOS:你对完美的 Arch 发行版的搜寻到此为止
- 谈谈如何跨越数据架构的漩涡
- 在 Linux 上用 zram 替代传统交换空间
- 这才是真正的数据分析项目,而不是爬表
- Linux 中相对比较小众的命令:gunzip
- 程序员积累的编程知识十年后有多少变得没用?
- 文字间的战斗与其救世主 Unicode
- 简单的单例模式,Go版本的实现你写对了吗?