Public Repo

Free, synchronized HTTP/HTTPS mirrors for the open-source archives you run on your machines. Eighteen projects, IPv4 and IPv6, HTTP/2, no access logging, no charge.

TransportHTTP and HTTPS (HTTP/2)
NetworkIPv4 and IPv6
LoggingNone
Projects18 mirrored
Sync loopContinuous; ~100 s rest between passes
Cost$0

Quick Start

Pick your distribution. Replace the matching Server or deb line in your package manager, then refresh.

Arch Linux (pacman)

Add to the top of /etc/pacman.d/mirrorlist:

Server = https://public-repo.com/archlinux/$repo/os/$arch

Then refresh:

sudo pacman -Syyu
Arch Linux ARM (pacman)

Add to the top of /etc/pacman.d/mirrorlist:

Server = https://public-repo.com/archlinuxarm/$arch/$repo
Arch Linux 32 (pacman)

Add to the top of /etc/pacman.d/mirrorlist:

Server = https://public-repo.com/archlinux32/$arch/$repo
Ubuntu (apt)

Edit /etc/apt/sources.list (replace noble with your release codename):

deb https://public-repo.com/ubuntu/ noble main restricted universe multiverse
deb https://public-repo.com/ubuntu/ noble-updates main restricted universe multiverse
deb https://public-repo.com/ubuntu/ noble-security main restricted universe multiverse

ARM and other non-x86 architectures use ubuntu-ports/:

deb https://public-repo.com/ubuntu-ports/ noble main restricted universe multiverse

ISOs: browse ubuntu-cd/. End-of-life releases at ubuntu-archive/.

Debian (apt)

Edit /etc/apt/sources.list (replace bookworm with your release codename):

deb https://public-repo.com/debian/ bookworm main contrib non-free non-free-firmware
deb https://public-repo.com/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://public-repo.com/debian-security/ bookworm-security main contrib non-free non-free-firmware

ISOs: browse debian-cd/. Historical releases at debian-archive/.

Linux Mint (apt)

Edit /etc/apt/sources.list.d/official-package-repositories.list (replace virginia with your release codename):

deb https://public-repo.com/linuxmint-packages/ virginia main upstream import backport

ISOs: browse linuxmint-cd/.

Gentoo (portage)

For distfile downloads, edit /etc/portage/make.conf:

GENTOO_MIRRORS="https://public-repo.com/gentoo"

To sync the Portage tree via HTTP snapshot, edit /etc/portage/repos.conf/gentoo.conf:

[gentoo]
location = /var/db/repos/gentoo
sync-type = webrsync
auto-sync = yes

Run emerge-webrsync for the initial sync; subsequent syncs via emerge --sync.

EndeavourOS (pacman)

Add to the top of /etc/pacman.d/endeavouros-mirrorlist:

Server = https://public-repo.com/endeavouros/$repo/$arch
Raspberry Pi / Raspbian (apt)

Edit /etc/apt/sources.list (replace bookworm with your release codename):

deb https://public-repo.com/raspbian/ bookworm main contrib non-free rpi
Kali Linux (apt)

Edit /etc/apt/sources.list:

deb https://public-repo.com/kali/ kali-rolling main contrib non-free non-free-firmware

ISO and weekly live images: browse kali-images/.

Tails (live)

Tails is a live OS — there is no package manager to repoint. Download the ISO or USB image from tails/stable/ and verify it against the upstream signature before booting. The full tree is browseable at tails/.

CachyOS (pacman)

Add to the top of /etc/pacman.d/cachyos-mirrorlist:

Server = https://public-repo.com/cachyos/$repo/$arch
Chaotic-AUR (pacman)

After Chaotic-AUR setup, add this mirror to /etc/pacman.d/chaotic-mirrorlist:

Server = https://public-repo.com/aur.chaotic.cx/$repo/$arch
F-Droid

In the F-Droid app, go to Settings → Repositories → Add:

https://public-repo.com/fdroid-repo/

For the full archive (older versions), add:

https://public-repo.com/fdroid-archive/
LineageOS (OTA)

OTA zip images: browse lineageos/, navigate to your device codename, and select the build you want to flash.

Alpine Linux (apk)

Replace the contents of /etc/apk/repositories (replace v3.20 with your release):

https://public-repo.com/alpine/v3.20/main
https://public-repo.com/alpine/v3.20/community

Then run apk update.

Chimera Linux (apk)

Edit /etc/apk/repositories.d/00-repo-main.list (and any other enabled repo lists):

https://public-repo.com/chimera/current/main

Then run apk update.

FreeBSD (pkg)

Create /usr/local/etc/pkg/repos/public-repo.conf:

FreeBSD: { enabled: no }
public-repo: {
    url: "https://public-repo.com/freebsd/ports/${ABI}/latest",
    enabled: yes
}

Release ISOs and source snapshots: browse freebsd/.

Mirrored Projects

Everything is synchronized across all architectures and archives served here. Directory listings are enabled — browse any path directly.

