aria2 Complete Documentation
aria2-Dokumentation: Installation, Konfiguration & Automatisierung
aria2 ist ein freies, quelloffenes, multiprotokollfähiges CLI-Download-Tool in C++, das HTTP, HTTPS, FTP, SFTP, BitTorrent und Metalink unterstützt. Auf Servern, die die Geschwindigkeit pro Verbindung begrenzen, ist es oft um ein Mehrfaches schneller als wget oder curl, weil es bis zu 16 parallele Verbindungen pro Server öffnet und dabei nur 4–9 MiB RAM benötigt. Verfügbar für Windows, macOS, Linux und Android – ganz ohne GUI.
Nutzen Sie diese Dokumentation, um die Installation unter Windows, Linux und macOS zu meistern, erweiterte Protokoll-Engines zu konfigurieren und aria2 in Ihre eigenen Automatisierungspipelines zu integrieren.
Cross-Kompilierung: aria2 verwendet die Wrapper mingw-config und android-config zum Erzeugen von Windows- (.exe) und Android-Binärdateien mit den MinGW- bzw. NDK-Toolchains.
Grundlegende HTTP- & FTP-Konfiguration
aria2 bewältigt typische HTTP-/FTP-Downloads bereits out of the box hervorragend, doch seine wahre Stärke liegt in der Protokoll-Hybridisierung. Es kann eine Datei über HTTP/FTP/SFTP und BitTorrent gleichzeitig herunterladen und dabei Daten aus den direkten Quellen in den BitTorrent-Schwarm hochladen, um die Effizienz zu maximieren.
Hinweis: aria2 ist ausschließlich ein Kommandozeilenprogramm und RPC-Backend. Wenn Sie mit
-x 16 16 Verbindungen öffnen, drosseln manche Server Ihre IP temporär. Passen Sie parallele Limits daher stets verantwortungsvoll an.
Batch-Automatisierungen
Für Scraping, Mirror-Synchronisierung und Stapelverarbeitung können Sie aria2 eine reine Textdatei mit Tausenden von URLs übergeben. Es lädt diese dann aggressiv parallel herunter – über den Parameter -i (Eingabe).
BitTorrent im Detail
aria2 verfügt über vollwertige BitTorrent-Client-Funktionen, die direkt in seine Kern-Engine integriert sind. Es unterstützt nativ DHT-Routing-Tabellen, Local Peer Discovery (LPD) und die Auflösung von Magnet-URIs.
Hinweis: aria2 ist einer der wenigen Clients, die BitTorrent-WebSeeding von Haus aus unterstützen. Sie können einen Standard-HTTP-Mirror gleichzeitig sicher in einen P2P-Schwarm einbinden!
Metalink-Unterstützung
Metalinks sind XML-Dateien mit URI-Listen, Prüfsummen und Metadaten. aria2 nutzt sie, um automatisch den schnellsten Mirror zu finden und gleichzeitig die Dateiintegrität zu prüfen.
Fortsetzen & Wiederherstellung
Im Gegensatz zu wget verfügt aria2 über äußerst robuste Datei-Wiederherstellungsfunktionen. Wenn Ihre Internetverbindung abbricht
oder der Strom während einer großen Dateiübertragung ausfällt, kann aria2 die Datenprüfung mit dem Flag
-c / --continue nahtlos fortsetzen.
Wenn Sie -c nicht verwenden und die Datei bereits existiert, benennt aria2 den neuen Download standardmäßig automatisch in mylinux.1.iso um, um versehentliches Überschreiben zu verhindern.
Bandbreitendrosselung
Verhindern Sie, dass aria2 beim Herunterladen im Hintergrund Ihr Heimnetzwerk monopolisiert, indem Sie strikte Drosselungslimits setzen. Limits können global für den gesamten Daemon oder individuell pro Aufgabe gelten.
Festplatten-Allokation & Hochgeschwindigkeits-I/O
Beim Herunterladen riesiger 50-GB+-Dateien über 16 parallele Split-Verbindungen kommt es bei mechanischen HDD-Festplatten (und einfachen SSDs) zu enormer Dateisystemfragmentierung mit entsprechenden Verlangsamungen.
Die falloc-Engine von aria2 weist das Betriebssystem an, die Blockallokation direkt auf Kernel-Ebene vorzuzuordnen – noch bevor der Download überhaupt beginnt.
Prüfsummen & Integrität
Stellen Sie sicher, dass Ihre Downloads weder beschädigt noch manipuliert wurden, indem Sie aria2 zwingen, Hashsummen während oder nach der Übertragung zu prüfen.
Erweitertes Netzwerk & IPv6
Feinabstimmung, wie sich aria2 an Ihre lokalen Hardware-Schnittstellen bindet – besonders nützlich für Multi-Homed-Server oder VPN-Setups.
Proxy-Konfigurationen
aria2 unterstützt HTTP-Proxys (HTTPS per CONNECT), das Überschreiben der SSL-Prüfung sowie explizite IPv6-Bindungen. SOCKS-Proxys werden nicht unterstützt – nutzen Sie für einen SOCKS5-Tunnel eine HTTP-zu-SOCKS-Brücke wie privoxy oder gost.
Sicherheit & Verschlüsselung
Für BitTorrent-Übertragungen können Sie Verschlüsselung erzwingen, um ISP-Überwachung oder -Drosselung zu umgehen. Sie können außerdem strikte SSL-Zertifikatsanforderungen für sichere HTTP-Verbindungen festlegen.
Daemon-Dienste
Betreiben Sie aria2 vollständig entkoppelt im Hintergrund. Unverzichtbar für VPS-, Seedbox- und Headless-Server-Umgebungen.
Tipp: Wenn Sie Hintergrund-Downloads lieber interaktiv verwalten möchten, ohne einen Daemon-Dienst auszuführen, können Sie aria2c in einer abgetrennten tmux-Sitzung ausführen.
RPC-Subsysteme (Fernsteuerung)
Über die JSON-RPC-Schnittstelle können Sie Befehle von entfernten Servern, mobilen Apps oder Web-GUIs wie AriaNg an aria2 senden.
| Methode | Beschreibung |
|---|---|
aria2.addUri |
Fügt einen neuen HTTP-/FTP-/SFTP-Download hinzu. |
aria2.addTorrent |
Fügt einen BitTorrent-Download durch Hochladen einer .torrent-Datei hinzu. |
aria2.tellStatus |
Gibt Fortschritt/Status für eine bestimmte GID zurück. |
aria2.pauseAll |
Hält alle aktiven Downloads sofort an. |
aria2.getOption |
Ruft Konfigurations-Flags für eine bestimmte GID ab. |
Event-Hooks & Skripting
Lösen Sie automatisierte Aufgaben mit den eingebauten Event-Listenern von aria2 aus. Sie können Variablen wie Dateipfade und GIDs in externe Bash-Umgebungen übergeben.
Die perfekte aria2.conf
Definieren Sie starre Engine-Mechaniken in Ihrer statischen Konfigurationsdatei (typischerweise
~/.aria2/aria2.conf), um manuelle Flags zu vermeiden.
Umgebungsvariablen
aria2 liest standardmäßig die Proxy-Variablen des Betriebssystems aus Ihrem Terminal-Profil.
| Variable | Beschreibung |
|---|---|
http_proxy |
Standard-Proxy für HTTP-Anfragen. |
https_proxy |
Standard-Proxy für HTTPS-Anfragen. |
all_proxy |
Globaler Proxyserver. |
no_proxy |
Domänen, die das Proxy-Routing umgehen. |
Konsolenfortschritt verstehen
Echtzeit-Snapshot-Zeichenketten der Konsolen-Engine.
[#GID 123MB/456MB(27%) CN:16 DL:5.2MB UL:12KB ETA:1m45s]
- GID: Eindeutige Aufgabenkennung.
- CN: Aktive Verbindungen.
- DL / UL: Aktuelle Geschwindigkeiten.
- ETA: Geschätzte Restzeit.
Technische Dateien & Formate
Binäre Layouts und Statusdateien, die unter der Haube verwendet werden.
| Datei | Zweck |
|---|---|
dht.dat |
Speichert die DHT-Routing-Tabelle (binär). |
.netrc |
Automatische HTTP-/FTP-Zugangsdaten. |
aria2.session |
Status der angehaltenen/fortgesetzten Sitzung. |
*.aria2 |
Binäre v1-Steuerdateien (Big Endian). |
machine example.com login user password password
Exit-Statuscodes
Werten Sie $? in Skripten aus, um Fehler elegant zu behandeln.
| Code | Bedeutung |
|---|---|
| 0 | Erfolg |
| 1 | Unbekannter Fehler |
| 3 | 404 Nicht gefunden |
| 9 | Festplatte voll |
Power-User-Tipps & Einheiten
K/M: Decimal (1000)
- Ki/Mi: Binary (1024)
Infinity: Use
- or 0 for unlimited.
Entwicklerintegration (libaria2)
Moderne C++11-Bibliotheksschnittstelle.