autobrr: IRC announce filtering for torrent and Usenet download automation
Modern, easy to use download automation for torrents and usenet.
At a glance
- What is it?
- autobrr watches tracker IRC announce channels and RSS or Newznab feeds, matches releases against per-filter rules, and pushes them to torrent clients, the *arr suite or SABnzbd. It is a real-time replacement for RSS polling, and it is not a metadata manager.
- Who is it for?
- Adopt autobrr if you race releases on private trackers, run qBittorrent, Deluge, rTorrent, Transmission, Porla or aria2, and already have a working client you can point an action at. Skip it if you only use public trackers with no IRC announce, or if you expect it to search for content, since that is Sonarr, Radarr and Prowlarr territory.
- Can I use it commercially?
- Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Go, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The problem autobrr solves: RSS is too slow for the initial swarm
The README frames the whole project around ratio. Most private indexers require you to maintain one, and ratio is built by seeding, and the earlier you start seeding a torrent the more peers you are available to. Radarr and Sonarr look for new releases over RSS. RSS feeds are polled on an interval, so by the time a release shows up in a feed, the swarm has already started without you.
Many indexers announce new uploads on their IRC channels the moment the torrent is posted. autobrr connects to those channels and reacts to the announce line in real time. That is the entire premise: replace a polling loop with an event stream.
The audience is narrower than the feature list suggests. It is people who are on trackers that announce over IRC, who care about being early, and who already run at least one download client or the *arr stack. The README is explicit that you do not need the *arr suite: autobrr can send matches straight to qBittorrent, Deluge, r(u)Torrent or Transmission. But if you have no IRC-announcing indexer and no interest in Usenet feeds, there is nothing here for you.
How autobrr works: announce in, filter match, action out
The data flow has three stages. First, input. autobrr connects to tracker IRC channels, or polls Torznab, Newznab and plain RSS feeds. The README notes that RSS indexers are treated the same way as regular indexers inside autobrr, which is why one filter model covers both torrent and Usenet sources.
Second, filtering. Each filter holds conditions, and the README describes the filtering as simple but with RegEx support in the style of autodl-irssi. A match is a release that meets the filter's criteria. This is where the tool either earns its place or does nothing at all: an announce line is parsed, and if no filter matches, the release is dropped silently.
Third, action. A filter carries one or more actions, and the matched release is handed to the action target. The README lists qBittorrent, Deluge v1 and v2, rTorrent, Transmission, Porla, aria2, Sonarr, Radarr, Lidarr, Whisparr, Readarr and Sportarr, SABnzbd and NZBGet, a watch folder, custom exec scripts and a webhook. When the action target is an *arr app, that app decides whether it wants the release and forwards it to its own client. Torrent magnet links are also supported.
The repository layout matches that shape. cmd/ holds the autobrr and autobrrctl entry points, internal/ and pkg/ hold the Go implementation, web/ is the React front end built separately and embedded, and config.toml is the sample configuration. go.mod shows dedicated client libraries for Deluge, qBittorrent and rTorrent, plus an IRC library, feed parsing, and both PostgreSQL and SQLite drivers. The database engine supports both, and one instance can talk to multiple clients on remote servers.
Installing autobrr with Docker and getting to a first match
The README points at https://autobrr.com/installation/linux for full instructions and at the configuration guide for indexers, IRC and download clients. On managed seedboxes there is less to do: Swizzin users run sudo box install autobrr, Saltbox users run sb install autobrr, and QuickBox users run qb install autobrr -u ${username}. HostingByDesign and Swizzin.net both expose box install autobrr, and Whatbox has built-in integration that requires enabling their Expert mode for external connections.
For a self-hosted install, the repository ships a docker-compose.yml. The checked-in version builds the image from the local Dockerfile rather than pulling one, and a commented line shows the published image tag you can switch to instead.
services:
autobrr:
# image: ghcr.io/autobrr/autobrr:develop
build:
context: .
dockerfile: Dockerfile
container_name: autobrr
volumes:
- ./config:/config
ports:
- "7474:7474"
restart: unless-stoppedThe port mapping is the part to remember: the container listens on 7474, the Dockerfile also declares EXPOSE 7474, and the entrypoint is autobrr --config /config, so all state lives under the mounted ./config directory. After the container is up you open the web UI on that port and work through the configuration guide to add an indexer, an IRC network and a download client.
If you build from source instead, the Makefile is the entry point. make deps installs the web dependencies with pnpm and downloads the Go modules, make build runs the web build and then compiles the binary into bin/autobrr, and make install copies it to /usr/local/bin along with the man page from docs/man/autobrr.1. There is also make dev, which requires tmux and starts the web dev server and the Go binary side by side in one session.
make deps
make build
make installWhat you should see after a successful install is the web UI on port 7474 with an empty filter list. The first useful thing to create is not a filter but a download client and an IRC network, because a filter with no action and no input source does nothing. The README's own ordering is the same: install first, then configure indexers, IRC and clients.
Where autobrr stops being the right tool
autobrr is an event router, not a library manager. It does not know what you already have, and it does not search for missing episodes or movies. If a release is never announced on an IRC channel you are connected to and never appears in one of your configured feeds, autobrr will never see it. Backfill is out of scope.
The failure mode that matters most is silent. A filter is a set of conditions plus regexes, and the README does not document a dry-run mode for filters. If your regex is slightly wrong, or the announce format from an indexer differs from what you assumed, the release simply does not match. Nothing errors. You find out later, when you notice you own nothing from that tracker. The same applies to an IRC network that drops and does not reconnect, or a client credential that has expired: the pipeline goes quiet rather than loud.
The second limitation is scope. autobrr does not maintain ratio by itself, does not cross-seed, and does not replace your client's queue management. The README mentions qBittorrent support includes built-in re-announce, categories, rules and max active downloads, which is autobrr acting on the client, not the client's own scheduling. If you want cross-seeding between trackers, that is a separate tool.
Third, the deployment is not trivial. You need a client that autobrr can reach, credentials for it, IRC details for each tracker, and per-tracker filter rules. The README's own instructions send you to a separate configuration guide after install, which is a fair signal that the install is the easy half.
autobrr vs Prowlarr and autobrr vs Sonarr: different jobs
The comparison people search for is autobrr vs Prowlarr, and the difference is in what each one does with an indexer. Prowlarr is an indexer proxy: it holds indexer definitions and serves search and feed requests to the *arr applications, which then poll it on their own schedule. autobrr holds its own connections to IRC announce channels and feeds, and reacts to announces as they arrive.
That means they are not substitutes. Prowlarr answers the question "where can I search for this release". autobrr answers "a release just appeared, do I want it, and where should it go". You can run both, and the README's *arr actions make that explicit: autobrr can hand a release to Sonarr or Radarr, which then applies their own quality profile and decides. In that setup autobrr is the fast path and the *arr apps remain the decision makers.
The autobrr vs Sonarr and autobrr vs Radarr comparisons are the same shape. Sonarr and Radarr track what you want over time and use RSS to find it. autobrr does not track a library and does not know what you are missing. The README states the *arr route plainly: when a filter sends to Radarr and Sonarr, they decide if it is something they want and forward it to their configured client. So the honest framing is that autobrr accelerates the *arr pipeline rather than replacing it, unless you skip the *arr apps entirely and send matches straight to a torrent client or to SABnzbd and NZBGet for Usenet.
Licence, maintenance and what an upgrade costs
autobrr is licensed GPL-2.0, and the LICENSE file sits at the repository root. The practical consequence is the usual copyleft one: if you modify autobrr and distribute it, the GPL applies to that distribution. Running it on your own seedbox or in a container for personal use is not distribution. If you plan to embed it in a product you ship, read the licence text rather than a summary, and get advice from someone qualified if the answer matters commercially. Nothing here is legal advice.
The repository is not archived, and the last push was on 2026-09-10. Releases are frequent: v1.86.0 landed on 2026-09-10, v1.85.0 on 2026-08-27, and v1.84.0 on 2026-08-13, which is roughly a two week cadence across that window. The default branch is develop, not main, so the published images and tags are the stable surface and the branch itself moves faster.
Upgrade cost depends on how you installed it. A container deployment is a tag change and a restart, with the database and configuration persisted in the mounted /config volume. A source install means rebuilding the web front end as well as the Go binary, since the Dockerfile builds web/ with pnpm and copies the output into the Go build. The Makefile's make build does both, and make clean removes bin and web/dist. Neither path has documented rollback, and the README does not describe a downgrade procedure, so the thing to verify before upgrading is that you have a copy of the config directory. The database engine supports both PostgreSQL and SQLite, and if you run SQLite the whole state is a file inside that directory.
Editorial conclusion
Adopt autobrr if you race releases on private trackers, run qBittorrent, Deluge, rTorrent, Transmission, Porla or aria2, and already have a working client you can point an action at. Skip it if you only use public trackers with no IRC announce, or if you expect it to search for content, since that is Sonarr, Radarr and Prowlarr territory. Verify first that your indexers actually announce on IRC and that your filter regexes match the release names you care about, because a filter that never matches produces no error, only silence.
Frequently asked questions
What is autobrr used for?
It monitors tracker IRC announce channels and RSS, Torznab or Newznab feeds, matches releases against filters you define, and sends the matched torrent or NZB to a download client, an *arr app, a watch folder, a script or a webhook. The README describes it as download automation for torrents and Usenet, built so you can join the initial swarm of a release instead of waiting for an RSS poll.
What are the differences between autobrr and Prowlarr?
Prowlarr is an indexer proxy that the *arr applications query on their own polling schedule. autobrr holds its own IRC and feed connections and reacts to announces as they arrive, then hands the release to a client or to an *arr app. The README's *arr actions show they are meant to be used together rather than as alternatives.
How do I install autobrr?
The README points to the installation guide at autobrr.com for Windows, Linux, Docker and other platforms. On managed seedboxes it is a single command: sudo box install autobrr on Swizzin, sb install autobrr on Saltbox, or qb install autobrr -u ${username} on QuickBox. The repository also ships a docker-compose.yml that maps port 7474 and mounts ./config.
How do I set up autobrr after installing it?
The README directs you to the configuration guide to set up indexers, IRC and download clients once the install is done. In practice you add a download client and an IRC network or feed first, then create a filter with conditions and an action that points at that client. A filter with no action has nowhere to send a match.
Which download clients does autobrr support?
The README lists qBittorrent, Deluge v1 and v2, rTorrent, Transmission, Porla and aria2 for torrents, SABnzbd and NZBGet for Usenet, and Sonarr, Radarr, Lidarr, Whisparr, Readarr and Sportarr as *arr targets. It also supports a watch folder, custom exec scripts and a webhook, and one autobrr instance can communicate with multiple clients on remote servers.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/autobrr-autobrr)