ProjectPathsPackage managerMirror tier
Arch Linuxarchlinux/pacmanTier 2
Arch Linux ARMarchlinuxarm/pacmanTier 3
Arch Linux 32archlinux32/pacmanTier 3
Ubuntuubuntu/, ubuntu-ports/, ubuntu-cd/, ubuntu-archive/aptTier 3
Debiandebian/, debian-security/, debian-cd/, debian-archive/aptTier 3
LineageOSlineageos/OTATier 3
Linux Mintlinuxmint-cd/, linuxmint-packages/aptTier 3
Gentoogentoo/, gentoo-portage/portageTier 3
EndeavourOSendeavouros/pacmanTier 3
Raspberry Piraspbian/aptTier 3
Kali Linuxkali/, kali-images/aptTier 3
Tailstails/liveTier 3
CachyOScachyos/pacmanTier 3
Chaotic-AURaur.chaotic.cx/pacmanTier 3
F-Droidfdroid-repo/, fdroid-archive/fdroidTier 3
Alpine Linuxalpine/apkTier 3
Chimera Linuxchimera/apkTier 3
FreeBSDfreebsd/pkgTier 3

How to Use

The Quick Start section above lists configuration for each distribution. You can also browse each project directly — directory listings are enabled on every path.

Replace release codenames (noble, bookworm, virginia, v3.20, and so on) with the values for your installed release before applying any apt or apk lines.

Sync Schedule

Sync runs in a continuous loop with roughly 100 seconds of rest between full passes. Freshness is bounded by one pass plus that interval.

Sync is performed with rsync using -avhW, atomic --delay-updates --delete-delay, --safe-links, and an exclude list for upstream HTML, robots.txt, and favicons so this page is never overwritten.

Upstream rsync sources

ProjectUpstream
Debianrsync://ftp.de.debian.org/debian/
Debian CDrsync://cdimage.debian.org/debian-cd/
Debian Securityrsync://ftp.de.debian.org/debian-security/
Debian archiversync://rsync.archive.debian.org/debian-archive/
Ubuntursync://rsync.archive.ubuntu.com/ubuntu/
Ubuntu CDrsync://releases.ubuntu.com/releases/
Ubuntu Portsrsync://rsync.ports.ubuntu.com/ubuntu-ports/
Ubuntu archiversync://old-releases.ubuntu.com/old-releases/
Linux Mint CDpub.linuxmint.com::pub
Linux Mint packagesrsync-packages.linuxmint.com::packages
Raspbianrsync://archive.raspbian.org/archive/raspbian/
Kali Linuxrsync://mirrors.dotsrc.org/kali/
Kali imagesrsync://mirror.netcologne.de/kali-images/
Tailsrsync://mirrors.dotsrc.org/tails/
Arch Linuxrsync://mirrors.dotsrc.org/archlinux/
Arch Linux 32rsync://mirror.archlinux32.org/archlinux32/
Arch Linux ARMrsync://mirrors.dotsrc.org/archlinuxarm/
Chaotic-AURrsync://mirror.accum.se/mirror/aur.chaotic.cx/
CachyOSrsync://cachyos.doridian.net/cachyos/
EndeavourOSalpix.eu.rsync.endeavouros.com::endeavouros/
Gentoo Portagersync://mirrors.dotsrc.org/gentoo-portage/
Gentoo distfilesrsync://mirrors.dotsrc.org/gentoo/
Alpine Linuxrsync://rsync.alpinelinux.org/alpine/
Chimera Linuxrsync://repo.chimera-linux.org/chimera/
FreeBSDrsync://ftp.no.freebsd.org/FreeBSD/
F-Droid repoftp.lysator.liu.se::fdroid/repo/
F-Droid archiveftp.lysator.liu.se::fdroid/archive/
LineageOSrsync://mirror.accum.se/mirror/lineageos/

How fresh is it?

Most projects publish their own freshness files. For example: archlinux/lastsync (Unix timestamp), archlinux/lastupdate, debian/project/trace/, and ubuntu/project/trace/.

Verifying Downloads

This is a mirror — bytes only. Trust comes from each project's own signing infrastructure, not from us.

Arch and derivatives

pacman verifies package signatures by default. Keep the keyring current:

# refresh keyring
sudo pacman -Sy archlinux-keyring
sudo pacman-key --refresh-keys

Debian family

apt verifies Release.gpg / InRelease against keys in debian-archive-keyring or ubuntu-keyring. Never use --allow-unauthenticated to work around a verification failure — it almost certainly means the mirror is mid-sync.

ISO images

Each project publishes SHA256SUMS and a detached signature next to the ISOs. Verify both:

gpg --verify SHA256SUMS.gpg SHA256SUMS
sha256sum -c SHA256SUMS --ignore-missing

F-Droid

The F-Droid app pins each repository's index signing key on first add. All future updates are verified against that key automatically.

Mission

Public Repo exists to keep the free-software supply chain fast, private, and accessible to everyone — no signup, no tracking, no paywall. We mirror the projects people actually depend on, sync them continuously, and serve them over modern transports so that updating a Linux system never has to mean handing your download history to a third party.

