Mirrors

The contents of the download server are available on several mirrors as well. Please refer to the list below for alternative locations.

2026-01-09: Due to the high number of mirrors, we had to limit our public rsync service. We plan to offer rsync service to only a few “tier-1” mirrors from now on. All other mirrors cannot sync directly from the main server and will need to sync from an existing tier-1 mirror. See https://lists.openwrt.org/pipermail/openwrt-announce/2026-January/000075.html

Tier-2 mirrors are general-purpose. They are managed by third-parties and are not controlled by the OpenWrt project. Each mirror operator may have its own usage policy, please refer to it before using a mirror.

Tier-2 mirrors synchronize from a tier-1 mirror.

Country HTTP HTTPS RSYNC Upstream Sponsor Notes
Austria HTTP HTTPS rsync://mirror.kumi.systems/openwrt/ ? Kumi Systems e.U. Out-of-date
China HTTP HTTPS - ? Shanghai Jiao Tong University Linux User Group Temporarily allowed on origin rsync server.
China HTTP HTTPS rsync://mirrors.tuna.tsinghua.edu.cn/openwrt/ ? Tsinghua University TUNA Association Temporarily allowed on origin rsync server.
China HTTP HTTPS - ? Alibaba Cloud Computing (Beijing) Co., Ltd. Only releases
China HTTP HTTPS - ? Tencent
China HTTP HTTPS - ? MirrorZ 10+ mirrors
Germany HTTP HTTPS rsync://mirror.berlin.freifunk.net/openwrt
rsync://mirror.berlin.freifunk.net/openwrt-snapshots
RWTH Freifunk Berlin All Flash & 10GBit
Complete + Snapshots
Synced Daily
India/Guwahati HTTP HTTPS ? NKN Only partial releases
Japan HTTP HTTPS rsync://repo.jing.rocks/openwrt/ ? Jing Luo Synced every 23 hours (broken as of 2026-01)
Japan HTTP HTTPS rsync://mirror.hashy0917.net/openwrt/ openwrt.pixeldeck.net hashy0917 Synced every 12 hours,All-Flash storage,40GBps Network
Kazakhstan/Almaty HTTP HTTPS - ? PS Internet Company Temporarily allowed on origin rsync server.
Kazakhstan HTTP HTTPS rsync://mirror.hoster.kz/openwrt/ ? hoster.kz Out of date
Netherlands HTTP HTTPS rsync://ftp.nluug.nl/openwrt/ snt.utwente.nl NLUUG 40 gbit, synced every 12 hours
CDN (Cloudflare) HTTP HTTPS - ? cicku.me
UK HTTP HTTPS rsync://mirror.autkin.net/openwrt/ ? Andriy Utkin Temporarily allowed on origin rsync server. Only latest minor.major.micro release

Tier-1 mirrors are mainly aimed at providing data for tier-2 mirrors, but they can also be used directly. They are not managed directly by the OpenWrt project.

Country HTTP HTTPS RSYNC Status Sponsor Notes
Brazil HTTP HTTPS rsync://openwrt.c3sl.ufpr.br/openwrt/ Universidade Federal do Paraná Setup 2026-02-08
China HTTP HTTPS rsync://rsync.mirrors.ustc.edu.cn/openwrt/ University of Science and Technology of China Setup 2026-02-09
France HTTP HTTPS rsync://openwrt.tetaneutral.net/openwrt/ lastupdate, upstream-mirror, tier1-mirror-name tetaneutral.net Setup 2026-01-27
Italy HTTP HTTPS rsync://openwrt.mirror.garr.it/openwrt lastupdate, upstream-mirror, tier1-mirror-name GARR Mirror Setup 2026-02-04
Morocco HTTP HTTPS rsync://mirror.marwan.ma/openwrt lastupdate, upstream-mirror, tier1-mirror-name Moroccan National Research and Education Network Setup 2026-01-30
Netherlands HTTP HTTPS rsync://ftp.snt.utwente.nl/openwrt SNT, University of Twente Setup 2026-02-25
USA HTTP HTTPS rsync://openwrt.pixeldeck.net/openwrt PixelDeck Setup 2026-03-12
Country HTTP HTTPS RSYNC Status Sponsor Notes
Germany HTTP HTTPS rsync://ftp.halifax.rwth-aachen.de/openwrt-default/, rsync://ftp.halifax.rwth-aachen.de/openwrt-extended/ lastupdate, upstream-mirror, tier1-mirror-name RWTH Aachen University Setup 2026-01-28. 20 Gbit/s connectivity. Stats day, week
Sweden HTTP HTTPS rsync://mirror.accum.se/mirror/openwrt.org/ lastupdate, tier1-mirror-name Academic Computer Club in Umeå Setup 2026-01-31. 200 Gbit/s connectivity. Stats.

Old releases are stored on a separate server. This service is provided on a best-effort basis.

You can access it here: https://archive.openwrt.org

Please only setup a mirror if really needed: e.g. if you don't have good connectivity to existing mirrors, or if you have many downstream users. In all cases, the official OpenWrt download service won't automatically use your mirror.

