Install latest/stable of PkgProxy

Ubuntu 16.04 or later?

Make sure snap support is enabled in your Desktop store.


Install using the command line

sudo snap install pkgproxy

Don't have snapd? Get set up for snaps.

Channel Version Published

Details for PkgProxy

Package name

  • pkgproxy

License

  • Apache-2.0

Last updated

  • Today - latest/stable
  • Today - latest/edge

Websites


Contact


Source code


Report a bug


Report a Snap Store violation

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, and everything fetched is cached indefinitely. 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 Published Build Commit

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.


Where people are using PkgProxy