Mirrors

page best viewed on a PC, will not be optimising this page for mobile

Welcome!

Welcome to the homepage for my mirror service.
Currently three servers make up the service. Sathonyia (repo.c48.uk) is the primary server, Oswald (uk.repo.c48.uk) is another UK node for capacity, and Melina (de.repo.c48.uk) is a German node.

tf is a mirror?

A mirror is a copy of some files, usually for an open-source project, that is kept up-to-date with the original copy.
Mirrors are used to distribute the files to users, and are throughout the world, so with enough mirrors there should always be a local copy near you.
They also reduce the load on the original server, and are pretty much always volunteer operations, which spreads the cost too.
This service is privately funded by me (and costs about ~£20/month to keep running), but the vast majority of mirrors are hosted by hosting companies and universities. I'm just an exception because I felt like it and I thought it was a cool project idea (it was, btw, and I use the servers for a few other things as well now).
I also accept donations now since I'd like to expand the service.
It's also nice because I get to contribute to projects that I use (for example, I actually use my own Arch mirror pretty much daily).


Projects mirrored

Name Directory Sync source (upstream only1) Sync frequency Size Available on
Arch Linux /arch/ rsync.archlinux.org::ftp_tier12 Hourly ~125GB all mirrors
EndeavourOS /endeavouros/ mirror.alpix.eu::endeavouros Hourly ~80GB repo.c48.uk and de.repo.c48.uk
Linux Mint (ISOs) /mint/isos/ pub.linuxmint.com::pub Every 6 hours ~125GB repo.c48.uk and de.repo.c48.uk
Linux Mint (Packages) /mint/pkgs/ rsync-packages.linuxmint.com::packages Every 4 hours ~45GB repo.c48.uk and de.repo.c48.uk

Mirror stats

Sathonyia (repo.c48.uk) Oswald (uk.repo.c48.uk) Melina (de.repo.c48.uk)

Servers

Sathonyia and Melina are Contabo Storage VPS 1 instances. Their specs are as follows:

When Oswald was created, this package was not available anymore, so I went with a Storage VPS 10. The differences are that there is only 300GB of storage, however RAM was bumped to 4GB.
All servers support IPv6 as well as IPv4.

rsync

rsync is the tool used to sync mirrors and is usually required by projects. Most of my mirrors are also available publicly on rsync:

$ rsync repo.c48.uk::
                          ____ ___        __
  _______ ___  ___   ____/ / /( _ ) __ __/ /__
 / __/ -_) _ \/ _ \_/ __/_  _/ _  |/ // /  '_/
/_/  \__/ .__/\___(_)__/ /_/ \___(_)_,_/_/\_\
       /_/
---------------------------------------------
-                                           -
-          Welcome to repo.c48.uk!          -
-                                           -
-  The EyeScary Development Mirror Service  -
-                                           -
---------------------------------------------

This server is a Contabo Storage VPS 1, with a
200mbps internet connection and 800GB of space.

The rsync modules are mintiso, mintpkg, arch,
and endeavouros.

Due to the bandwidth of this mirror, please do
not use this for private mirrors, but you may
use it for other public mirrors.

!! DO NOT ABUSE !!

mintiso         Linux Mint ISOs
mintpkg         Linux Mint Packages
arch            Archlinux
endeavouros     EndeavourOS
            
I recommend you sync from the closest mirror to you, and if you're syncing arch in the UK sync from uk.repo.c48.uk as it has more available capacity.
Additionally, please use rsync -rltpH --delete-delay --delay-updates --safe-links as minimum rsync options. This is what is required by Arch and will prevent user issues with your mirrors. If you are testing yourself, you may want to add -vn and --progress to perform a dry run and get greater insight into what would happen on sync.

Privacy Policy

The mirror servers do not log any personal data except for standard web server logs (IP address, user agent, date/time of access, requested resource, referrer). These logs are stored in the default location on the servers (/var/log/nginx/) and are cleaned out occassionally to save space. No data is shared with any third parties, and no cookies are used on the servers.
An example log entry looks like this:

2a02::feed:dead:beef:cafe - - [21/Dec/2025:17:51:51 +0000] "GET /endeavouros/repo/endeavouros/x86_64/yay-12.5.7-1-x86_64.pkg.tar.zst.sig HTTP/2.0" 200 143 "-" "pacman/7.1.0 (Linux x86_64) libalpm/16.0.1" "-"
            
These are only really used for my own curiosity and to see how much traffic the mirrors are getting and from where.

Other infrastructure

