README 未给出安装命令,需参考 docs.gomods.io 的安装文档;使用前需自行配置存储后端;需把本地 Go 环境指向 Athens 服务器才能生效
athens
gomodsMIT活跃维护Go 模块代理服务器,缓存并托管依赖包,让团队在构建时不必反复访问公网,提升拉取速度与稳定性。
A Go module datastore and proxy
README 里没有找到可直接复制的安装命令,请到 README 或官方文档查看安装方式。
README 未说明
自托管的 Go module 代理与数据存储,帮团队缓存依赖、加速构建并统一依赖来源
Go 模块代理服务器,缓存并托管依赖包,让团队在构建时不必反复访问公网,提升拉取速度与稳定性。
核心能力
- 实现 Go modules download protocol 的模块代理
- 支持多种存储后端:云对象存储、MongoDB、CDN、共享磁盘、内存
- 高度可配置,适配多种部署方式
- 可接入自有存储后端并让本地 Go 环境指向该代理
容易踩的坑
- v0.20.0最新正式版2026-10-22 · 2026-10-22 22:52 UTC
What's Changed
- feat: Proxy and cache Go toolchain downloads (go.dev/dl) under /dl/ by @benoit-nexthop in https://github.com/gomods/athens/pull/2164
- Support cached @latest in offline and fallback modes by @matt0x6F in https://github.com/gomods/athens/pull/2173
- update-go-pkg: bump Go to 1.26.9 and golang.org/x/net to v0.60.0 by @phoenixsbk in https://github.com/gomods/athens/pull/2176
- update-go-pkg: bump Go to 1.26.10 by @kinbiko in https://github.com/gomods/athens/pull/2178
New Contributors
- @benoit-nexthop made their first contribution in https://github.com/gomods/athens/pull/2164
Full Changelog: https://github.com/gomods/athens/compare/v0.19.0...v0.20.0
- v0.19.22026-10-01 · 2026-10-01 18:51 UTC
查看更新说明
A rerelease of https://github.com/gomods/athens/releases/tag/v0.19.0
- v0.19.12026-10-01 · 2026-10-01 18:36 UTC
查看更新说明
A rerelease of https://github.com/gomods/athens/releases/tag/v0.19.0
- v0.19.02026-10-01 · 2026-10-01 17:01 UTC
查看更新说明
What's Changed
- Add -verify-storage to purge checksum-mismatched modules from storage (#2145) by @matt0x6F in https://github.com/gomods/athens/pull/2146
- docs: updating config.dev.toml to state NetworkMode env override by @deweesevs in https://github.com/gomods/athens/pull/2150
- Add a Cache-Control config option for module file endpoints by @ChrisJr404 in https://github.com/gomods/athens/pull/2153
- feat: Add support for upstream trace headers as request ID by @captainp1an3t in https://github.com/gomods/athens/pull/2124
- chore(deps): bump google.golang.org/grpc from 1.81.1 to 1.83.1 by @dependabot[bot] in https://github.com/gomods/athens/pull/2155
- update-go-pkg(deps): bump go.opentelemetry.io/otel from 1.43.0 to 1.44.0 by @dependabot[bot] in https://github.com/gomods/athens/pull/2142
- update-github-action(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in https://github.com/gomods/athens/pull/2139
- update-github-action(deps): bump actions/deploy-pages from 4 to 5 by @dependabot[bot] in https://github.com/gomods/athens/pull/2140
- update-docker-image(deps): bump alpine from 3.23 to 3.24 in /cmd/proxy by @dependabot[bot] in https://github.com/gomods/athens/pull/2133
- update-go-pkg(deps): bump cloud.google.com/go/storage from 1.62.1 to 1.63.1 by @dependabot[bot] in https://github.com/gomods/athens/pull/2141
- Add configurable S3 server-side encryption by @matt0x6F in https://github.com/gomods/athens/pull/2169
- pkg/stash: add S3 singleflight lock backed by conditional writes by @royreznik in https://github.com/gomods/athens/pull/2162
- Omit the path prefix from upstream redirect URLs by @SulimanAbdulrazzaq in https://github.com/gomods/athens/pull/2170
- update-github-action(deps): bump actions/setup-go from 6 to 7 by @dependabot[bot] in https://github.com/gomods/athens/pull/2159
- update-github-action(deps): bump docker/metadata-action from 5 to 6 by @dependabot[bot] in https://github.com/gomods/athens/pull/2157
- chore(deps): bump google.golang.org/grpc from 1.83.1 to 1.83.2 by @dependabot[bot] in https://github.com/gomods/athens/pull/2161
- update-go-pkg(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.21.0 to 1.23.1 by @dependabot[bot] in https://github.com/gomods/athens/pull/2156
- chore(deps): bump go.opentelemetry.io/otel/sdk from 1.44.0 to 1.45.0 by @dependabot[bot] in https://github.com/gomods/athens/pull/2168
- chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace from 1.43.0 to 1.45.0 by @dependabot[bot] in https://github.com/gomods/athens/pull/2167
- chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.43.0 to 1.45.0 by @dependabot[bot] in https://github.com/gomods/athens/pull/2166
- update-go-pkg(deps): bump go.opentelemetry.io/otel/exporters/prometheus from 0.65.0 to 0.68.0 by @dependabot[bot] in https://github.com/gomods/athens/pull/2158
- Avoid upstream version lookups for download mode none by @matt0x6F in https://github.com/gomods/athens/pull/2171
New Contributors
- @deweesevs made their first contribution in https://github.com/gomods/athens/pull/2150
- @ChrisJr404 made their first contribution in https://github.com/gomods/athens/pull/2153
- @captainp1an3t made their first contribution in https://github.com/gomods/athens/pull/2124
- @royreznik made their first contribution in https://github.com/gomods/athens/pull/2162
- @SulimanAbdulrazzaq made their first contribution in https://github.com/gomods/athens/pull/2170
Full Changelog: https://github.com/gomods/athens/compare/v0.18.1...v0.19.0
- v0.18.12026-07-15 · 2026-07-15 18:34 UTC
查看更新说明
What's Changed
- chore(deps): bump golang.org/x/crypto from 0.51.0 to 0.52.0 by @dependabot[bot] in https://github.com/gomods/athens/pull/2148
- Revert in-process subprocess reaper, rely on tini by @matt0x6F in https://github.com/gomods/athens/pull/2137
- Replace OpenCensus with OpenTelemetry by @matt0x6F in https://github.com/gomods/athens/pull/2138
- update-github-action(deps): bump actions/upload-pages-artifact from 4 to 5 by @dependabot[bot] in https://github.com/gomods/athens/pull/2129
- update-github-action(deps): bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in https://github.com/gomods/athens/pull/2130
- update-go-pkg(deps): bump github.com/go-sql-driver/mysql from 1.9.3 to 1.10.0 by @dependabot[bot] in https://github.com/gomods/athens/pull/2132
- update-go-pkg(deps): bump go.mongodb.org/mongo-driver/v2 from 2.5.0 to 2.7.0 by @dependabot[bot] in https://github.com/gomods/athens/pull/2131
Full Changelog: https://github.com/gomods/athens/compare/v0.18.0...v0.18.1
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Welcome To Athens, Gophers!

Welcome to the Athens project! Athens is an open source, enterprise ready implementation of the Go Module proxy for the Go Modules download API.
See our documentation site https://docs.gomods.io for more details on the project.
We are looking for people who would like to become core maintainers of this project. Please see issue #1734 for more details.
Project Status
Development teams at several companies are using Athens in their everyday development workflows.
This means that they are running their own Athens servers, hooking them up to their own storage backends (see here for the list of storage backends that Athens supports), and configuring their local Go development environments to use that Athens server.
We encourage you to try it out, consider using it in your development workflow, and letting us know if you are using it by adding a comment to this GitHub issue.
More Details Please!
The proxy implements the Go modules download protocol.
Athens proxies are highly configurable, so they can work for lots of different deployments. For example, proxies support a wide variety of storage drivers including:
- Cloud blob storage services
- MongoDB
- Content distribution networks (CDNs)
- Shared disk
- In-memory
Development
See DEVELOPMENT.md for details on how to set up your development environment and start contributing code.
Speaking of contributing, read on!
Contributing
If you use Athens for your development workflow, we hope that you'll consider contributing back to the project. Athens is widely used and has plenty of interesting work to do, from technical challenges to technical documentation to release management. We have a wonderful community that we would love you to be a part of. Absolutely everyone is welcome.
The quickest way to get involved is by filing issues if you find bugs or find that you need Athens to do something it doesn't.
If you'd like to help us tackle some of the technical / code challenges and you're familiar with the GitHub contribution process, you'll probably be familiar with our process for contributions. You can optionally find or submit an issue, and then submit a pull request (PR) to fix that issue. See here for more of the project-specific details.
If you're not familiar with the standard GitHub contribution process, which Athens mostly follows, please see this section of our documentation to learn how to contribute. You can also take advantage of @bketelsen's great video on how to contribute code. The information in these documents and videos will help you not only with this project, but can also help you contribute to many other projects on GitHub.
If you decide to contribute but aren't sure what to work on, we have a well maintained list of good first issues that you should look at. If you find one that you would like to work on, please post a comment saying "I want to work on this", and then it's all yours to begin working on.
We do recommend that you choose one of the issues on the above list, but you may also consider a different one from our entire list. Many of the issues on that list are more complex and challenging.
Before you do start getting involved or contributing, we want to let you know that we follow a general philosophy in how we work together, and we'd really appreciate you getting familiar with it before you start.
It's not too long and it's ok for you to "skim" it (or even just read the first two sections :smile:), just as long as you understand the spirit of who we are and how we work.
Getting Involved Without Contributing Pull Requests or Issues
If you're not ready to contribute code yet, there are plenty of other great ways to get involved:
- Come talk to us in the
#athenschannel in the Gophers slack. We’re a really friendly group, so come say hi and join us! Ping me (@arschleson slack) in the channel and I’ll give you the lowdown - Get familiar with the technology. There's lots to read about. Here are some places to start:
- Gentle Introduction to the Project - the basics of why we started this project
- The Download Protocol - the core API that the proxy implements and the
goCLI uses to download packages - Proxy Design - what the proxy is and how it works
- Go modules wiki - context and details on how Go dependency management works in general
- "Go and Versioning" - long articles on Go dependency management details, internals, etc...
Built on the Shoulders of Giants
The Athens project would not be possible without the amazing projects it builds on. Please see SHOULDERS.md to see a list of them.
Coding Guidelines
We all strive to write nice and readable code which can be understood by every person of the team. To achieve that we follow principles described in Brian's talk Code like the Go team.
Code of Conduct
This project follows the Contributor Covenant (English version here) code of conduct.
If you have concerns, notice a code of conduct violation, or otherwise would like to talk about something
related to this code of conduct, please reach out @arschles on the Gophers Slack.
Athens banner attributed to Golda Manuel