title | description | published | date | tags | editor | dateCreated |
---|---|---|---|---|---|---|
Useful Tools |
companions to the *Arr Suite of Applications or media hoarding in general. They are not maintained, developed, nor supported by the *Arr Development Team. |
true |
2024-08-24 04:52:07 UTC |
useful-tools |
markdown |
2021-06-05 20:51:53 UTC |
- Table of Contents
- Recovering a Corrupt DB
- Finding Cookies
- Clearing Cookies and Local Storage
- Using Environment Variables for Config
- Other Projects and Programs - Request Apps *Arrs
- Other Projects and Programs - *Arr Related
- Other Projects and Programs - Torrents/Downloading
- Other Projects and Programs
The following apps are companions to the *Arr Suite of Applications or media hoarding in general. They are not maintained, developed, nor supported by the *Arr Development Team. Please direct any specific support questions to the respective application development team.
Note that the application's database can be found in the Application Data Directory which are linked below. The directory may also be passed as a datadir argument.
- Lidarr Appdata Directory
- Prowlarr Appdata Directory
- Radarr Appdata Directory
- Readarr Appdata Directory
- Sonarr Appdata Directory {.links-list}
There are two options to recover the database which are listed below.{.is-info}
{#windows} {#recovering-a-corrupt-db-ui}
Note this effectively does the same as
.recover
which requires Sqlite v3.29 | Please refer to the Sqlite docs for more details on the.recover
command. The steps to do so are linked below {.is-info}
DB Browser for SQLite (DB4S) is a high quality, visual, open source tool to create, design, and edit database files compatible with SQLite. DB4S is for users and developers who want to create, search, and edit databases. DB4S uses a familiar spreadsheet-like interface, and complicated SQL commands do not have to be learned. {.is-info}
- Stop the application
- Make a copy of your corrupt database (
.db
) and copy any.shm
and.wal
files with it - Open your corrupt database in DB Browser for SQLite (DB4S)
- File => Export => Export database to SQL file
- Select all tables
- Check/Enable "Keep column names in INSERT INTO"
- Export Everything
- Overwrite old schema
- Save
- Close the database
- New Database => File => Import => import that file from the previous export step
- Any import errors or constraint issues, clean up the problematic insert statement if possible or delete it
- Execute the following SQL
VACUUM;
- Save the database when prompted.
- Tools => Integrity Check; the result should say OK
- Close the database
- Remove all
wal
,shm
, anddb
files from the config folder - Save (or copy, if *Arr is not on the same system as DB4S) the new database in the config folder and point the application at it. All *Arrs name their database as
<appname>.db
e.g.radarr.db
- Correct permissions for the recovered database if needed. The owner should be the user and group *Arr is configured to run as.
- Start the application
Please note that the gif does not cover the VACUUM;
command
{#nix}
The below instructions are for *Nix Operating Systems, but the concept will be similar on Windows Command Line.
This uses the sqlite3
.recover
command is ideal. Note that it requires Sqlite 3.29+ {.is-info}
Given sqlite3 is required by *Arrs it is assumed you have sqlite3 installed on your system {.is-info}
- Stop the application
- SSH into your box or otherwise get a shell up
- Enter
sqlite3 <path to bad database> ".recover" | sqlite3 <output path for recovered database>
- Correct permissions for the recovered database if needed. The owner should be the user and group *Arr is configured to run as.
- Remove or move/rename the old corrupt database and any
wal
orshm
in the folder - Rename the covered database. All *Arrs name their database as
<appname>.db
e.g.radarr.db
- Start the application
- Some sites cannot be logged into automatically and require you to login manually then give the cookies to to work. The pages below describe how you do that.
- Login to the Web Site with your browser using the Site Link address you have chosen to use from the Prowlarr indexer config
- Open the DevTools panel by pressing F12
- Select the Network tab
- Click on the Doc button (Chrome Browser) or HTML button (Firefox Browser)
- Refresh the page by pressing F5
- Click on the first row entry
- Select the Headers tab on the right panel
- Find 'cookie:' in the Request Headers section. Refer to the helptext within the UI for your tracker for details
- Select and Copy the whole cookie string (everything after the cookie: )
- Delete anything already in the Prowlarr indexer config cookie box
- Paste your copied cookie string to that box
- Click Save
If user agent is required for your tracker, it can be found in the Request Headers {.is-info}
- Be sure to use the Browser from the same machine that is running Prowlarr, as cookies will rarely work from other platforms.
- On the login page for the Web site do not tick any options that restrict your session to one IP address, or logout after a short time. If there is a Remember me option, use it.
- Make sure that before fetching the cookie you can access the Site's torrent search page, as anything the site does to prevent this (alerts, unread notices or unread PM, or a low ratio warning) will stop Prowlarr from having a successful test after using the cookie.
-
Go to the torrent tracker website and log in.
-
Hit F12
-
Under the Application tab at the top, there will be "Storage" on the left side. You will see a "Cookies" subsection, and under that you will see your tracker's url. Click on that.
-
Click on "Pass" on that tab or a similar entry, and it will pop up a box that says "Cookie Value" with a string about 25-30 chars long. Copy that and paste it into the application that needs it.
- If the string looks similar to
cid=cid-that-you-got-from-the-browser; sid=sid-that-you-got-from-the-browser
then the entire entry should be used.
- If the string looks similar to
- You may also reference Chrome's documents Chrome cookies
- Navigate to
chrome://settings/siteData
- Enter the site (or app) name you wish to clear
- Click the trash icon for the site
- Please see Mozilla's Help Article
- Navigate to
edge://settings/siteData
- Enter the site (or app) name you wish to clear
- Click the arrow for the site
- Click the trash icon for the site
All of the *arrs now have the ability to use environment variables to override entries in config.xml. The pattern for variable naming is predictable and can be used to set any config entry. In general the environment variables are comprised of 3 parts, delimited by two underscores.
APPNAME__CONFIGNAMESPACE__CONFIGITEM
The app name that should be used is simply the app name that the environment variable is passed to: RADARR
, SONARR
, PROWLARR
, etc.
The config namespaces are currently predictable and shared between all apps. It is simply the option types for the options files in the project, located in the src/NzbDrone.Common/Options
directory. The namespaces are currently:
- APP
- AUTH
- LOG
- POSTGRES
- SERVER
- UPDATE
Each of these options namespaces has several config items below it. Below you can find the entire directory for each. You must replace *ARR
with whatever *arr app you are setting up. These have not all been tested and may be wrong.
Option Name in config.xml | Namespace | Option Name | Full Environment Variable Name |
---|---|---|---|
InstanceName | APP | INSTANCENAME | *ARR__APP__INSTANCENAME |
Theme | APP | THEME | *ARR__APP__THEME |
LaunchBrowser | APP | LAUNCHBROWSER | *ARR__APP__LAUNCHBROWSER |
ApiKey | AUTH | APIKEY | *ARR__AUTH__APIKEY |
AuthenticationEnabled | AUTH | ENABLED | *ARR__AUTH__ENABLED |
AuthenticationMethod | AUTH | METHOD | *ARR__AUTH__METHOD |
AuthenticationRequired | AUTH | REQUIRED | *ARR__AUTH__REQUIRED |
LogLevel | LOG | LEVEL | *ARR__LOG__LEVEL |
FilterSentryEvents | LOG | FILTERSENTRYEVENTS | *ARR__LOG__FILTERSENTRYEVENTS |
LogRotate | LOG | ROTATE | *ARR__LOG__ROTATE |
LogSizeLimit | LOG | SIZELIMIT | *ARR__LOG__SIZELIMIT |
LogSql | LOG | SQL | *ARR__LOG__SQL |
ConsoleLogLevel | LOG | CONSOLELEVEL | *ARR__LOG__CONSOLELEVEL |
ConsoleLogFormat | LOG | CONSOLEFORMAT | *ARR__LOG__CONSOLEFORMAT |
AnalyticsEnabled | LOG | ANALYTICSENABLED | *ARR__LOG__ANALYTICSENABLED |
SyslogServer | LOG | SYSLOGSERVER | *ARR__LOG__SYSLOGSERVER |
SyslogPort | LOG | SYSLOGPORT | *ARR__LOG__SYSLOGPORT |
SyslogLevel | LOG | SYSLOGLEVEL | *ARR__LOG__SYSLOGLEVEL |
DbEnabled | LOG | DBENABLED | *ARR__LOG__DBENABLED |
PostgresHost | POSTGRES | HOST | *ARR__POSTGRES__HOST |
PostgresPort | POSTGRES | PORT | *ARR__POSTGRES__PORT |
PostgresUser | POSTGRES | USER | *ARR__POSTGRES__USER |
PostgresPassword | POSTGRES | PASSWORD | *ARR__POSTGRES__PASSWORD |
PostgresMainDb | POSTGRES | MAINDB | *ARR__POSTGRES__MAINDB |
PostgresLogDb | POSTGRES | LOGDB | *ARR__POSTGRES__LOGDB |
UrlBase | SERVER | URLBASE | *ARR__SERVER__URLBASE |
BindAddress | SERVER | BINDADDRESS | *ARR__SERVER__BINDADDRESS |
Port | SERVER | PORT | *ARR__SERVER__PORT |
EnableSsl | SERVER | ENABLESSL | *ARR__SERVER__ENABLESSL |
SslPort | SERVER | SSLPORT | *ARR__SERVER__SSLPORT |
SslCertPath | SERVER | SSLCERTPATH | *ARR__SERVER__SSLCERTPATH |
SslCertPassword | SERVER | SSLCERTPASSWORD | *ARR__SERVER__SSLCERTPASSWORD |
UpdateMechanism | UPDATE | MECHANISM | *ARR__UPDATE__MECHANISM |
UpdateAutomatically | UPDATE | AUTOMATICALLY | *ARR__UPDATE__AUTOMATICALLY |
UpdateScriptPath | UPDATE | SCRIPTPATH | *ARR__UPDATE__SCRIPTPATH |
Branch | UPDATE | BRANCH | *ARR__UPDATE__BRANCH |
Notifiarr is a tool created to facilitate more in-depth detailed discord notifications by one of the *Arr Developers. It provides a configurable way to add notifications (including reactions) based on triggers you pick. Website provides a UI or picking what to show in the notification. Includes support for Grab, Import, Upgrade, Health, & Failed notifications in addition to much more.
Highlights
- Application Status
- Requests and Approvals (~Ombi)
- Customizable *ARR application notifications
- Request System with approvals
- Follow system for users to monitor a series or movie and be notified (via @mentions)
- Server Status
- Frequent New Features
Ombi gives users the ability to request movies, tv shows (series, seasons or single episodes) and music albums.
Overseerr is a request management and media discovery tool built to work with your existing Plex ecosystem.
Jellyseerr is a fork of Overseerr built to bring support for Jellyfin & Emby media servers.
Petio is a third party companion app available to Plex server owners to allow their users to request, review and discover content.
The app is built to appear instantly familiar and intuitive to even the most tech-agnostic users. Petio will help you manage requests from your users, connect to other third party apps such as Sonarr and Radarr, notify users when content is available and track request progress. Petio also allows users to discover media both on and off your server, quickly and easily find related content and review to leave their opinion for other users.
LunaSea is a fully featured, open source self-hosted controller! Focused on giving you a seamless experience between all of your self-hosted media software. Manage new media content fetched via Lidarr, Radarr, and Sonarr.
Add new movies/shows to your system easily with your phone. App available at Google Play
nzb360 provides management of Sonarr, Radarr, Lidarr, torrents, usenet, and other services. App available at Google Play Check official website for more info.
Automated Music Downloader RandomNinjaAtk/amd is a Lidarr companion script to automatically download music for Lidarr
Automated Music Video Downloader RandomNinjaAtk/amvd is a Lidarr companion script to automatically download and tag Music Videos for use in other video applications (plex/kodi/jellyfin/emby)
Automated Movie Trailer Downloader RandomNinjaAtk/amtd is a Radarr companion script to automatically download movie trailers and extras for use in other video applications (plex/kodi/jellyfin/emby)
Bazarr is a companion application to Sonarr and Radarr that manages and downloads subtitles based on your requirements.
Cross-Seed is an app designed to help you download torrents that you can cross seed based on your existing torrents. It is designed to match conservatively to minimize manual intervention. It supports Jackett and Qbittorrent/rTorrent at this time.
Toolbarr provides a suite of utilities to fix problems with Starr applications. Toolbarr allows you to perform various actions against your Starr apps and their SQLite3 databases. The most useful feature is being able to convert paths from linux to windows and windows to linux.
Unpackerr This application runs as a daemon on your download host. It checks for completed downloads and extracts them so *Arr may import them.
- There are a handful of options out there for extracting and deleting files after your client downloads them. Captain just didn't care for any of them, so he wrote his own. He wanted a small single-binary with reasonable logging that can extract downloaded archives and clean up the mess after they've been imported.
qBit Management a.k.a. "qbit_manage" is a program used to manage your qBittorrent instance such as:
- Tag torrents based on tracker URL (only tag torrents that have no tags)
- Update categories based on save directory
- Remove unregistered torrents (delete data & torrent if it is not being cross-seeded, otherwise it will just remove the torrent)
- Automatically add cross-seed torrents in paused state (used in conjunction with the cross-seed script)
- Recheck paused torrents sorted by lowest size and resume if completed
- Remove orphaned files from your root directory that are not referenced by qBittorrent
- Tag any torrents that have no hard links and utilize Share Limits to remove them
- Apply Share Limits based on tags and categories
FileBot is the ultimate tool for organizing and renaming your Movies, TV Shows and Anime as well as fetching subtitles and artwork. It's smart and just works.
Jdupes is a program for identifying and taking actions upon duplicate files.
TRaSH has a guide as well {.is-info}
-
jdupes -M -r "/data/tv/" "/data/tv/.torrents/"
<= this would check for double files and print a summary of the results -
jdupes -L -r "/data/tv/" "/data/tv/.torrents/"
<= this would recreate them as hard links thus reducing the used duplicate space
- Drazzilb's collection of unRAID (and native compatible) userscripts and other scripts around the internet that he finds neat/useful. The list of scripts can be found on his wiki.
- Drazzilb's Upgradinatorr is a script is designed to keep your media in sync with your Radarr/Sonarr's Custom Formats/Scoring. It is a python script to manually search N items that are not tagged with a specific tag in your Radarr/Sonarr media library. N is the number of items this script will search for, this has the added benefit that you don't hammer your indexers and get banned :) This script is a python port of Cuban's Powershell Upgradinatorr; thanks again Cuban.
- Just A Bunch Of Starr Scripts
- Cuban's Upgradinatorr is a Powershell script to manually search N items that are not tagged with a specific tag in your Radarr/Sonarr media library. N is the number of items this script will search for, this has the added benefit that you don't hammer your indexers and get banned :)
Kometa (FKA Meta Manager (PMM)) is a Python script to update metadata information for movies, shows, and collections as well as automatically build collections.
Kometa (formerly known as Plex Meta Manager) is a powerful tool designed to give you complete control over your media libraries. With Kometa, you can take your customization to the next level, with granular control over metadata, collections, overlays, and much more.
Tautulli is a 3rd party application that you can run alongside your Plex Media Server to monitor activity and track various statistics. Most importantly, these statistics include what has been watched, who watched it, when and where they watched it, and how it was watched. The only thing missing is "why they watched it", but who am I to question your 42 plays of Frozen. All statistics are presented in a nice and clean interface with many tables and graphs, which makes it easy to brag about your server to everyone else.
Tdarr is a closed-source self hosted web-app for automating media library transcode/remux management and making sure your files are exactly how you need them to be in terms of codecs/streams/containers etc. Designed to work alongside Sonarr/Radarr and built with the aim of modularization, parallelization and scalability, each library you add has its own transcode settings, filters and schedule. Workers can be fired up and closed down as necessary, and are split into 3 types - 'general', 'transcode' and 'health check'. Worker limits can be managed by the scheduler as well as manually.
tdarr_inform is a custom script for Sonarr and Radarr to inform Tdarr of new/changed/deleted files without relying on filesystem events or frequent disk scanning.
Deleterr is a tool to delete stale and inactive media from Plex/Sonarr/Radarr. It helps managing limited space when you allow users to request shows via Overseerr/Ombi but don't want to manually monitor available disk space. It's configurable to support only deleting media meeting your defined criteria.
Create a Twitter application (if you haven't already) at https://apps.twitter.com/
Fill in the mandatory fields as well as the callback URL, set it to a publicly available URL (not localhost), it doesn't need to exist, but it does need to be set, using https://sonarr.tv/twitter or https://radarr.video is sufficient.