The whole of the c48.uk domain is now running under self-hosted DNS. Oswald runs the primary server, Amber (hosted with DeluxHost in the Netherlands) r uns the secondary, and ns-global is also used for redundancy and speed. ns-global runs BIND, so I went with NSD for my servers for code diversity. Traffic often exceeds 500,000 DNS queries per day, and often coincides with traffic spikes on mirrors and new releases (especially for EndeavourOS for some reason - if there's a new EndeavourOS release, DNS queries jump by 100,000 per day for a bit).

$ dig c48.uk soa @ns1.c48.uk

; <<>> DiG 9.18.39 <<>> c48.uk soa @ns1.c48.uk
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37463
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 4
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;c48.uk.                                IN      SOA

;; ANSWER SECTION:
c48.uk.                 300     IN      SOA     ns1.c48.uk. wilbur.c48.uk. 2026040800 5400 3600 1209600 300

;; AUTHORITY SECTION:
c48.uk.                 43200   IN      NS      ns1.c48.uk.
c48.uk.                 43200   IN      NS      ns2.c48.uk.
c48.uk.                 43200   IN      NS      ns-global.kjsl.com.

;; ADDITIONAL SECTION:
ns1.c48.uk.             43200   IN      AAAA    2a02:c204:2271:3493::1
ns1.c48.uk.             43200   IN      A       94.72.106.80
ns2.c48.uk.             43200   IN      AAAA    2a12:bec4:1df0:16a::a
ns2.c48.uk.             43200   IN      A       96.62.250.150

;; Query time: 16 msec
;; SERVER: 2a02:c204:2271:3493::1#53(ns1.c48.uk) (UDP)
;; WHEN: Wed Apr 08 20:05:15 UTC 2026
;; MSG SIZE  rcvd: 206
            

The registrar I use is Netim, as they have no age requirement and are based in the EU (France). This (combined with the .uk domain) means that the service is mostly independent of infrastructure outside of Europe. ns-global has its backend in California, however due to its anycast setup and the fact that it is run by two very cool individuals I am not too concerned about it. Transit (for Contabo) is provided via Arelion (AS1299), Aptum (AS13768), and Lumen (AS3356). Arelion is Swedish, Aptum is Canadian, and Lumen is American, so this is the other point where non-EU infrastructure is used. I'm sure nominet (.uk registry) has some US infrastructure as well but I don't know much about it and it's not really a concern for me.

The entire stack supports IPv6 all the way down (of course), which can be verified here where this domain gets a perfect 11/11 score.


FAQs

Q: Why are there two locations? Surely one would allow you to better service that region?
A: Yeah so funny story I was actually just going to get a server in Germany from Hetzner and use that to host my website, assets.c48.uk, etc, and deliberately get less storage to stop myself from inevitably turning it into another mirror service. Then Hetzner wouldn't let me have an account because I was under 18, so instead I rented another Contabo server, and, well...

Q: Why are you using Contabo?
A: Two reasons, I'll start with price. They're reliable enough and while some stuff breaks (like VNC goes down a lot for some reason for me), for the storage and bandwidth I'm getting, it's a very good deal. The other reason is that you don't have to be over 18 according to their ToS, so I can actually use it (lmao).

Any more questions? Send me a message and I'll try to get back to you as fast as possible.


Donations

If you'd like to support the service (all money will go to this service), then for the moment I just accept crypto. If you'd like something else ask me, crypto was just easiest to set up.
0xc29982954d1C5a0bCf70a26ad7e5139cf4C2fc30 (ethereum, polygon, optimism, arbitrum, etc; polygon greatly preferred)
LXHoNDk98bX5CiNkxYxxKxhGDuVV1DyfCj (litecoin)
1Ke9w6aGoN1uqGe3fE5XmW7jGwYLNZp18U (bitcoin)
46VkFDJSGQPG5Mp2y4RpXm45XVgA2EGzn1G2FDCFqdWpCzNbEt89pMGSxYZkwepFZjTewV9U6ZQDkgxRrtzQtTtxG4ccxaA (monero)
ask me if you'd like anything else


Notes

[1]Sometimes mirrors sync from each other instead of all from one upstream. Currently this is the case with Arch Linux and Linux Mint: mint on de.repo.c48.uk syncs from repo.c48.uk, and arch on de.repo.c48.uk syncs from uk.repo.c48.uk.

[2]Arch Linux mirrors are split into two tiers, tier 1 and tier 2. My mirror is considered tier 1, and is therefore allowed to sync from tier 0 (rsync.archlinux.org). Tier 2 mirrors sync off of tier 1s, if you want to mirror off of me see rsync.