Usage

triple.isoimage.sbs · IPv4 147.45.39.32 · HTTP / HTTPS / rsync · AS209207, Frankfurt am Main · triple.isoimage.sbs

In every case the change is the same: replace the host your package manager uses by default with triple.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.

Endpoints

All paths are served over all three protocols on IPv4 and IPv6.
RepositoryHTTPS basersync moduleSize
Debianhttps://triple.isoimage.sbs/debian/triple.isoimage.sbs::debian2.10 TB
Debian CD/ISOhttps://triple.isoimage.sbs/debian-cd/triple.isoimage.sbs::debian-cd940 GB
Ubuntuhttps://triple.isoimage.sbs/ubuntu/triple.isoimage.sbs::ubuntu2.80 TB
Ubuntu releaseshttps://triple.isoimage.sbs/ubuntu-releases/triple.isoimage.sbs::ubuntu-releases620 GB
Alpine Linuxhttps://triple.isoimage.sbs/alpine/triple.isoimage.sbs::alpine78 GB
Arch Linuxhttps://triple.isoimage.sbs/archlinux/triple.isoimage.sbs::archlinux84 GB
Rocky Linuxhttps://triple.isoimage.sbs/rocky/triple.isoimage.sbs::rocky940 GB
OpenWrthttps://triple.isoimage.sbs/openwrt/triple.isoimage.sbs::openwrt1.10 TB
CPANhttps://triple.isoimage.sbs/cpan/triple.isoimage.sbs::cpan17 GB

Debian

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://triple.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://triple.isoimage.sbs/debian trixie main contrib non-free non-free-firmware
deb https://triple.isoimage.sbs/debian trixie-updates main contrib non-free non-free-firmware
deb https://triple.isoimage.sbs/debian trixie-backports main contrib non-free non-free-firmware
deb-src https://triple.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.

Ubuntu

On Ubuntu 24.04 and newer, edit /etc/apt/sources.list.d/ubuntu.sources:

Types: deb
URIs: https://triple.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://triple.isoimage.sbs/ubuntu jammy main restricted universe multiverse
deb https://triple.isoimage.sbs/ubuntu jammy-updates main restricted universe multiverse
deb https://triple.isoimage.sbs/ubuntu jammy-backports main restricted universe multiverse
deb https://triple.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.

Alpine Linux

Replace the contents of /etc/apk/repositories:

https://triple.isoimage.sbs/alpine/v3.24/main
https://triple.isoimage.sbs/alpine/v3.24/community

For a rolling installation, use edge instead:

https://triple.isoimage.sbs/alpine/edge/main
https://triple.isoimage.sbs/alpine/edge/community
https://triple.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://triple.isoimage.sbs/alpine/v3.24/main > /etc/apk/repositories. The boot images and the netboot trees are under /alpine/v3.24/releases/.

Arch Linux

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, Frankfurt am Main
Server = https://triple.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.

Rocky Linux

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://triple.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://triple.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.

OpenWrt

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://triple.isoimage.sbs/openwrt/releases/24.10.3/targets/x86/64/packages
src/gz openwrt_base https://triple.isoimage.sbs/openwrt/releases/24.10.3/packages/x86_64/base
src/gz openwrt_luci https://triple.isoimage.sbs/openwrt/releases/24.10.3/packages/x86_64/luci
src/gz openwrt_packages https://triple.isoimage.sbs/openwrt/releases/24.10.3/packages/x86_64/packages
src/gz openwrt_routing https://triple.isoimage.sbs/openwrt/releases/24.10.3/packages/x86_64/routing
src/gz openwrt_telephony https://triple.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://triple.isoimage.sbs/openwrt/releases/25.12.0/targets/x86/64/packages/packages.adb
https://triple.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.

CPAN

In the CPAN shell:

cpan> o conf urllist unshift https://triple.isoimage.sbs/cpan/
cpan> o conf commit

With cpanminus, per invocation:

cpanm --mirror https://triple.isoimage.sbs/cpan/ --mirror-only Some::Module

Or permanently, in ~/.cpanm/config or the environment:

PERL_CPANM_OPT="--mirror https://triple.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.

Installation images

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

rsync

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 triple.isoimage.sbs::
rsync -rlptH --safe-links --delete-after --bwlimit=50M \
      triple.isoimage.sbs::alpine/ /srv/mirror/alpine/

If you intend to run a downstream mirror of a large tree, write to triple.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.

Notes