As of January 2026, the amount of data for active releases (default mirror set) is around 1.5 TiB (1.6 TB). A full extended mirror takes 3.9 TiB (4.3 TB), counting all releases starting from 17.01. The space needed per release is shown below.

Current major releases (includes all minor releases except -rcX):

Release 25.12 24.10 23.05
Size 400 GiB 584 GiB 525 GiB

Archived major releases:

Release 22.03 21.02 19.07 18.06 17.01
Size 656 GiB 438 GiB 247 GiB 178 GiB 88 GiB

We currently offer two mirror sets:

  • default mirror set recommended for tier-1 mirrors: rsync.openwrt.org::releases-mirror-default. Contains actively supported releases only. It excludes -rc minor releases (except if they are the most recent ones) as well as XX.YY-SNAPSHOT. Mirrors must not filter any content. Password-protected.
  • extended mirror set: rsync.openwrt.org::releases-mirror-extended. Contains all releases, including old major releases, -rc minor releases, and XX.YY-SNAPSHOT. This is for mirrors that don't mind carrying a lot of data. Password-protected.

We might offer an archive-only variant in the future (to complement the default mirror set).

Use the following rsync script to mirror:

LOCKFILE="/var/lock/openwrt-rsync.lock"
OPENWRT_LOCAL_PATH="/path/to/openwrt/"
OPENWRT_RSYNC_URL="rsync.openwrt.org::releases-mirror-default/"
RSYNC_USER="CHANGEME"
export RSYNC_PASSWORD="CHANGEME"

echo "$OPENWRT_RSYNC_URL" > "$OPENWRT_LOCAL_PATH"/upstream-mirror
[ -n "$RSYNC_USER" ] && hostname -f > "$OPENWRT_LOCAL_PATH"/tier1-mirror-name
USER="$RSYNC_USER" flock -n "$LOCKFILE" rsync -rltpHS --no-motd --delay-updates --delete-delay \
  --exclude='/lastsync' --exclude='/upstream-mirror' -f'P /tier1-mirror-name' "$OPENWRT_RSYNC_URL" "$OPENWRT_LOCAL_PATH" \
&& date +%s > "$OPENWRT_LOCAL_PATH"/lastsync

These exact rsync options are important (e.g. to handle hardlinks), please get in touch if you would like to use different options.

This script is suitable for cron use: it only produces output if something goes wrong, which causes cron to send an email.

For the initial sync, use something like rsync --bwlimit=8000 to avoid overloading your source.

You must choose a random minute and starting hour, and then sync every 4 hours. Run the bash code below to print a suitable cron-like specification:

minute=$((SRANDOM%60)); hour=$((SRANDOM%4)); echo "${minute} ${hour},$((hour+4)),$((hour+8))$((hour+12)),$((hour+16)),$((hour+20)) * * * /path/to/your/mirror/script.sh"

For tier-1 mirrors, send an email to https://lists.openwrt.org/pipermail/openwrt-adm/ to obtain a rsync username and password.

For tier-2 mirrors, select the tier-1 mirror that is closest to you and update OPENWRT_RSYNC_URL accordingly. You don't need RSYNC_USER and RSYNC_PASSWORD.

Never ever try to mirror using HTTP (e.g. with lftp), it will get you banned permanently.

Once a mirror has been set up, feel free to announce it at openwrt-adm@lists.openwrt.org, with details about which part of the repository you sync. It will be published on this page, but this is only a convenience so that users can be made aware of available mirrors: there is no automatic load-balancing system that exploits mirrors. Users can choose to manually use a mirror if they find they have a better connectivity to it.

For now, tier-1 mirrors are primarily used to distribute OpenWrt files to a diverse network of tier-2 mirrors using rsync. In the future, some user traffic might be served from tier-1 mirrors.

In effect, OpenWrt delegates parts of its distribution infrastructure to tier-1 mirrors. As a result, several quality criterias are expected to be met:

  • good uptime track record
  • good network connectivity (ideally 1 Gbit/s of dedicated capacity)
  • IPv6 connectivity
  • unlimited outgoing traffic volume
  • managed by a stable institution (e.g. university, company, non-profit...)
  • commitment to host OpenWrt data for at least several years
  • carry all releases of the default mirror set (see space_requirements)
  • serve OpenWrt content over HTTP and HTTPS
  • serve OpenWrt content over a publicly-accessible rsync service
  • have some monitoring to detect failed rsync runs or expired HTTPS certificate
  • have a responsive contact email

If you are missing just 1 or 2 criterias, inclusion can still be discussed.

Note that acceptance is never guaranteed in any case (e.g. if there are already tier-1 mirrors in your geographical region).

Proposals can be sent to openwrt-adm@lists.openwrt.org.

Mirroring snapshots is highly discouraged, because it generates a lot of traffic.

If you really have a good use-case for mirroring snapshot builds, you can find them under a separate rsync module: rsync://rsync.openwrt.org/downloads-snapshots. Please pull every 24 hours at most, or even only once a week if it fits your use-case. You can also selectively mirror only the targets you need.

If we notice too much traffic, we might close this best-effort service.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2026/05/03 19:00
  • by sigio