In every case the change is the same: replace the host your package manager uses by
default with impersant.isoimage.sbs, keeping the path layout intact. Nothing
else changes. Keyrings, suite names and component names stay as the distribution
ships them, because the tree here is an exact copy of the upstream archive.
Back up the file you are about to edit. If this mirror is ever unreachable, reverting to the distribution default is all that is needed.
| Repository | HTTPS base | rsync module | Size |
|---|---|---|---|
| Debian | https://impersant.isoimage.sbs/debian/ | impersant.isoimage.sbs::debian | 2.10 TB |
| Debian CD/ISO | https://impersant.isoimage.sbs/debian-cd/ | impersant.isoimage.sbs::debian-cd | 940 GB |
| Ubuntu | https://impersant.isoimage.sbs/ubuntu/ | impersant.isoimage.sbs::ubuntu | 2.80 TB |
| Ubuntu releases | https://impersant.isoimage.sbs/ubuntu-releases/ | impersant.isoimage.sbs::ubuntu-releases | 620 GB |
| Alpine Linux | https://impersant.isoimage.sbs/alpine/ | impersant.isoimage.sbs::alpine | 78 GB |
| Arch Linux | https://impersant.isoimage.sbs/archlinux/ | impersant.isoimage.sbs::archlinux | 84 GB |
| Rocky Linux | https://impersant.isoimage.sbs/rocky/ | impersant.isoimage.sbs::rocky | 940 GB |
| OpenWrt | https://impersant.isoimage.sbs/openwrt/ | impersant.isoimage.sbs::openwrt | 1.10 TB |
| CPAN | https://impersant.isoimage.sbs/cpan/ | impersant.isoimage.sbs::cpan | 17 GB |
Since Debian 12 the recommended file is
/etc/apt/sources.list.d/debian.sources in deb822 format. Example for
trixie on amd64:
Types: deb deb-src URIs: https://impersant.isoimage.sbs/debian Suites: trixie trixie-updates trixie-backports Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
The one-line format in /etc/apt/sources.list works just as well:
deb https://impersant.isoimage.sbs/debian trixie main contrib non-free non-free-firmware deb https://impersant.isoimage.sbs/debian trixie-updates main contrib non-free non-free-firmware deb https://impersant.isoimage.sbs/debian trixie-backports main contrib non-free non-free-firmware deb-src https://impersant.isoimage.sbs/debian trixie main
Then:
apt update
We do not mirror the Debian security archive. Leave the
trixie-security entry pointing at security.debian.org, which
is a small, globally distributed service that should always be used directly. Old
releases are not carried either; archive.debian.org keeps those.
On Ubuntu 24.04 and newer, edit
/etc/apt/sources.list.d/ubuntu.sources:
Types: deb URIs: https://impersant.isoimage.sbs/ubuntu Suites: noble noble-updates noble-backports noble-security Components: main restricted universe multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
On 22.04 and older, the same thing in /etc/apt/sources.list:
deb https://impersant.isoimage.sbs/ubuntu jammy main restricted universe multiverse deb https://impersant.isoimage.sbs/ubuntu jammy-updates main restricted universe multiverse deb https://impersant.isoimage.sbs/ubuntu jammy-backports main restricted universe multiverse deb https://impersant.isoimage.sbs/ubuntu jammy-security main restricted universe multiverse
Unlike Debian, the Ubuntu security pocket lives inside the main
archive, so it is mirrored here and the -security suite can point at this
host. Only amd64 and i386 are carried; machines on arm64 or
riscv64 must keep using the ports archive.
Replace the contents of /etc/apk/repositories:
https://impersant.isoimage.sbs/alpine/v3.24/main https://impersant.isoimage.sbs/alpine/v3.24/community
For a rolling installation, use edge instead:
https://impersant.isoimage.sbs/alpine/edge/main https://impersant.isoimage.sbs/alpine/edge/community https://impersant.isoimage.sbs/alpine/edge/testing
Then:
apk update && apk upgrade
In a container image, write the file in the same layer as the
install step so that the mirror choice does not leak into derived images:
RUN echo https://impersant.isoimage.sbs/alpine/v3.24/main > /etc/apk/repositories.
The boot images and the netboot trees are under
/alpine/v3.24/releases/.
Put this line at the top of /etc/pacman.d/mirrorlist, above the entries
that are already there, so that pacman falls back to them if this host is down:
## Hexline Mirror, Tallinn Server = https://impersant.isoimage.sbs/archlinux/$repo/os/$arch
Refresh the databases, forcing a re-download after the mirror change:
pacman -Syyu
The tree carries core, extra and
multilib for x86_64, plus core-testing and
extra-testing. Installation images are under
/archlinux/iso/latest/. The sync runs every two hours; the timestamp of
the last pass is in /archlinux/lastsync.
In each file under /etc/yum.repos.d/, comment out the
mirrorlist line and add a baseurl. For
rocky.repo:
[baseos] name=Rocky Linux $releasever - BaseOS #mirrorlist= baseurl=https://impersant.isoimage.sbs/rocky/$releasever/BaseOS/$basearch/os/ gpgcheck=1 enabled=1 countme=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-$releasever [appstream] name=Rocky Linux $releasever - AppStream #mirrorlist= baseurl=https://impersant.isoimage.sbs/rocky/$releasever/AppStream/$basearch/os/ gpgcheck=1 enabled=1 countme=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-$releasever
Clear the metadata cache afterwards:
dnf clean all && dnf makecache
Releases 9 and 10 are mirrored in full, including
extras, crb, plus and the
kickstart trees; 8 is kept in /rocky/vault/ and is not
updated. Leave gpgcheck=1 set: the signatures are the Rocky ones and the
packages must verify against them exactly as they would upstream.
For releases that use opkg, edit /etc/opkg/distfeeds.conf and adjust
the version and target to match the device:
src/gz openwrt_core https://impersant.isoimage.sbs/openwrt/releases/24.10.3/targets/x86/64/packages src/gz openwrt_base https://impersant.isoimage.sbs/openwrt/releases/24.10.3/packages/x86_64/base src/gz openwrt_luci https://impersant.isoimage.sbs/openwrt/releases/24.10.3/packages/x86_64/luci src/gz openwrt_packages https://impersant.isoimage.sbs/openwrt/releases/24.10.3/packages/x86_64/packages src/gz openwrt_routing https://impersant.isoimage.sbs/openwrt/releases/24.10.3/packages/x86_64/routing src/gz openwrt_telephony https://impersant.isoimage.sbs/openwrt/releases/24.10.3/packages/x86_64/telephony
On newer releases and snapshots, which use apk, the same tree is configured in
/etc/apk/repositories.d/distfeeds.list:
https://impersant.isoimage.sbs/openwrt/releases/25.12.0/targets/x86/64/packages/packages.adb https://impersant.isoimage.sbs/openwrt/releases/25.12.0/packages/x86_64/base/packages.adb
Then update the package lists:
opkg update # or, on apk-based images: apk update
Firmware images, the image builder and the SDK archives are under
/openwrt/releases/; snapshots are under /openwrt/snapshots/.
Router flash is small, so check the sync status before an
upgrade: an out-of-date feed and a fresh sysupgrade image are a bad combination.
In the CPAN shell:
cpan> o conf urllist unshift https://impersant.isoimage.sbs/cpan/ cpan> o conf commit
With cpanminus, per invocation:
cpanm --mirror https://impersant.isoimage.sbs/cpan/ --mirror-only Some::Module
Or permanently, in ~/.cpanm/config or the environment:
PERL_CPANM_OPT="--mirror https://impersant.isoimage.sbs/cpan/ --mirror-only"
The tree is a full CPAN mirror including
authors/, modules/ and the index files; it is not a
BackPAN mirror, so distributions withdrawn by their authors are not kept.
ISO images are served directly, with byte ranges enabled, so a broken download can be resumed:
/debian-cd/current/amd64/iso-dvd/ /debian-cd/current/amd64/iso-cd/ /ubuntu-releases/24.04/ /alpine/v3.24/releases/x86_64/ /archlinux/iso/latest/ /rocky/10/isos/x86_64/
Always verify an image before writing it to a disk. The checksum files and their signatures are mirrored next to the images; verify the signature with the distribution key, then the image against the checksum file:
gpg --verify SHA256SUMS.sign SHA256SUMS sha256sum -c SHA256SUMS --ignore-missing
The rsync daemon is open to everyone, with 12 concurrent slots and a limit of 4 parallel streams per source address. Module names match the HTTP paths:
rsync impersant.isoimage.sbs::
rsync -rlptH --safe-links --delete-after --bwlimit=50M \
impersant.isoimage.sbs::alpine/ /srv/mirror/alpine/
If you intend to run a downstream mirror of a large tree, write to impersant.isoimage.sbs first with the source address. We will raise your slot limit and tell you a sync window that does not collide with our own upstream passes; see the policy on the About page.
If-Modified-Since and
ETag work as expected and apt will not re-download unchanged indices.