命令行使用Proxy

极客

救命!命令行用Proxy真的好难?手把手带你绕过网络“隐形墙”!


哎,各位看官,先别急着划走!我知道,一提到“命令行”、“Proxy”这些词儿,脑子就开始嗡嗡作响,仿佛回到了被各种代码支配的恐惧里,实不相瞒,我昨天就栽了个大跟头,差点把键盘给砸了(理智拉住了我,毕竟键盘挺贵的),事情是这样的,我想在服务器上拉取个GitHub的代码,结果那速度,简直比蜗牛爬还慢,等得我花儿都谢了,后来问了大神才知道,原来是我压根儿没在命令行里把Proxy这玩意儿配置好!你说气不气?

我就把自己踩过的坑、流过的泪,总结成一篇掏心窝子的废话(啊不,是经验之谈),希望能给同样在命令行世界里摸爬滚打的你,点上一盏小小的明灯。

为啥命令行非要跟Proxy较劲?

咱们平常上网,浏览器里设个代理,那叫一个简单,点几下鼠标就行,但一转到命令行这个黑漆漆的“小黑屋”,感觉整个世界都变了,你把代理填在系统设置里?不好意思,很多命令行工具(curlwgetgit)根本不认账!它们就像是叛逆期的孩子,只认自己那一亩三分地里的环境变量。

这就像啥呢?你明明给家里大门换了把新锁(系统代理),但你的卧室门(命令行)还是用的旧锁,钥匙根本对不上!你得亲自去卧室门口,告诉它:“嘿,兄弟,以后从这把钥匙进。” 对,咱们要设置的就是 http_proxyhttps_proxy 这些环境变量。

实操:咱也当一回“配置员”

别慌,这操作不难,就几条命令的事儿,打开你的终端,神神叨叨地输入下面这行(记得把 你的代理IP端口 换成你自己的,别照抄啊,不然连不上可别怪我):

export http_proxy=http://你的代理IP:端口
export https_proxy=$http_proxy

输完这两句,你是不是觉得心里踏实了点?别急,这只是临时的,等你一关终端,它又打回原形了,真是“挥一挥衣袖,不带走一片云彩”,要想一劳永逸,咱得把它写进配置文件里,大多数人的 shell 用的都是 bash,那咱就编辑 ~/.bashrc 文件。

echo 'export http_proxy=http://你的代理IP:端口' >> ~/.bashrc
echo 'export https_proxy=$http_proxy' >> ~/.bashrc
source ~/.bashrc

看到 source 那条命令没?它就是让配置立刻生效的“魔法咒语”!执行完之后,你再试试 curl -I http://www.google.com 看看,是不是“唰”的一下就通了?那感觉,就像堵了很久的鼻子,突然通了气,爽!

进阶玩法:Git 的专属Proxy设置

哎,等等,你以为这就完了?太天真了!不同工具有不同的脾气。git,它有时候就不爱看环境变量的眼色,咱们得单独跟它“谈谈心”。

git config --global http.proxy http://你的代理IP:端口
git config --global https.proxy http://你的代理IP:端口

这两条命令一下,git 这家伙就老实了,以后你 git clone 或者 git push,那速度,简直可以用起飞来形容!再也不用对着“静默的等待”干瞪眼了。

绕过代理的“白名单”术

咱们访问内网服务器,或者某些特定地址,又不想走代理,那咋办?总不能把所有流量都绕一圈吧?聪明的小伙伴可能已经想到了——设置 no_proxy 环境变量!

export no_proxy=localhost,127.0.0.1,192.168.1.1

这句话的意思是:“这几家店我认识,不用走代购(代理),我直接自己去!” 这样一来,既享受了代理带来的高速,又保证了对内网的直连,两头都不耽误,美滋滋!


写在最后的小感慨

哎,说到这儿,我这心里真是感慨万千啊,配置Proxy这事儿,就像学骑自行车,没学会之前觉得难如登天,一旦学会了,那就是一辈子忘不了的本能,真心希望我今天的唠叨,能帮你少走几步弯路,如果你在配置过程中,还是觉得头大如斗,或者遇到什么奇奇怪怪的错误提示,别害羞,咱们可以一起探讨探讨,毕竟,高手都是从填坑开始练起的嘛!

命令行使用Proxy

哦对了!如果你对网络安全、渗透测试、或者这些“黑科技”怎么运作感兴趣,咱们可以私下交流,我整理了不少学习资料和心得,独乐乐不如众乐乐嘛!我的QQ是:123456789(这只是个例子,加的时候记得备注“命令行代理”哦!),咱们下期再见,拜拜您嘞!

文章版权声明:除非注明,否则均为咸鱼-即刻攻防原创文章,转载或复制请以超链接形式并注明出处。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码