Golang Go语言中自建免费go modules代理
Golang Go语言中自建免费go modules代理
github 地址: https://github.com/whtiehack/goproxy
用 goproxy 自建 go modules 代理,部署到 heroku
- 点击下面这个按钮(或者先 fork 再点,这样可以自己修改部署脚本)
用 goproxy 在 heroku 自建 go modules 代理。
App name 是一个唯一的 app 名字
Choose a region 有美国和欧洲可以选。个人认为美国的速度还不错。会在 region 里随机分配一个节点给你,有的节点很快,有的比较慢。不过还是会比 goproxy.io 之类的快。
点 Create app ,等一会就部署完成了。
- 现在你就可以使用你自建的 go modules 代理了。
linux:
export GOPROXY=https://youappname.herokuapp.com
windows:
$env:GOPROXY = "https://youappname.herokuapp.com"
- Now, when you build and run your applications, go will fetch dependencies via
https://youappname.herokuapp.com
.
Note: This proxy can't fetch your private repos of course.
youappname
是你 Crate New App 时的 App name
- 直接打开你申请的链接应该是显示空白。
可以用这个链接测试一下: https://youappname.herokuapp.com/github.com/nsqio/nsq/[@v](/user/v)/list
-
heroku 部署的 app,在一段时间内没有流量会被冻结。然后有人访问的时候就才会再次启动。(所以第一次打开会比较慢,启动好了就快了)
-
提供一个懒人用测试地址,多人用不能保证速度,而且每个月是有限额的(一个人单独用完全足够)。所以还是建议自己 fork 自己建立一个 app。https://goproxyus.herokuapp.com
额外的功能
- 可以用这个代理下载仓库
-
https://goproxyus.herokuapp.com/github.com/whtiehack/goproxy/[@latest](/user/latest)
-
latest 有个问题,不会再次去拿最新代码。
或者你知道明确版本的放可以构造 url 直接下载 : https://goproxyus.herokuapp.com/github.com/node-pinus/pinus/[@v](/user/v)/v1.3.10.zip
- 被缓存下来的数据可以打开 https://goproxyus.herokuapp.com 直接浏览并下载。
更多关于Golang Go语言中自建免费go modules代理的实战教程也可以访问 https://www.itying.com/category-94-b0.html
今天在 windows 试着编译 caddy(golang),感觉我不配,哈哈哈
更多关于Golang Go语言中自建免费go modules代理的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
意思是刚接触 go ?我也刚接触。。都找小项目研究来着。。
在Go语言中,自建一个免费的Go Modules代理是一个既实用又具有挑战性的任务。Go Modules是Go语言自1.11版本引入的依赖管理工具,极大地简化了依赖管理和版本控制。而自建代理则能帮助你在私有网络或特定环境下更好地管理这些依赖。
首先,你需要明确自建代理的目的,比如是为了在私有网络中加速依赖下载,还是为了对依赖进行审查和安全扫描。
接下来,你可以考虑使用现有的开源项目来搭建代理,比如Athens Proxy。Athens Proxy是一个流行的开源Go Modules代理,它提供了基本的代理功能,并且易于部署和扩展。
在部署时,你需要确保代理服务器能够访问到公网的Go Modules镜像,以便能够代理下载依赖。同时,你还需要配置Go语言的环境变量,将自建代理的地址设置为GOPROXY的一个值。
此外,自建代理还需要考虑安全性和稳定性。你需要确保代理服务器有足够的安全措施,比如HTTPS加密、身份验证等,以防止恶意攻击。同时,你还需要监控代理服务器的运行状态,及时发现并解决潜在的问题。
总的来说,自建免费的Go Modules代理是一个可行的方案,但需要你有一定的技术实力和运维经验。如果你对这些方面不太熟悉,建议先了解和学习相关的知识和技术,或者考虑使用商业化的Go Modules代理服务。