PkgProxy
Install latest/stable of PkgProxy
Ubuntu 16.04 or later?
Make sure snap support is enabled in your Desktop store.
Details for PkgProxy
Package name
- pkgproxy
License
- Apache-2.0
Last updated
- 13 September 2026 - latest/stable
- 13 September 2026 - latest/edge
Websites
Contact
Source code
Command › Alias
Report a bug
External link warning
You are about to open
Do you wish to proceed?
Report a Snap Store violation
Report PkgProxy for a Snap Store violation
Snap Store Violation Report submitted successfully
Thank you for your report. Information you provided will help us investigate further.
Error submitting report
There was an error while sending your report. Please try again later.
Share this snap
Generate an embeddable card to be shared on external websites.
Caching proxy for apt archives, the snap store, and go modules
pkgproxy caches packages for apt, snapd, and go module clients, sharing one listener and one persistent cache.
For apt, traffic is proxied between clients and upstream Debian/Ubuntu-style package archives over plain HTTP. Pool package content is cached indefinitely; suite metadata (Release/InRelease/Packages/Sources), which archives republish regularly, is instead revalidated against the origin and the suite's own declared hashes, with a pkgproxyctl command to evict an entry immediately. Requests are normalized across equivalent mirrors, so that many mirror hosts serving the same archive collapse onto a single backing-store entry. Point apt at it with Acquire::http::Proxy (or the http_proxy environment variable) and keep your sources.list entries naming their real http:// mirrors. HTTPS-only apt sources still reach their real host through a blind CONNECT tunnel (port 443 only) rather than being cached.
For snapd, requests are relayed to the real snap store while .snap downloads and assertions are cached, content-addressed by sha3-384 with hash-verify-before-cache. Point snapd at it with SNAPPY_FORCE_API_URL.
For go modules, pkgproxy acts as a reverse-origin GOPROXY, chaining to an upstream module proxy (proxy.golang.org by default) on a cache miss. Point the go command at it by setting GOPROXY.
The proxy listens on port 3142 by default and keeps its cache in the snap's persistent data directory, so the cache survives updates. The service starts automatically and needs no further configuration on the snap side.
Run pkgproxy.pkgproxyctl setup apt, setup snap, or setup go for
copy-paste-ready instructions on pointing that client at pkgproxy, or
setup lxd to configure an LXD profile so containers route their apt,
snap, and go module traffic through it too. Run on a terminal for
human-friendly guidance, or pipe to sh for a one-liner that applies the
config directly, e.g. pkgproxy.pkgproxyctl setup apt | sh.
Run pkgproxy.pkgproxyctl stats to see what the cache is actually doing:
per-snap download/hit/revision counts and bandwidth saved, and the apt
pool files saving the most bandwidth.
| Revision | Channel | Version | Build | Commit | Download SBOM |
|---|
The build and commit information is derived from build infrastructure records.
Install PkgProxy on your Linux distribution
Choose your Linux distribution to get detailed installation instructions. If yours is not shown, get more details on the installing snapd documentation.