The mirror is operated as a public good: hardware, bandwidth, and time are donated, the configuration is boring on purpose, and the privacy guarantees are structural rather than promised. Everything on this page — including the upstream sources, the sync method, and the operational stack — is documented so anyone can reproduce, audit, or take over the setup if they need to.

Privacy

We do not log individual download requests. No access data is stored, sold, or shared with third parties.

Features

Comparison

Public Repo is one of the stricter, no-log, fully public mirrors. Quick reference:

Public RepoOfficial project mirrorsCommercial CDNsOther public mirrors
Access loggingNoneUsually yesYesOften yes
HTTPS + HTTP/2YesVariesYesOften HTTP only
IPv6FullUsuallyYesHit or miss
Directory browsingYesVariesOften disabledSometimes
Cost$0 (public good)$0Paid$0
Transparent operatorYes (this page)Project-runCorporateVaries

Infrastructure

ComponentDetail
Operating systemFreeBSD
Web servernginx with HTTP/2
Sync toolrsync, looping in tmux, ~100 s rest between passes
FilesystemZFS with native encryption and snapshots
Method allow-listGET only — POST/PUT/DELETE denied at web tier
Hardening headersX-Content-Type-Options: nosniff, X-Frame-Options: DENY
Operator sessionNo shell history retained

Troubleshooting

"File has unexpected size" or hash mismatch on apt / pacman

Almost always a sync caught mid-flight. Wait a couple of minutes and re-run apt update or pacman -Syy. If it persists, switch to a different mirror temporarily and report it — there may be a stuck rsync process on our side.

404 on a package that exists upstream

The upstream just published it; this mirror has not finished pulling that pass yet. Try again after the next sync cycle, or fall back to the project's own server.

GPG or keyring errors

Refresh your keyring package (archlinux-keyring, debian-archive-keyring, ubuntu-keyring, and so on). Mirrors do not sign anything; signing keys come from the project itself.

Slow downloads

Check whether your client is using HTTP/2 — it is enabled here and usually beats HTTP/1.1 for the many-small-file workloads typical of package managers. If a single connection is slow, geographic distance or your ISP's transit are the most likely causes.

HTTP works but HTTPS fails

Check your system clock. TLS validates certificate validity dates; if your clock is off by months, validation fails. Pair a working NTP source — for example public-utc.com — and try again. If name resolution itself is unreliable, point your system at public-rdns.com for DNSSEC-validating recursion.

"Server certificate verification failed" from apt

Your ca-certificates package is too old to chain to the issuing root. Update it (apt update && apt install --reinstall ca-certificates); on systems too stale to upgrade, install the root CA bundle manually.

FAQ

Is this really free?

Yes. There is no charge, no sign-up, no API key. Donations via Bitcoin are appreciated but not required — see Contact.

Can I add this to a public mirrorlist?

For the projects where this mirror is officially listed (Arch Tier 2, others Tier 3), the project's own pool already includes it. Please do not hardcode public-repo.com in shipping consumer products without contacting us first — vendor-specific pools scale better.

Which protocols do you support?

Both HTTP and HTTPS are served on every endpoint. HTTPS is recommended — it prevents on-path tampering with package metadata (even though packages themselves are signed), and enables HTTP/2, which speeds up the many-small-file pattern of apt update and pacman -Sy.

Do you mirror sources, installer ISOs, and live media?

Yes — for the projects where the upstream rsync source includes them. See ubuntu-cd/, debian-cd/, and linuxmint-cd/.

Do you log my IP?

No. Download requests are not written to disk.

Can I request another distribution?

Email and ask. Constraints are disk space and upstream bandwidth — small and medium projects with a public rsync endpoint are easy to add.

Do you offer rsync access?

Not publicly. The mirror exists to serve end users via HTTPS. If you operate another mirror and need rsync, contact us.

What's the SLA?

Best-effort. The service is operated as a public good, not a paid product.

Acceptable Use

Managed Services

Beyond the public mirror, we offer managed private caches and mirrors for organisations that need their own controlled copy of one or more upstream archives — air-gapped labs, regulated environments, CI fleets, ISPs, universities, and anyone who wants the same operational model we run here, on their own infrastructure or hosted by us.

Typical engagements include:

For pricing and scoping, see Contact.

Sponsors

Public Repo is operated as a public good and runs on volunteer time, donated bandwidth, and out-of-pocket hardware. Sponsorships keep it that way — no ads, no tracking, no paywalled tiers.

Sponsors receive a logo and link on this page for the duration of the sponsorship, with no influence over editorial or operational decisions. If you need operational support, SLAs, or a dedicated mirror, see Managed Services instead.

Any contribution helps — there are no fixed amounts and no tiers. Sponsorships can be invoiced (EUR, SEPA / SWIFT) or paid in BTC. To set one up, see Contact.

No sponsors yet.

Other Projects

SiteService
public-consortium.comProject home and operations
public-adns.comPublic authoritative DNS service
public-rdns.comPublic recursive DNS service
public-blank.comPublic static / parking service
public-repo.comPublic mirror service (this site)
public-utc.comPublic NTP / NTS time service