forked from public/mirror-checker
89 lines
4.9 KiB
Markdown
89 lines
4.9 KiB
Markdown
# Mirror Checker
|
|
|
|
This mirror status checker determines whether CSC mirror is up-to-date with upstream.
|
|
|
|
## How To Run
|
|
|
|
A configuration file may be provided through standard input. Without a configuration file, execute `python main.py`. By default, all the available distributions will be checked. With a configuration file, execute `python main.py < name_of_config_file.in`, for example, `python main.py < example.in`. In this case, only the distributions listed in the configuration file will be checked.
|
|
|
|
## Resources
|
|
|
|
- [CSC Mirror](http://mirror.csclub.uwaterloo.ca/)
|
|
- [Debian Mirror Status Checker](https://mirror-master.debian.org/status/mirror-status.html)
|
|
- [Debian Mirror Status Checker Code](https://salsa.debian.org/mirror-team/mirror/status)
|
|
|
|
if we can just view their repo online, we only have to remember the link for their repo and then check the latest timestamp in their repo the same way we check ours
|
|
|
|
even if the date relies on a specific file in their repo, we can still find the right link for it
|
|
|
|
to find repos of the mirrored projects to check, just search "projectName mirrors"
|
|
|
|
## checker information
|
|
|
|
not done:
|
|
NetBSD: http://ftp.netbsd.org/pub/NetBSD/ has public repo, no timestamp, web directory hard to loop through, no mirror tracker
|
|
opensuse: http://download.opensuse.org/ check Update.repo files in folders inside the update folder
|
|
puppylinux: https://distro.ibiblio.org/puppylinux/ check the ISO files in the folders starting with puppy
|
|
x.org: https://www.x.org/releases/ check all of the files under each directory under /x.org/individual/, and make sure that we have all of the files which the upstream has
|
|
|
|
done:
|
|
almalinux
|
|
alpine
|
|
apache
|
|
archlinux
|
|
centos
|
|
ceph
|
|
CPAN
|
|
CRAN: https://cran.r-project.org/mirmon_report.html has a mirror tracker
|
|
csclub: for now, this is the upstream itself, so it needs not to be checked
|
|
CTAN: https://www.ctan.org/mirrors/mirmon has a mirror tracker
|
|
Cygwin
|
|
damnsmalllinux: http://distro.ibiblio.org/damnsmall/ not checking this, since it's abandoned
|
|
debian
|
|
debian-backports: this is a legacy thing, no longer have to check
|
|
debian-cd
|
|
debian-multimedia
|
|
debian-ports
|
|
debian-security
|
|
debian-volatile: this is a legacy thing, no longer have to check
|
|
eclipse
|
|
emacsconf: for now, this is the upstream itself, so it needs not to be checked
|
|
fedora
|
|
freeBSD
|
|
gentoo-distfiles
|
|
gentoo-portage
|
|
gnome
|
|
GNU
|
|
gutenberg
|
|
ipfire
|
|
kde
|
|
kde-applicationdata
|
|
kernel
|
|
linuxmint: https://mirrors.edge.kernel.org/linuxmint/ candidate for brute force looping
|
|
linuxmint-packages: https://mirrors.edge.kernel.org/linuxmint-packages/ Checking the timestamp of either the Release file or the Packages file should suffice.
|
|
macPorts: only distfiles has public repo, no timestamp, too large to loop through, comparing ports.tar.gz in distfiles
|
|
manjaro
|
|
mxlinux
|
|
mxlinux-iso: this one seems out of sync on the official tracker for 134 days, which is weird
|
|
mysql: http://mirrors.sunsite.dk/mysql/
|
|
nongnu: http://download.savannah.nongnu.org/releases/ https://savannah.gnu.org/maintenance/Mirmon/ http://download.savannah.gnu.org/mirmon/savannah/
|
|
openbsd
|
|
parabola: https://repo.parabola.nu/ https://www.parabola.nu/mirrors/status/
|
|
pkgsrc
|
|
qtproject: https://download.qt.io/
|
|
racket: https://mirror.racket-lang.org/installers/ no public repo, no timestamp, no mirror status tracker make sure that we have the latest version number under racket-installers
|
|
raspberry pi: https://archive.raspberrypi.org/ Checking the timestamp of either the Release file or the Packages file should suffice.
|
|
raspbian: http://archive.raspbian.org/raspbian/ snapshotindex.txt is most likely a timestamp, tho i'm not sure. also i think our mirror is completely outdated, it's not listed on official mirror list
|
|
sagemath: same source tarballs as them (the sage-*.tar.gz files under 'Source Code')
|
|
salt stack: checking the "Latest release" text under the 'About' header
|
|
scientific: https://scientificlinux.org/downloads/sl-mirrors/ not checking this one since it's abandoned
|
|
slackware: https://mirrors.slackware.com/mirrorlist/ https://mirrors.slackware.com/slackware/ checking using the last updated date here, don't know if it's entirely accurate
|
|
tdf: https://download.documentfoundation.org/
|
|
trisquel: https://trisquel.info/mirmon/index.html out of date website!? please recheck this!!!
|
|
ubuntu: https://launchpad.net/ubuntu/+mirror/mirror.csclub.uwaterloo.ca-archive
|
|
ubuntu-ports: http://ports.ubuntu.com/ubuntu-ports/ checks the file anonster.canonical.com, which appears to be a timestamp (check it to make sure!!!)
|
|
ubuntu-ports-releases: https://cdimage.ubuntu.com/releases/ has public repo, no timestamp, no status tracker, brute force looped it
|
|
ubuntu-releases: https://releases.ubuntu.com/
|
|
vlc: http://download.videolan.org/pub/videolan/
|
|
Xiph: https://ftp.osuosl.org/pub/xiph/releases/ loop through each directory in xiph/releases/ and trying to compare the timestamp of the checksum files
|
|
xubuntu-releases: https://cdimage.ubuntu.com/xubuntu/releases/ candidate for brute force looping since it has few folders |