· Charlie · 工程技术 · 4 分钟阅读

Iterm2 proxy

Iterm2 proxy

Iterm2 proxy

Iterm2 设置代理

Mac用户大多对Iterm2都不陌生,颜值不错,用起来也顺手,但是大家肯定也都遇到过这样的场景:

  • 更新的时候,被墙了
  • 无法使用Git命令从Github上clone代码

我自己搭了个梯子,从Chrome上访问Github是没有问题,如何能够让Iterm2中的Git命令也可以访问外网呢? 如果Iterm2支持代理就好了,直接把配个代理服务器,但是Iterm2本身并不支持代理设置

我本地安装了Shadowsocks,打开『偏好设置』可以看到socks5和http代理分别监听了1086和1080端口,如果把Iterm2中的请求转发到这些端口上,是不是就可以满足我们想要的功能呢?

为了验证代理是否成功,先测试一下IP地址,在Iterm中输入:

curl ip.sb

此时返回的是目前机器的IP地址,可以去搜索一下IP所在地。

接下来打开Shadowsocks,在Iterm中输入如下内容:

alias proxy_http='export http_proxy=http://127.0.0.1:1080;export https_proxy=http://127.0.0.1:1080;'
alias unproxy_http='unset http_proxy https_proxy'

alias proxy_s5='export ALL_PROXY=socks5://127.0.0.1:1086'
alias unproxy_s5='unset ALL_PROXY'

alias是给命令设置别名的,我们分别设置了四个别名:

  • proxy_http:开启http代理
  • unproxy_http: 关闭http代理
  • proxy_s5:开启socks5代理
  • unproxy_s5: 关闭socks5代理

注意,此时不要关闭Iterm的当前窗口,在iterm当前窗口中输入开启http和socks代理指令,然后再次测试IP是否发生变化:

root@ proxy_http
root@ proxy_s5
root@ curl ip.sb

如果此时IP发生了变化,拿着变化后的IP去浏览器中查一下IP所在地,就可以判断出Iterm的代理是否设置成功了。

由于上面的四个alias只存在于当前session中,关闭了当前窗口,指令就失效了,为了避免下次再次重复输入,可以把这些指令写入.bashrc文件中:

vi ~/.bashrc
## 使用vi输入上面的内容
source ~/.bashrc

扩展:让手机可以访问外网

既然Iterm2可以通过代理的方式实现访问外网,手机是否可以呢? 答案是肯定的:在电脑上开启shadowsocks,开启http的代理监听(这里需要将监听地址改为电脑所在的机器的IP),然后在手机上,将网络代理到电脑上,这样手机就可以访问Google等网站了。


热门文章:

Share:
返回文章列表
领域驱动设计
工程技术

领域驱动设计

复杂软件设计的解决方案 DDD是Domain-Driven Design(领域驱动设计)的简称,它是一种解决复杂软件设计的方法论,它试图分离技术实现的复杂性,并围绕业务概念构建的领域模型,以解决软件难以理解,难以演进的问…

什么是CAP定理
工程技术

什么是CAP定理

什么是CAP定理? CAP定理告诉我们,一个分布式系统不可能同时满足一致性(C:Consistency),可用性(A: Availability)和分区容错性(P:Partition tolerance)这三个基本需求,…