Repolode
gomods

gomods/athens

一个开源、可自托管的 Go 模块代理与存储服务,实现 Go modules 下载协议并缓存依赖。

Star
4,820
Fork
553
未关闭 Issue
122
最近提交
5天前

这是什么?

Athens 是一个 Go 模块代理,实现了 Go modules 下载协议,让 go 命令从它那里获取依赖,而不是直接访问上游源。它同时充当数据存储,保存模块版本的副本,即使原始源不可用,构建也能继续进行。

Athens 可以按不同部署场景灵活配置,支持多种存储后端,包括云对象存储、MongoDB、CDN、共享磁盘和内存存储。团队可以自行部署 Athens 服务,并将本地 Go 开发环境指向该服务。

项目使用 Go 编写,采用 MIT 许可证,文档站点涵盖安装、存储配置和代理的设计说明。

核心功能

  • 01实现 Go modules 下载协议,可作为 go 命令的模块代理使用。
  • 02支持多种存储后端,包括云对象存储、MongoDB、共享磁盘和内存。
  • 03可部署在 CDN 之后分发模块下载。
  • 04保留模块副本,即使原始源消失,构建仍可正常进行。

适用场景

  • 为团队或公司部署共享的模块代理,加快 Go 构建速度。
  • 缓存 Go 依赖,在上游源不可用时仍能保证构建正常进行。
  • 统一管理内部 Go 开发环境可获取的模块版本。

快速上手

  1. 1

    阅读 docs.gomods.io 上的安装指南以部署 Athens 代理

  2. 2

    按照 DEVELOPMENT.md 搭建开发环境

使用前须知

  • README 没有提供一键安装命令,因此需要参照外部文档进行设置。
  • 自托管需要为代理配置存储后端。

标签

常见问题

athens 是什么?
一个开源、可自托管的 Go 模块代理与存储服务,实现 Go modules 下载协议并缓存依赖。 Athens 是一个 Go 模块代理,实现了 Go modules 下载协议,让 go 命令从它那里获取依赖,而不是直接访问上游源。它同时充当数据存储,保存模块版本的副本,即使原始源不可用,构建也能继续进行。
athens 可以免费使用吗?用的什么许可证?
athens 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
athens 还在维护吗?
活跃维护中。athens 最近一次提交是在 2026年11月2日。
athens 适合用来做什么?
为团队或公司部署共享的模块代理,加快 Go 构建速度。 缓存 Go 依赖,在上游源不可用时仍能保证构建正常进行。 统一管理内部 Go 开发环境可获取的模块版本。
athens 怎么安装和运行?
阅读 docs.gomods.io 上的安装指南以部署 Athens 代理 按照 DEVELOPMENT.md 搭建开发环境
在哪里获取 athens?
源代码和安装说明在 GitHub 上:https://github.com/gomods/athens

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目