还在为go get github.com/...卡死而烦恼么

ygqwan · · 14484 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

> 作为国内开发者,经常遇到一个问题,就是一片热血撞死在伟大的\*\*墙上,只能干着急,下面我们得想办法翻过这个\*\*墙,毕竟我们出去后只是为了干好事儿。 ## go get是怎么运行的 通常会使用http的方式去访问目的地址,然后下载下来。但是内部可能用使用git clone的方式去克隆,既然这样,我们解决办法就是让http和git clone都能同时走上代理,这样就能解决卡死的烦恼 ## 有一个http代理 > 假如已有 http代理是: http://localhost:8118/,后续我们就用这个地址去代理 如果没有http代理,只有socket5代理,需要看下面步骤进行转换 如果连socket5代理也没有,就需要先花钱买或者找一些免费的 ## socket5代理转成http代理(如果已经有http代理,可以忽略转换过程) > 如果我们手头只有socket5的代理, 但是go get只能用http方式代理,怎么办呢? 假设已有socket5代理: localhost:1080 希望有一个http代理: http://localhost:8118/ 那么我们就得想办法把socket5转成http代理,目前可以通过开源软件polipo实现,可以参考http://cattalker.blog128.fc2blog.us/blog-entry-6.html, 以window为例,linux的配置方式也一样 1. 下载http://dl.dropbox.com/u/1663058/Polipo.rar并解压到polipo 2. cd polipo 并修改polipo.conf proxyAddress = "127.0.0.1" proxyPort = 8118 #最终的http代理端口 #将socket5转成http socksParentProxy = "localhost:1080" #我们已有的socket代理 socksProxyType = socks5 3. 启动代理 polipo.exe -c polipo.conf ## 配置代理 >第一步. 配置go get 第二步. 配置git clone * 让go get用上http代理: * windows: go get前设置代理: 执行 `set http_proxy=http://localhost:8118/` `set https_proxy=http://localhost:8118`,然后go get就会走代理了 * linux: go get前设置代理: 执行 `export http_proxy=http://localhost:8118/`,`export https_proxy=http://localhost:8118/` 然后go get就会走代理了 * 让git clone用上socket5/http代理: * windows/linux: 1. 修改 $USER/.gitconfig 2. 添加配置项如下:当git clone的时候就会走代理了,当不需要代理的时候可以注释掉 ``` [https] proxy = http://localhost:8118 #注意没有引号 [http] proxy = http://localhost:8118 ```

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

14484 次点击  ∙  3 赞  
加入收藏 微博
3 回复  |  直到 2018-02-27 10:08:47
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传