-
Notifications
You must be signed in to change notification settings - Fork 0
Mirrors
Downloads rotate across every enabled mirror.
| Mirror | Host | Default | Notes |
|---|---|---|---|
| osu!direct | osu.direct |
on | |
| Nerinyan | api.nerinyan.moe |
on | |
| Sayobot | dl.sayobot.cn |
on | |
| Nekoha | mirror.nekoha.moe |
on | Serves the size estimates for find results |
| Beatconnect | beatconnect.io |
on | |
| osu!dl | osudl.org |
on | Covers ranked / approved / loved sets only; rotation backfills the rest |
| catboy.best | catboy.best |
on | |
| Hinamizawa | mirror.hinamizawa.ai |
off | Races the other mirrors server-side, enable if you're hitting rate limits |
| nzbasic CDN | direct.nzbasic.com |
off | A solo developer's free instance; coverage is what its backend has cached |
| osu! official | osu.ppy.sh |
off | Needs osu! login (below) |
The config tab is the mirror editor: toggle each built-in on or off, reorder the try-order with ⇧+↑/↓, or press r to re-probe latency (shown per mirror next to each row). The get maps tab shows the enabled count with the latency range.
- Requests to each mirror are spaced out; the spacing widens when a mirror pushes back, then decays once it calms down.
- A throttled mirror sits out its cooldown while the rest keep downloading. Per-map countdowns show in the open run.
- A throttled map goes back in the queue rather than getting dropped; one that stays throttled past the auto-defer delay (60s of actual waiting by default,
download.rate_limit_skip_secs) re-queues on its own. - In an open run, s defers the currently stuck maps yourself; S drops them for the rest of the run.
Add your own on the config tab: each URL template must contain the {id} placeholder (for example https://example.com/d/{id}). A new empty row appears as you type; clearing a row removes it. Custom mirrors are tried after the built-ins, in list order. The matching config key is mirror.urls (Configuration).
Logging in is optional. It enables the osu! official mirror, plus the supporter-only find filters when the account carries osu!supporter (Finding maps). The account row on the config tab opens a login panel docked on the right, where you enter your osu! username and password (masked). It closes on esc or a tab switch.
Once logged in the account row reads logged in, with · supporter appended when the account has it. The status is re-checked in the background each launch, so gaining or losing supporter shows up without logging out.
The login goes through osu!lazer's first-party client, the only client allowed to request beatmap-download privilege. If osu! needs to verify a new device, the panel prompts for the emailed code. Your password is sent only to osu.ppy.sh and never stored; only the resulting token lives in a local auth.json.
Warning
osu!lazer's first-party login is an unofficial grey area. The osu! official mirror is rate-limited (roughly 10 to 20 downloads per hour) and stays off by default; keep it as a last resort. Requests to osu! are throttled automatically (about one per second, shared across all download threads), but the hourly download cap still applies and shows up as a temporary rate-limit when reached.
Getting started
Guides
Reference