Software Mirrors
Matthew W. Thomas Software MirrorsI maintain a few public repository mirrors for free software projects that I make frequent use of. This mirror was previously sponsored by Fastly CDN. However, due to its unanticipated popularity, the mirror is now hosted behind a Cloudflare pro plan. All of the files are hosted on a pair of servers near Newark. The mirror supports both IPv4 and IPv6 as well as http and https. Each of the four servers has a 10Gb/s connection.
Contact me if you have other projects that you’d like to see mirrored. You can help maintain the financial sustainability of the project by making a tax deductible donation. Anything you can pitch in helps keep the service up and running. Public contributors will get a shout out on this page.
The following software is hosted here:
TeX/CTAN
I have an official registered CTAN mirror for downloading LaTeX. The mirror is updated every 12 hours and can be accessed using https://mirror.mwt.me/ctan/. The mirror can be selected in TeXLive, MikTeX, MacTeX, and others.
Termux
Termux is a terminal emulator and Linux environment for Android. I have an official registered repository which is updated every 6 hours and contains all Termux packages. The repository can be selected by running apt edit-sources
in Termux and adding one or more of the following lines to your configuration.
Repository | sources.list entry |
---|---|
Main | deb https://mirror.mwt.me/termux/main stable main |
Root | deb https://mirror.mwt.me/termux/root root stable |
X11 | deb https://mirror.mwt.me/termux/x11 x11 main |
More instructions can be found on the Termux wiki.
Zotero
I have a mirror of the Debian/Ubuntu repository for the Zotero citation manager. My mirror uses the same original signature as the developer. The mirror url is https://mirror.mwt.me/zotero/deb/. You can install this by running the following script:
curl -sL https://raw.githubusercontent.com/retorquere/zotero-deb/master/install.sh | sudo bash /dev/stdin "https://mirror.mwt.me/zotero/deb"
Alternatively, you can do the steps manually by first installing the GPG key:
sudo wget -O /usr/share/keyrings/zotero-archive-keyring.gpg "https://raw.githubusercontent.com/retorquere/zotero-deb/master/zotero-archive-keyring.gpg"
and then adding the necessary source file:
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/zotero-archive-keyring.gpg by-hash=force] https://mirror.mwt.me/zotero/deb/ ./" > /etc/apt/sources.list.d/zotero.list'
To install, run sudo apt install zotero
.
GitHub Desktop
There is an unofficial Linux version of the official GitHub Desktop client. This is the primary official mirror for the project. You can use this script to quickly set up the repository:
wget -qO- "https://mirror.mwt.me/shiftkey-desktop/install.sh" | sudo -s
More detailed manual instructions are below.
Debian/Ubuntu: First install our GPG certificate:
sudo mkdir -p /etc/apt/keyrings && wget -qO - https://mirror.mwt.me/shiftkey-desktop/gpgkey | gpg --dearmor | sudo tee /etc/apt/keyrings/mwt-desktop.gpg > /dev/null
To setup the package repository, run:
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/mwt-desktop.gpg] https://mirror.mwt.me/shiftkey-desktop/deb/ any main" | sudo tee /etc/apt/sources.list.d/mwt-desktop.list
Then install GitHub Desktop:
sudo apt update && sudo apt install github-desktop
Red Hat/CentOS/Fedora distributions: First install our GPG certificate:
sudo rpm --import https://mirror.mwt.me/shiftkey-desktop/gpgkey
To setup the package repository:
cat << EOF | sudo tee /etc/yum.repos.d/mwt-packages.repo
[mwt-packages]
name=GitHub Desktop
baseurl=https://mirror.mwt.me/shiftkey-desktop/rpm
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirror.mwt.me/shiftkey-desktop/gpgkey
EOF
Then install GitHub Desktop:
# if yum is your package manager
sudo yum install github-desktop
# if dnf is your package manager
sudo dnf install github-desktop
OpenSUSE distribution: First install our GPG certificate:
sudo rpm --import https://mirror.mwt.me/shiftkey-desktop/gpgkey
To setup the package repository:
cat << EOF | sudo tee /etc/zypp/repos.d/mwt-packages.repo
[mwt-packages]
name=GitHub Desktop
baseurl=https://mirror.mwt.me/shiftkey-desktop/rpm
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirror.mwt.me/shiftkey-desktop/gpgkey
EOF
Then install GitHub Desktop:
sudo zypper ref && sudo zypper in github-desktop
Rclone
Rclone does not yet have official repositories, though official repositories have been attempted. We run unofficial Rclone repos for apt, yum/dnf, and zypper. These repos serve the latest official .deb
and .rpm
files from the GitHub releases. We check for updates every six hours. You can use this script to quickly set up the repository:
wget -qO- "https://mirror.mwt.me/rclone/install.sh" | sudo -s
More detailed manual instructions are below.
Debian/Ubuntu: First install our GPG certificate:
sudo mkdir -p /etc/apt/keyrings && wget -qO- https://mirror.mwt.me/rclone/gpgkey | sudo tee /etc/apt/keyrings/mwt.asc >/dev/null
To setup the package repository, run:
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/mwt.asc by-hash=force] https://mirror.mwt.me/rclone/deb any main" | sudo tee /etc/apt/sources.list.d/rclone.list >/dev/null
Then install Rclone:
sudo apt update && sudo apt install rclone
Red Hat/CentOS/Fedora distributions: First install our GPG certificate:
sudo rpm --import https://mirror.mwt.me/rclone/gpgkey
To setup the package repository:
cat << EOF | sudo tee /etc/yum.repos.d/rclone.repo >/dev/null
[rclone]
name=rclone
baseurl=https://mirror.mwt.me/rclone/rpm/$basearch
enabled=1
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://mirror.mwt.me/rclone/gpgkey
EOF
Then install Rclone:
# if yum is your package manager
sudo yum install rclone
# if dnf is your package manager
sudo dnf install rclone
OpenSUSE distribution: First install our GPG certificate:
sudo rpm --import https://mirror.mwt.me/rclone/gpgkey
To setup the package repository:
cat << EOF | sudo tee /etc/zypp/repos.d/rclone.repo >/dev/null
[rclone]
name=rclone
baseurl=https://mirror.mwt.me/rclone/rpm/$basearch
enabled=1
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://mirror.mwt.me/rclone/gpgkey
EOF
Then install Rclone:
sudo zypper ref && sudo zypper in rclone
RStudio
Posit does not provide official repositories for RStudio Desktop. You can find RStudio desktop repositories for apt and yum/dnf here. These repos serve the latest official .deb
and .rpm
files from the official website. We check for updates every six hours. You can use this script to quickly set up the repository:
wget -qO- "https://mirror.mwt.me/rstudio/install.sh" | sudo -s
More detailed manual instructions are below.
Debian/Ubuntu: First install our GPG certificate:
sudo mkdir -p /etc/apt/keyrings && wget -qO- https://mirror.mwt.me/rstudio/gpgkey | sudo tee /etc/apt/keyrings/mwt.asc >/dev/null
To setup the package repository, run:
# for Ubuntu 20.04 (focal)
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/mwt.asc by-hash=force] https://mirror.mwt.me/rstudio/deb/focal focal main" | sudo tee /etc/apt/sources.list.d/mwt.list >/dev/null
# for Ubuntu 22.04 (jammy) or 24.04 (noble)
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/mwt.asc by-hash=force] https://mirror.mwt.me/rstudio/deb/jammy jammy main" | sudo tee /etc/apt/sources.list.d/mwt.list >/dev/null
This will overwrite our Zoom repository if you have it installed. If you want both, add an -a
flag to the tee
command so that it appends to the file instead of overwriting it.
Then install RStudio:
sudo apt update && sudo apt install rstudio
Red Hat/CentOS/Fedora distributions: First install our GPG certificate:
sudo rpm --import https://mirror.mwt.me/rstudio/gpgkey
To setup the package repository:
cat << EOF | sudo tee /etc/yum.repos.d/mwt-rstudio.repo >/dev/null
[rstudio]
name=rstudio
baseurl=https://mirror.mwt.me/rstudio/rpm/el9/x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://mirror.mwt.me/rstudio/gpgkey
EOF
The above uses el9
in the base url. You can replace this with el8
if you are using CentOS 8, RHEL 8, or another compatible release.
This will use our key to verify updates. All of the rpm packages are signed by Posit Software. In theory, you could set gpgcheck=1
and repo_gpgcheck=0
, and then set gpgkey
to a local file obtained from https://posit.co/code-signing/ to increase security (by not needing to trust me).
Then install RStudio:
# if yum is your package manager
sudo yum install rstudio
# if dnf is your package manager
sudo dnf install rstudio
Zoom
Zoom does not provide official repositories. You can find Zoom repositories for apt, yum/dnf, and zypper here. These repos serve the latest official .deb
and .rpm
files from the official website. We check for updates every six hours. You can use this script to quickly set up the repository:
wget -qO- "https://mirror.mwt.me/zoom/install.sh" | sudo -s
More detailed manual instructions are below.
Debian/Ubuntu: First install our GPG certificate:
sudo mkdir -p /etc/apt/keyrings && wget -qO- https://mirror.mwt.me/zoom/gpgkey | sudo tee /etc/apt/keyrings/mwt.asc >/dev/null
To setup the package repository, run:
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/mwt.asc by-hash=force] https://mirror.mwt.me/zoom/deb any main" | sudo tee /etc/apt/sources.list.d/mwt.list >/dev/null
This will overwrite our RStudio repository if you have it installed. If you want both, add an -a
flag to the tee
command so that it appends to the file instead of overwriting it.
Then install zoom:
sudo apt update && sudo apt install zoom
Red Hat/CentOS/Fedora distributions: First install our GPG certificate:
sudo rpm --import https://mirror.mwt.me/zoom/gpgkey
To setup the package repository:
cat << EOF | sudo tee /etc/yum.repos.d/mwt-zoom.repo >/dev/null
[zoom]
name=zoom
baseurl=https://mirror.mwt.me/zoom/rpm/x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://mirror.mwt.me/zoom/gpgkey
EOF
This will use our key to verify updates. All of the rpm packages are signed by Zoom Video Communications, Inc. In theory, you could set gpgcheck=1
, repo_gpgcheck=0
, and gpgkey=https://zoom.us/linux/download/pubkey
to increase security (by not needing to trust me).
Then install Zoom:
# if yum is your package manager
sudo yum install zoom
# if dnf is your package manager
sudo dnf install zoom
OpenSUSE distribution: First install our GPG certificate:
sudo rpm --import https://mirror.mwt.me/zoom/gpgkey
To setup the package repository:
cat << EOF | sudo tee /etc/zypp/repos.d/mwt-zoom.repo >/dev/null
[zoom]
name=zoom
baseurl=https://mirror.mwt.me/zoom/rpm/x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://mirror.mwt.me/zoom/gpgkey
EOF
This will use our key to verify updates. All of the rpm packages are signed by Zoom Video Communications, Inc. In theory, you could set gpgcheck=1
, repo_gpgcheck=0
, and gpgkey=https://zoom.us/linux/download/pubkey
to increase security (by not needing to trust me).
Then install zoom:
sudo zypper ref && sudo zypper in zoom