[Habeas]

A self-hosted torrent client built from scratch on libtorrent.

5 results from prowlarr 12 indexers mode: sift
Severance S01 Complete 2160p ATVP WEB-DL DV HDR 1247 18.3 GB
Severance S02 Complete 2160p ATVP WEB-DL DV HDR 856 42.8 GB
The Brutalist 2024 2160p WEB-DL DDP5.1 DV 534 14.2 GB
Severance S02 720p WEB-DL DDP5.1 H.264 423 8.7 GB
The Brutalist 2024 1080p BluRay REMUX 287 32.6 GB
sift organizing your downloads
0titles
0torrents
0existing
0new
Severance (2022)
exists tv Season 1–2 · 19 episodes
2 torrents 61.1 GB
Severance S01 Complete 2160p ATVP WEB-DL DV HDR
2160pWEB-DLDV HDRS0118.3 GB
/TV Shows/Severance (2022)/Season 01/ exists
Severance S02 Complete 2160p ATVP WEB-DL DV HDR
2160pWEB-DLDV HDRS0242.8 GB
/TV Shows/Severance (2022)/Season 02/ + create
folder preview
/TV Shows/
└─ 📂 Severance (2022) exists
├─ 📁 Season 01 (9 files, 18.3 GB) exists
└─ 📁 Season 02 (10 files, 42.8 GB)
├─ 📄 Severance.S02E01.Goodbye.Mrs.Selvig.mkv
├─ 📄 Severance.S02E02.Hello.Ms.Casey.mkv
├─ 📄 Severance.S02E03.Who.Is.Alive.mkv
├─ 📄 ...
└─ 📄 Severance.S02E10.Cold.Harbor.mkv
existing: S01
18 themes. live preview.
torrents search Ledger
Severance.S02E03.Who.Is.Alive.2160p.ATVP.WEB-DL.DV.HDR.mkv
↓ 14.2 MB/s ↑ 1.8 MB/s 24 peers eta 8m
40%
4.82 GB
The.Brutalist.2024.2160p.WEB-DL.DDP5.1.DV.HDR.mkv
↑ 420 KB/s 3 peers ratio 2.14
100%
14.2 GB
Severance.S01.Complete.2160p.ATVP.WEB-DL.DV.HDR
paused ratio 1.47
100%
18.3 GB

Sift resolves every torrent against TMDB before the download starts. It identifies titles, detects seasons you already have, builds the correct folder structure, and names files to spec. Downloads arrive organized.

The client is built on libtorrent. State updates are pushed over WebSocket with msgpack serialization. The interface is entirely web-based and self-hosted.

Compatibility is maintained through a qBittorrent API shim. Sonarr, Radarr, and Prowlarr connect to Habeas without configuration changes.

your turn.
boot
search
sift
themes
about
docker-compose.yml
Docker 20.10+ · amd64 / arm64
services:
  habeas:
    image: ghcr.io/palav/habeas:latest
    ports:
      - "54322:54322"       # web UI
      - "54323:54323"       # engine API
    volumes:
      - ./data:/app/data        # database, resume data, state
      - /mnt/media:/storage     # your media library
    environment:
      - TZ=America/New_York
      - PUID=1000
      - PGID=1000
      # - FRONTEND_URL=https://habeas.example.com
      # - TRUST_PROXY=true
      # - DB_ENCRYPTION_ENABLED=true
      # - SESSION_SECRET=your-secret-here
    restart: unless-stopped
recommended Put Habeas behind a reverse proxy with HTTPS. Caddy handles TLS automatically — set FRONTEND_URL and TRUST_PROXY=true for secure cookies and passkey auth.