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

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

博客已经迁移到这里啦

具体的解决办法:

  1. 开启socks5代理(比如shadowsocks)

  2. 安装并启动polipo

    • mac下: 参考自这里

        1. brew install polipo
        2. vi /usr/local/opt/polipo/homebrew.mxcl.polipo.plist
        3. 在<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:8123
     https_proxy=127.0.0.1:8123
    
  4. 设置git的代理

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

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


  1. shadowsocks的一些总结(个人所悟,如有错,请指出,谢谢!):
    • 使用socks5代理,貌似只使用了socks5协议的一部分,所以速度更快
    • 它是工作在传输层(tcp/udp等)和应用层之间,能转发(tcp/udp)之上的数据。
    • 由于它能转发udp,因此dns(基于udp实现,)查询也能绕过墙了,所以使用它能对让一些软件也FQ,这是http代理所无法实现的。

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

  1. 到底为什么shadowsocks能代理浏览器却不能代理终端?难道它不是截取所有的tcp流量转发给代理吗?
posted @ 2016-03-18 14:28  boydfd  阅读(119)  评论(0编辑  收藏  举报