go get 命令得到timeout错误的解决办法(翻墙办法!)

来源:互联网 发布:轻松学英语软件 编辑:程序博客网 时间:2024/06/08 02:47

折腾了半天时间,终于知道怎么使用go get 命令了。

具体的解决办法:

  1. 开启socks5代理(比如shadowsocks)
  2. 安装并启动polipo

    • mac下: 参考自这里

      1. brew install polipo2. vi /usr/local/opt/polipo/homebrew.mxcl.polipo.plist3. 在<array> 和 </array>之间添加一行:    <string>socksParentProxy=localhost:1080</string>4. 执行命令: ln -sfv /usr/local/opt/polipo/*.plist ~/Library/LaunchAgents 和    launchctl load ~/Library/LaunchAgents/
    • linux下: 参考这里

  3. 设置终端环境变量

    http_proxy=127.0.0.1:8123https_proxy=127.0.0.1:8123
  4. 设置git的代理

    git config --globle http.proxy 127.0.0.1:8123git config --globle https.proxy 127.0.0.1:8123

—–以上就是完整的解决办法,下面是我自己的一些思考,没兴趣的同学可以略过,有能力的大神可以来帮我解决下问题——


  1. shadowsocks的一些总结(个人所悟,如有错,请指出,谢谢!):

    • 使用socks5代理,貌似只使用了socks5协议的一部分,所以速度更快
    • 它是工作在传输层(tcp/udp等)和应用层之间,能转发(tcp/udp)之上的数据。
    • 由于它能转发udp,因此dns(基于udp实现,)查询也能绕过墙了,所以使用它能对让一些软件也翻墙,这是http代理所无法实现的。

    从这里我们可以得知其代理的方式是socks5代理的方式(关于socks的大概原理可以参考这里,
    代理相关的内容可以参考这里

  2. 到底为什么shadowsocks能代理浏览器却不能代理终端?难道它不是截取所有的tcp流量转发给代理吗?

0 0
原创粉丝点击