Scott E. Graves 48ceec71d4
Some checks are pending
Public/monitarr/pipeline/head Build queued...
added CHANGELOG.md
2025-04-13 08:00:10 -05:00
2025-02-22 06:05:08 -06:00
2025-04-13 07:55:30 -05:00
2025-04-13 07:55:30 -05:00
2025-04-13 07:55:30 -05:00
2025-04-13 07:55:30 -05:00
2025-04-13 07:55:30 -05:00
2025-02-18 14:31:57 -06:00
2025-02-18 14:31:57 -06:00
2025-02-18 14:31:57 -06:00
2025-03-14 10:58:01 -05:00
2025-02-20 18:26:44 -06:00
fix
2025-03-04 10:54:10 -06:00
2025-02-18 14:31:57 -06:00
2025-04-13 08:00:10 -05:00
2025-02-19 09:35:47 -06:00
2025-03-15 16:12:10 -05:00
2025-03-03 09:04:01 -06:00
2025-02-18 14:30:17 -06:00
2025-02-18 14:31:57 -06:00
2025-03-03 09:04:01 -06:00

monitarr

A utility to remove and block stalled downloads in lidarr, radarr and sonarr. monitarr will check for stalled downloads by keeping track of the bytes transferred over a given time period (timeout_minutes). If no change in transferred bytes is detected, it will remove and block the stalled download and then initiate a search for a replacement.

Usage

monitarr -b -i <index> -id <record id>
  # blocklist and search record id at configuration index

monitarr -c
  # display configuration

monitarr -h
  # display help

monitarr -l -i <index>
  # display server queue at configuration index

monitarr -r
  # run monitarr server

monitarr -s -i <index> -id <record id>
  # show record id details at configuration index

monitarr -t
  # test all server connectivity

Initial setup

  • Execute monitarr -c to create and display the initial configuration
  • Modify the config/monitarr.json file to add your servers. The id field must contain lidarr, radarr or sonarr but may include other characters to uniquely identify the server instance for multi-server setups. Example:
{
  "check_interval_minutes": 5,
  "server_list": [
    {
      "api_key": "<my api key>",
      "api_version": "v1",
      "id": "lidarr 1",
      "timeout_minutes": 1440,
      "url": "http://localhost:8686"
    },
    {
      "api_key": "<my api key>",
      "api_version": "v1",
      "id": "lidarr 2",
      "timeout_minutes": 1440,
      "url": "http://localhost:8687"
    },
    {
      "api_key": "<my api key>",
      "api_version": "v3",
      "id": "radarr",
      "timeout_minutes": 1440,
      "url": "http://localhost:7878"
    },
    {
      "api_key": "<my api key>",
      "api_version": "v3",
      "id": "sonarr",
      "timeout_minutes": 1440,
      "url": "http://localhost:8989"
    }
  ]
}
  • Execute monitarr -r to continuously monitor the configured servers.

NOTE: All servers listed in the configuration file will be checked based on the value of check_interval_minutes. If no change is detected in a queued item within the timeout_minutes value, the download will be removed and blocked.

Credits

Inspired by the work of the following project: ArrStalledHandler

Developer Public Key

-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqXedleDOugdk9sBpgFOA
0+MogIbBF7+iXIIHv8CRBbrrf8nxLSgQvbHQIP0EklebDgLZRgyGI3SSQYj7D957
uNf1//dpkELNzfuezgAyFer9+iH4Svq46HADp5k+ugaK0mMDZM7OLOgo7415/+z4
NIQopv8prMFdxkShr4e4dpR+S6LYMYMVjsi1gnYWaZJMWgzeZouXFSscS1/XDXSE
vr1Jfqme+RmB4Q2QqGcDrY2ijumCJYJzQqlwG6liJ4FNg0U3POTCQDhQmuUoEJe0
/dyiWlo48WQbBu6gUDHbTCCUSZPs2Lc9l65MqOCpX76+VXPYetZgqpMF4GVzb2y9
kETxFNpiMYBlOBZk0I1G33wqVmw46MI5IZMQ2z2F8Mzt1hByUNTgup2IQELCv1a5
a2ACs2TBRuAy1REeHhjLgiA/MpoGX7TpoHCGyo8jBChJVpP9ZHltKoChwDC+bIyx
rgYH3jYDkl2FFuAUJ8zAZl8U1kjqZb9HGq9ootMk34Dbo3IVkc2azB2orEP9F8QV
KxvZZDA9FAFEthSiNf5soJ6mZGLi0es5EWPoKMUEd9tG5bP980DySAWSSRK0AOfE
QShT/z7oG79Orxyomwrb8ZJCi7wEfcCuK1NWgqLVUgXhpi2J9WYS6DAbF3Oh3Hhl
DYSHlcfFBteqNDlR2uFInIECAwEAAQ==
-----END PUBLIC KEY-----
Description
Detect, remove and block stalled downloads in lidarr, radarr and sonarr
Readme MIT 755 MiB
2025-04-13 11:50:21 -05:00
Languages
C++ 90.5%
Shell 5.7%
CMake 3.6%
Batchfile 0.2%