mirrorrequest
mirrorrequest copied to clipboard
请求增加go语言镜像代理服务
上游源(官方镜像)的地址
https://proxy.golang.org
该项目的介绍
go 1.11以后可以通过配置GOPROXY环境变量启用镜像下载所需的开源库文件,提升下载效率
为什么希望添加该镜像
Golang并没有官方统一的全局镜像站,目前大多数开源都托管在Github之上。然而还有很多优秀开源库都是放在自有Git仓库上。常用的比如:
- k8s.io
- google.golang.org
- golang.org/x
- go.etcd.io
- go.uber.org
加上Github本身在中国大陆网络下访问也不算稳定,国内Go语言开发者众多,急需一个相对稳定且安全的镜像源。
已知镜像站
- https://goproxy.cn (CDN,有国内、国外节点)
- https://mirrors.aliyun.com/goproxy/ (CDN,有国内、国外节点)
- https://athens.azurefd.net (CDN,无国内节点)
- https://gocenter.io
- https://goproxy.io
- https://goproxy.baidu.com/
镜像实现
- https://github.com/gomods/athens 2.5K Star 可以直接Docker/K8S部署
- https://github.com/goproxyio/goproxy 1.9K Star
- https://github.com/goproxy/goproxy.cn 500 Star
相关Issue
- #234
Edit by admin: 补充已知镜像
此外还有另一个项目 https://docs.gomods.io https://github.com/gomods/athens https://athens.azurefd.net
以前相关的讨论 https://groups.google.com/forum/#!topic/ustc_lug/oZMj4-Ov9w4
~补上一个链接 https://goproxy.cn 似乎是官方支持,速度也可以,目前看来需要镜像跟代理的需求不是很大~ 编辑一下goproxy.cn不是官方的
goproxy.cn 是个人的,proxy.golang.org 是官方的。
关于 proxy.golang.org 中国无法访问的讨论 https://github.com/golang/go/issues/31755
关注, 国内 golang get 经常因为依赖 golang.org 而撞墙。
补上一个链接 https://goproxy.cn 似乎是官方支持,速度也可以,目前看来需要镜像跟代理的需求不是很大
并不是官方的!
今天看了下 proxy.golang.org,发现国内有些地方是可以访问的。
http://tool.chinaz.com/speedtest/https://proxy.golang.org
碰巧看到了这个 issue,那我就说一下。
我们目前正在争取使 goproxy.cn 成为 Go 在中国的官方模块代理,而且我上周五我已经和七牛云那边儿完成了交接和数据迁移,包括域名我也已经过户给了他们并由他们进行了备案。现在 goproxy.cn 完全跑在七牛云平台上,且经过 CDN 进行了全球加速,经实际测试它和官方的 proxy.golang.org 访问速度不相上下(不只是在中国)。而且我这几天还在和七牛云的员工一起为 goproxy.cn 做高可用,所以如果你们愿意的话,它完全够资格成为你们的上游。
@aofei https://goproxy.cn 和 https://goproxy.io 功能上有什么不同吗? https://goproxy.io 在国内是可以访问的, 速度也还不错, 并且支持 https://sum.golang.org. 为什么想再造一个轮子呢?
你好 @pihao,是这样,首先 goproxy.cn 也是支持代理 sum.golang.org 的。
然后为什么做 goproxy.cn,有这么几点原因:
-
我发起 goproxy.cn 时并不知道 goproxy.io 的存在,之所以选 ".cn" 这个域名后缀是因为我觉得这个东西基本只在中国需要有第二个版本,在其他地方用 proxy.golang.org 会让人感觉更加“应该如此”不是吗?所以我才没有查 ".io" 这个后缀有没有被注册过。之所以 goproxy.cn 做的是 CDN 全球加速,是因为我考虑到大家有可能经常在比如 VPN 这种场景下工作,或者偶尔出国旅游啥的,这样做全球加速的话就可以保证大家一直在一个高速 GOPROXY 下工作了
-
自一开始我就有意把 goproxy.cn 捐献出去作为一个企业支持的项目,这个意愿现在已完成,严格意义上这个项目已经属于七牛云而不是我了
-
而那个 goproxy.io 是个跑在个人服务器上的个人项目,没有做负载均衡也没有做 CDN 之类的,所以速度和稳定性都是没有保障的
-
我们现在想争取把 goproxy.cn 推为 Go 在中国的官方模块代理
-
除了 goproxy.cn 之外还有它基于的 goproxy/goproxy 这个项目的存在,后者是为了公司团队以及个人搭建 Go 模块代理而研发的比 Athens 更轻量级的一个项目,所以同时在维护这两个项目而不只是 goproxy.cn 这一个
所以并不存在“造轮子”只说,因为这两个针对的群体不一样,io 那个可能更多的是想发展 goproxyio/goproxy 这个项目本身吧,所以他的那个 app goproxy.io 更像是那个项目的一个 demo 之类的。
还有什么不理解的欢迎提问!😊
@aofei 原来如此。支持!
对 USTC Mirrors 来说,镜像所有的 Go modules 可能无法实现,因为存储空间比较有限。之前我希望可以只镜像部分,比如 golang.org/x/*
、k8s.io/*
,刚才看 Athens 的文档,已经支持代理部分 modules 的功能。
另外,我刚才更新了下一楼的描述,补充了已有的镜像列表,以及是否有 CDN。
@zhsj goproxy.cn 也是全球 CDN 哦 😄
@aofei 对了,如何知道 https://goproxy.io 是跑在单机上的?
@pihao 最简单的办法,你可以使用像是 tools.ipip.net/newping.php 这种工具来在全球范围发现目标域名的 IP,如果发现无论在哪儿都是指向同一个 IP 的话就可以初步判定为单机了。接着在做考虑,比如谷歌云这种是允许只用一个 IP 就实现 CDN 加速和负载均衡的(我的个人网站 aofeisheng.com 就是的),所以你还可以看一下刚才的测试结果中目标域名在不同地方的响应时间大概呈现出什么样子,如果具有很明显地偏向某一片区域,那么那个域名所对应的服务器很大可能就是只在那一片区域存在。至于是不是集群,你可以给他来个压力测试。
还有,如果你还有其他问题的话我觉得你还是加一下我的 Telegram 吧(t.me/aofeisheng),咱们总在这个 issue 下讨论可能不大好。😄
@aofei 如果是双主 F5 轮询, 那只有在一个主挂掉的情况下, 才会使用另一个主. 也就是说在正常情况下, 确实只能看到一个IP, 但这并不能说明 https://goproxy.io/ 是跑在单机上(无高可用). 如果仅凭这点得出的结论就有些武断了, 会让不了解的同学对 https://goproxy.io/ 产生误解, 有失公允.
@pihao 嗯嗯,在理,而且我刚才发现他换了服务器,速度比之前只在国外的时候要快。
已更新我最开始的说法!🤓