Introduction
Unpackerr is an application that runs on Windows, macOS, Linux, FreeBSD and in Docker. You can use it to watch a download folder and extract new items. The more common use is to watch Starr apps (Radarr, Sonarr, Readarr, Lidarr) and extract items they download. It can do both, at the same time even.
Features
- Simple to use.
- Built-in web UI (queue, history, logs, settings) on port 5656.
- Rich logs.
- Extracts entire folders.
- Extracts your subs files too.
- Cleans up extracted items.
- Can extract in place or somewhere else.
- Can execute scripts/commands based on extraction events.
- Can send webhooks based on extraction events.
- Provides a metrics endpoint for Prometheus scraping.
- Has a nifty Grafana dashboard to visualize what it did.
Description
This application runs as a daemon on your download host. It checks for completed
downloads and extracts them so Lidarr, Radarr, Readarr, and Sonarr may
import them. v1 adds a web UI; existing 0.x installs should read
Upgrading to v1. There are a handful of options out there for extracting and deleting
files after your client downloads them. I just didn't care for any of them, so I
wrote my own. I wanted a small single-binary with reasonable logging that can extract
downloaded archives and clean up the mess after they've been imported.
Not a Starr app user, and just need to extract files? We do that too. This application can run standalone and extract files found in a "watch" folder. In other words, you can configure this application to watch your download folder, and it will happily extract everything you download. This has nothing to do with the Starr apps mentioned in the previous paragraph. This folder-watch feature may be used with or without Starr apps. For a one-shot command-line extractor (no daemon, no Starr polling), see xt.
Archives Supported
Pretty much everything. It also extracts recursively, meaning deep within folders, and archives within archives. Tars, Rars, Zips, 7-Zips, Gzips, Tarred gzips and bzips; encrypted rars and 7zips. And ISO disc images. Need something else? Ask. Does it do too much? Let me know what knobs you need. Open a request!
Unpackerr uses xtractr and decompresses archives of these types:
- Zip:
zip - RAR:
rar,r00 - 7-Zip:
7z,7z.001 - tar:
tar,tar.gz,tgz,tar.bz2,tbz,tbz2,tar.xz,txz,tar.z,tz,tlz - gzip / bzip2 / xz / zstd:
gz,gzip,bz2,xz,zst,zstd - Other compressors:
lz4,lz,lzip,lzma,lzma2,z,br,brotli,s2,snappy,sz,zlib,zz - Packages and images:
iso,cpio,cpio.gz,cpgz,ar,deb,rpm - Cue sheets:
cue,cue.txt. Lidarr'ssplit_flacsplits FLAC and APE images into tracks. See Lidarr cue sheets. - Multi-file archives are supported with RAR and 7-Zip.
- Password protected archives are supported with RAR and 7-Zip.
- Archives are detected by the file extension. ISO is disabled by default
(
extract_isos).
Starr Logic
The application polls Radarr, Readarr, Sonarr, and Lidarr at the interval
configured. The queued items are inspected for completeness.
When Unpackerr finds an item in a Starr app, the download location is checked for an
archive file. If an extractable archive exists, and the Starr app has status=Completed
from your download client, Unpackerr will extract the file. Files are extracted to a
temporary folder, and then moved back into the download location for
Completed Download Handling to import them. When the item falls out of the Starr app
queue, the extracted files are deleted.
Attribution
The following fine folks are providing their services, completely free! These service integrations are used for things like storage, building, compiling, distribution and documentation support. This project succeeds because of them. Thank you!





