English | Português | 中文 | 日本語 | Русский | Español | Deutsch | Українська
BATorrent
Der BitTorrent-Client mit Gesicht — Filmcover, sechs Themes, null Werbung.
Die meisten Torrent-Clients sehen aus wie ein Steuerformular. Dieser zeigt deine Downloads als **Wand aus Film-, Serien- und Spielcovern** — dasselbe, was du von Netflix oder Steam kennst — und lässt sich in sechs Themes (oder dein eigenes Hintergrundbild) kleiden. Unter der Haube steckt die bewährte **libtorrent**-Engine, also kein hübsches Spielzeug: ein echter Client, der zufällig auch Geschmack hat.
> **Keine Werbung. Keine Telemetrie. Keine „Pro"-Stufe. Kein Konto.** Die einzige Anfrage, die er von sich aus stellt, ist die GitHub-Update-Prüfung, und die kannst du abschalten. Der Quellcode ist direkt hier — lies [`updater.cpp`](src/services/integrations/updater.cpp) und überzeug dich selbst.
## Warum es das gibt
Ich bin ein einzelner Entwickler in Brasilien. Ich wollte einen Torrent-Client, der Privatsphäre ernst nimmt, nativ auf jedem Desktop läuft und nicht aussieht, als wäre er 2009 gebaut worden — und weil ich keinen fand, habe ich meinen eigenen gebaut. Er ist kostenlos und **MIT-lizenziert**: keine Haken, keine Telemetrie, die sich später einschleicht, und er kann nicht still an eine Firma verkauft werden, die Werbung dranschraubt. Acht Sprachen, denn „nützlich" sollte nicht „nur Englisch" heißen.
## Das Aussehen
- **Automatische Cover** — liest den Torrent-Namen und holt das echte Poster (Filme & Serien über TMDB, Spiele über IGDB) in eine Rasteransicht. Ein Klick wechselt zur kompakten Liste.
- **Sechs Themes** — Dark, Light, Midnight, Sakura, Dark Star und ein vollständig **anpassbares** (eigener Hintergrund + Akzentfarben), jeweils mit optionaler Anime-Akzentgrafik.
- Echtzeit-Geschwindigkeitsdiagramm, zustandsgefärbter Fortschritt, ein reichhaltiges Tray-Popup mit Live-Geschwindigkeiten und Restzeit — die Details, die es *fertig* wirken lassen.
## Was er wirklich kann
| | |
|---|---|
| 🔒 **Privatsphäre zuerst** | VPN-Interface-Bindung + **Kill Switch** (kappt allen Verkehr, wenn der Tunnel abbricht), PT-Modus für private Tracker, Tor-Voreinstellung, anonymer Handshake, Anti-Leecher-Blockade |
| 🔎 **Finden & hinzufügen** | Integrierte Suche (inkl. offene CIS/RuTor-Quellen, ohne Login), Smart Paste (Magnet / `.torrent` / `thunder://` / Hash per Strg+V), RSS-Auto-Download mit Regex-Filtern, Drag & Drop |
| 📱 **Von überall steuern** | Browser-WebUI mit **QR-Kopplung** — vom Handy scannen, keine IPs tippen. Der QR-Code wird lokal erzeugt; deine Adresse verlässt den Rechner nie |
| 📺 **Ansehen & ordnen** | Streamen während des Downloads, automatisches Entpacken von Archiven, Kategorien + Tags, Plex/Jellyfin/Emby-Bibliotheksaktualisierung bei Abschluss |
| 🔔 **Auf dem Laufenden bleiben** | Native Desktop-Benachrichtigungen, Telegram-Alerts, Discord Rich Presence („Lädt X · 67%") |
…und der lange Rest (zum Aufklappen klicken)
Priorität pro Datei · sequenzieller Download · automatisches Tracker-Einspielen · Inhalts-Layout-Steuerung · Regex für ausgeschlossene Dateien · temporärer Download-Pfad · Status „Abgeschlossen" mit Seeding-Fenstern · Auto-Pause bei Dateifehlern · globale + pro-Torrent Ratio-/Zeitlimits · Bandbreiten-Planer (Stunde + Tag) · Import aus qBittorrent · `.torrent`-Dateien erstellen · Torrent-Inspektor · IP-Sperrlisten · Protokollverschlüsselung · Gitee-Update-Mirror · automatisches Herunterfahren nach Abschluss · Windows-Defender-Ausnahme · vollständiges Backup/Restore · Verlauf kürzlich entfernter Torrents · Start erzwingen · integrierter Log-Viewer + Diagnose + IP-Leak-Test · gebietsschema-bewusste Formatierung · Tastenkürzel.
## Der Motor
Die meisten Torrent-Apps binden das Standard-libtorrent ein. BATorrent liefert einen kleinen **gepatchten Fork** mit und kann so Engine-Verhalten ändern, an das die öffentliche API nicht herankommt:
- **Schnellerer Pipeline-Aufbau.** Auf einer Verbindung mit hoher Bandbreite und hoher Latenz wächst die Standard-Anfrage-Pipeline Schritt für Schritt; der Fork lässt sie geometrisch wachsen und füllt so eine dicke Leitung in einem Bruchteil der Roundtrips. Im projekteigenen A/B-Benchmark rund +27 % auf einer schnellen Verbindung gemessen, ohne die Aussetzer des Standards zwischen den Läufen — und nie langsamer.
- **Bevorzugung von Peers im eigenen Land.** Eine Offline-GeoIP-Datenbank (db-ip Lite) markiert jeden Peer nach Land, und das Peer-Ranking des Forks bevorzugt bei freier Wahl Peers im eigenen Land — das bedeutet meist geringere Latenz und weniger gedrosselte grenzüberschreitende Routen.
Beides sind Compile-Time-Funktionen des Forks (in einem Standard-Build aus) und werden als versionierte Patches unter [`third_party/patches/`](third_party/patches) angewendet, nicht als eingebettete Kopie.
## Holen
| Plattform | | |
|---|---|---|
| **Windows** | [Microsoft Store](https://apps.microsoft.com/detail/9n4l3tq24rc6) · [Installer](https://github.com/BATorrent-app/BATorrent/releases/latest) · [Portabel](https://github.com/BATorrent-app/BATorrent/releases/latest) | Windows 10+ |
| **macOS** | **`brew install --cask Mateuscruz19/batorrent/batorrent`** · [`.dmg`](https://github.com/BATorrent-app/BATorrent/releases/latest) | macOS 12+ · Apple Silicon |
| **Linux** | [AppImage](https://github.com/BATorrent-app/BATorrent/releases/latest) | glibc 2.35+ |
Dann einfach eine `.torrent`-Datei oder einen Magnet auf das Fenster ziehen. Das war's.
**macOS:** noch nicht notarisiert (Apples Entwicklerprogramm ist kostenpflichtig). Homebrew ist der reibungsloseste Weg — `brew` entfernt das Quarantäne-Flag, sodass die App ohne Gatekeeper-Dialog öffnet. Bei der `.dmg` beim ersten Mal Rechtsklick → **Öffnen**.
Aus dem Quellcode bauen & technische Notizen
### Voraussetzungen
C++17 · CMake 3.16+ · Qt 6 (`Widgets`, `Network`, `Svg`, `Multimedia`) · libtorrent-rasterbar 2.0+ · Boost · Qt6Keychain (optional).
```bash
# Debian / Ubuntu
sudo apt install build-essential cmake qt6-base-dev qt6-svg-dev qt6-multimedia-dev \
libtorrent-rasterbar-dev libboost-dev libssl-dev
cmake -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build -j && ./build/BATorrent
```
(macOS: `brew install qt libtorrent-rasterbar boost openssl`. Windows: Qt-Installer + `vcpkg install libtorrent:x64-windows`.)
### Qualität & Sicherheit
- **Tests** — Catch2-Suite (Unit, Sicherheit, Speicher) bei jedem CI-Build; neues Backend-Verhalten bekommt einen Test.
- **Sanitizers** — läuft sauber unter AddressSanitizer + UndefinedBehaviorSanitizer (0 Lecks / Use-after-free / UB).
- **Geprüft** vor jedem Release auf Speicher-/Thread-Sicherheit, WebUI-Authentifizierung, Injection, Path Traversal, Eingabevalidierung und Umgang mit Geheimnissen. Geheimnisse liegen im OS-Keychain, nie im Klartext; die WebUI öffnet sich erst zum Netzwerk, wenn du ein Passwort setzt.
## Mitwirken
Issues und PRs willkommen — für alles Nicht-Triviale bitte zuerst ein Issue eröffnen. Fehlerberichte: nenne deine Plattform + Version (`Hilfe → Über`) und die Schritte zur Reproduktion. Übersetzungen sind besonders willkommen.
## Lizenz
[MIT](LICENSE) © 2024–2026 Mateus Cruz · made in Brazil 🦇