Feramance / qBitrr

A simple Python script to talk to qBittorrent and Arr's
MIT License
82 stars 2 forks source link

Internal Server Error when blocklisting torrents on Radarr/Sonarr #64

Closed DeadPackets closed 6 months ago

DeadPackets commented 7 months ago

Whenever qBitrr tries to blocklist a stalled torrent on any *Arr app, it generates an error. Logs below:

qbitrr-1  | [2024-02-28 02:27:29] [pid:      10][tid:140329628478336] INFO    : qBitrr.Radarr-1080 : Deleting Stale torrent: Stalled State | [Progress: 0%][Added On: 2024-01-30 21:21:20][Availability: 0%][Time Left: 100 days, 0:00:00][Last active: 2024-01-30 21:21:20] | [TorrentState.METADATA_DOWNLOAD] | The.Wall.2017.1080p.BluRay.x265.HEVC.AAC.mkv (0451b7ffaf4dfa78ec17ea5aa69b24cb60cf30f7)
qbitrr-1  | [2024-02-28 02:27:29] [pid:      10][tid:140329628478336] TRACE   : qBitrr.Radarr-1080 : Config Settings for torrent [Poor Things (2023) [1080p] [WEBRip] [5.1] [YTS.MX]]: {'ratio_limit': -5, 'seeding_time_limit': -5, 'dl_limit': -5, 'up_limit': -5, 'super_seeding': False, 'max_eta': 36000}
qbitrr-1  | [2024-02-28 02:27:29] [pid:      10][tid:140329628478336] TRACE   : qBitrr.Radarr-1080 : Torrent Settings for torrent [Poor Things (2023) [1080p] [WEBRip] [5.1] [YTS.MX]]: {'ratio_limit': 1, 'seeding_time_limit': -5, 'dl_limit': -5, 'up_limit': -5, 'super_seeding': False}
qbitrr-1  | [2024-02-28 02:27:29] [pid:      10][tid:140329628478336] TRACE   : qBitrr.Radarr-1080 : Torrent [Poor Things (2023) [1080p] [WEBRip] [5.1] [YTS.MX]]: Leave Alone (allow seeding): True, Max ETA: 36000, State[TorrentState.STALLED_UPLOAD]
qbitrr-1  | [2024-02-28 02:27:29] [pid:      10][tid:140329628478336] TRACE   : qBitrr.Radarr-1080 : Torrent State: Completed | Allowing Seeding | [Progress: 100%][Added On: 2024-02-27 23:08:39][Availability: -100%][Time Left: 100 days, 0:00:00][Last active: 2024-02-28 02:14:03] | [TorrentState.STALLED_UPLOAD] | Poor Things (2023) [1080p] [WEBRip] [5.1] [YTS.MX] (5b2b689438bf124d09289f1872f0031fabc7dde8)
qbitrr-1  | [2024-02-28 02:27:29] [pid:      10][tid:140329628478336] DEBUG   : qBitrr.Radarr-1080 : Blocklisting: 0451B7FFAF4DFA78EC17EA5AA69B24CB60CF30F7 (Deleted)
qbitrr-1  | [2024-02-28 02:27:29] [pid:      10][tid:140329628478336] ERROR   : qBitrr.Radarr-1080 : Internal Server Error: The method or operation is not implemented.
qbitrr-1  | Traceback (most recent call last):
qbitrr-1  |   File "/usr/local/lib/python3.10/site-packages/qBitrr/arss.py", line 2976, in process_torrents
qbitrr-1  |     self.process()
qbitrr-1  |   File "/usr/local/lib/python3.10/site-packages/qBitrr/arss.py", line 2925, in process
qbitrr-1  |     self._process_failed()
qbitrr-1  |   File "/usr/local/lib/python3.10/site-packages/qBitrr/arss.py", line 1033, in _process_failed
qbitrr-1  |     self._process_failed_individual(
qbitrr-1  |   File "/usr/local/lib/python3.10/site-packages/qBitrr/arss.py", line 835, in _process_failed_individual
qbitrr-1  |     self.delete_from_queue(id_=entry, blacklist=True)
qbitrr-1  |   File "/usr/local/lib/python3.10/site-packages/qBitrr/arss.py", line 2531, in delete_from_queue
qbitrr-1  |     res = self.client.del_queue(id_, remove_from_client, blacklist)
qbitrr-1  |   File "/usr/local/lib/python3.10/site-packages/pyarr/base.py", line 505, in del_queue
qbitrr-1  |     return self._delete(f"queue/{id_}", self.ver_uri, params=params)
qbitrr-1  |   File "/usr/local/lib/python3.10/site-packages/pyarr/request_handler.py", line 193, in _delete
qbitrr-1  |     response = _process_response(res)
qbitrr-1  |   File "/usr/local/lib/python3.10/site-packages/pyarr/request_handler.py", line 248, in _process_response
qbitrr-1  |     raise PyarrServerError(
qbitrr-1  | pyarr.exceptions.PyarrServerError: Internal Server Error: The method or operation is not implemented.
Feramance commented 7 months ago

Please attach your configs

DeadPackets commented 7 months ago

Sure! Here's my config with some values obfuscated:

[Settings]
# Level of logging; One of CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG, TRACE
ConsoleLevel = "TRACE"

# Enable logging to files
Logging = true

# Folder where your completed downloads are put into. Can be found in qBitTorrent -> Options -> Downloads -> Default Save Path
CompletedDownloadFolder = "/completed_downloads"

# The desired amount of free space in the downloads directory [K=kilobytes, M=megabytes, G=gigabytes, T=terabytes] (set to -1 to disable)
FreeSpace = "-1"

# Time to sleep for if there is no internet (in seconds: 600 = 10 Minutes)
NoInternetSleepTimer = 15

# Time to sleep between reprocessing torrents (in seconds: 600 = 10 Minutes)
LoopSleepTimer = 15

# Time to sleep between posting search commands (in seconds: 600 = 10 Minutes)
SearchLoopDelay = 5

# Add torrents to this category to mark them as failed
FailedCategory = "failed"

# Add torrents to this category to trigger them to be rechecked properly
RecheckCategory = "recheck"

# Ignore Torrents which are younger than this value (in seconds: 600 = 10 Minutes)
# Only applicable to Re-check and failed categories
IgnoreTorrentsYoungerThan = 180

# URL to be pinged to check if you have a valid internet connection
# These will be pinged a **LOT** make sure the service is okay with you sending all the continuous pings.
PingURLS = ["one.one.one.one", "dns.google.com"]

# FFprobe auto updates, binaries are downloaded from https://ffbinaries.com/downloads
# If this is disabled and you want ffprobe to work
# Ensure that you add the ffprobe binary to the folder"/config/qBitManager/ffprobe.exe"
# If no `ffprobe` binary is found in the folder above all ffprobe functionality will be disabled.
# By default this will always be on even if config does not have these key - to disable you need to explicitly set it to `False`
FFprobeAutoUpdate = false

[qBit]
# If this is enable qBitrr can run in a headless mode where it will only process searches.
# If media search is enabled in their individual categories
# This is useful if you use for example Sabnzbd/NZBGet for downloading content but still want the faster media searches provided by qbit
Disabled = false

# qBit WebUI Port - Can be found in Options > Web UI (called "IP Address")
Host = "qbittorrent"

# qBit WebUI Port - Can be found in Options > Web UI (called "Port" on top right corner of the window)
Port = 8080

# qBit WebUI Authentication - Can be found in Options > Web UI > Authentication
UserName = "REDACTED"

# If you set "Bypass authentication on localhost or whitelisted IPs" remove this field.
Password = "REDACTED"

[Sonarr-TV]

# Toggle whether to manage the Servarr instance torrents.
Managed = true

# The URL used to access Servarr interface (if you use a domain enter the domain without a port)
URI = "http://sonarr:8989"

# The Servarr API Key, Can be found it Settings > General > Security
APIKey = "REDACTED"

# Category applied by Servarr to torrents in qBitTorrent, can be found in Settings > Download Clients > qBit > Category
Category = "tv-sonarr"

# Toggle whether to send a query to Servarr to search any failed torrents
ReSearch = true

# The Servarr's Import Mode(one of Move, Copy or Auto)
importMode = "Auto"

# Timer to call RSSSync (In minutes) - Set to 0 to disable (Values below 5 can cause errors for maximum retires)
RssSyncTimer = 5

# Timer to call RefreshDownloads to update the queue. (In minutes) - Set to 0 to disable (Values below 5 can cause errors for maximum retires)
RefreshDownloadsTimer = 5

# Error messages shown my the Arr instance which should be considered failures.
# This entry should be a list, leave it empty if you want to disable this error handling.
# If enabled qBitrr will remove the failed files and tell the Arr instance the download failed
ArrErrorCodesToBlocklist = ["Unable to determine if file is a sample", "Not a preferred word upgrade for existing episode file(s)", "Not an upgrade for existing episode file(s)"]

[Sonarr-TV.EntrySearch]
# Should search for Missing files?
SearchMissing = true

# Should search for specials episodes? (Season 00)
AlsoSearchSpecials = false

# Maximum allowed Searches at any one points (I wouldn't recommend settings this too high)
# Sonarr has a hardcoded cap of 3 simultaneous tasks
SearchLimit = 3

# It will order searches by the year the EPISODE was first aired
SearchByYear = true

# Reverse search order (Start searching oldest to newest)
SearchInReverse = false

# Delay between request searches in seconds
SearchRequestsEvery = 300

# Search movies which already have a file in the database in hopes of finding a better quality version.
DoUpgradeSearch = false

# Do a quality unmet search for existing entries.
QualityUnmetSearch = false

# Do a minimum custom format score unmet search for existing entries.
CustomFormatUnmetSearch = false

# Automatically remove torrents that do not mee the minimum custom format score.
ForceMinimumCustomFormat = false

# Once you have search all files on your specified year range restart the loop and search again.
SearchAgainOnSearchCompletion = true

# Search by series instead of by episode (This ignored the QualityUnmetSearch and CustomFormatUnmetSearch setting)
SearchBySeries = true

# Prioritize Today's releases (Similar effect as RSS Sync, where it searches today's release episodes first, only works on Sonarr).
PrioritizeTodaysReleases = true

[Sonarr-TV.EntrySearch.Ombi]
# Search Ombi for pending requests (Will only work if 'SearchMissing' is enabled.)
SearchOmbiRequests = false

# Ombi URI (Note that this has to be the instance of Ombi which manage the Arr instance request (If you have multiple Ombi instances)
OmbiURI = "CHANGE_ME"

# Ombi's API Key
OmbiAPIKey = "CHANGE_ME"

# Only process approved requests
ApprovedOnly = true

[Sonarr-TV.EntrySearch.Overseerr]
# Search Overseerr for pending requests (Will only work if 'SearchMissing' is enabled.)
# If this and Ombi are both enable, Ombi will be ignored
SearchOverseerrRequests = false

# Overseerr's URI
OverseerrURI = "CHANGE_ME"

# Overseerr's API Key
OverseerrAPIKey = "CHANGE_ME"

# Only process approved requests
ApprovedOnly = true

# Only for 4K Instances
# Only for 4K Instances
Is4K = true

[Sonarr-TV.Torrent]
# Set it to regex matches to respect/ignore case.
CaseSensitiveMatches = false

# These regex values will match any folder where the full name matches the specified values here, comma separated strings.
# These regex need to be escaped, that's why you see so many backslashes.
FolderExclusionRegex = ["\\bextras?\\b", "\\bfeaturettes?\\b", "\\bsamples?\\b", "\\bscreens?\\b", "\\bnc(ed|op)?(\\\\d+)?\\b"]

# These regex values will match any folder where the full name matches the specified values here, comma separated strings.
# These regex need to be escaped, that's why you see so many backslashes.
FileNameExclusionRegex = ["\\bncop\\\\d+?\\b", "\\bnced\\\\d+?\\b", "\\bsample\\b", "brarbg.com\\b", "\\btrailer\\b", "music video", "comandotorrents.com"]

# Only files with these extensions will be allowed to be downloaded, comma separated strings or regex, leave it empty to allow all extensions
FileExtensionAllowlist = [".mp4", ".mkv", ".sub", ".ass", ".srt", ".!qB", ".parts"]

# Auto delete files that can't be playable (i.e .exe, .png)
AutoDelete = true

# Ignore Torrents which are younger than this value (in seconds: 600 = 10 Minutes)
IgnoreTorrentsYoungerThan = 180

# Maximum allowed remaining ETA for torrent completion (in seconds: 3600 = 1 Hour)
# Note that if you set the MaximumETA on a tracker basis that value is favoured over this value
MaximumETA = -1

# Do not delete torrents with higher completion percentage than this setting (0.5 = 50%, 1.0 = 100%)
MaximumDeletablePercentage = 0.99

# Ignore slow torrents.
DoNotRemoveSlow = true

Trackers = []

[Sonarr-TV.Torrent.SeedingMode]
# Set the maximum allowed download rate for torrents
# Set this value to -1 to disabled it
# Note that if you set the DownloadRateLimit on a tracker basis that value is favoured over this value
DownloadRateLimitPerTorrent = -1

# Set the maximum allowed upload rate for torrents
# Set this value to -1 to disabled it
# Note that if you set the UploadRateLimit on a tracker basis that value is favoured over this value
UploadRateLimitPerTorrent = -1

# Set the maximum allowed upload ratio for torrents
# Set this value to -1 to disabled it
# Note that if you set the MaxUploadRatio on a tracker basis that value is favoured over this value
MaxUploadRatio = -1

# Set the maximum seeding time in seconds for torrents
# Set this value to -1 to disabled it
# Note that if you set the MaxSeedingTime on a tracker basis that value is favoured over this value
MaxSeedingTime = 60

# Remove torrent condition (-1=Do not remove, 1=Remove on MaxUploadRatio, 2=Remove on MaxSeedingTime, 3=Remove on MaxUploadRatio or MaxSeedingTime, 4=Remove on MaxUploadRatio and MaxSeedingTime)
RemoveTorrent = 2

# Enable if you want to remove dead trackers
RemoveDeadTrackers = true

# If "RemoveDeadTrackers" is set to true then remove trackers with the following messages
RemoveTrackerWithMessage = ["skipping tracker announce (unreachable)", "No such host is known", "unsupported URL protocol", "info hash is not authorized with this tracker"]

# You can have multiple trackers set here or none just add more subsections.

[Sonarr-Anime]

# Toggle whether to manage the Servarr instance torrents.
Managed = false

# The URL used to access Servarr interface (if you use a domain enter the domain without a port)
URI = "CHANGE_ME"

# The Servarr API Key, Can be found it Settings > General > Security
APIKey = "CHANGE_ME"

# Category applied by Servarr to torrents in qBitTorrent, can be found in Settings > Download Clients > qBit > Category
Category = "sonarr-anime"

# Toggle whether to send a query to Servarr to search any failed torrents
ReSearch = true

# The Servarr's Import Mode(one of Move, Copy or Auto)
importMode = "Auto"

# Timer to call RSSSync (In minutes) - Set to 0 to disable (Values below 5 can cause errors for maximum retires)
RssSyncTimer = 1

# Timer to call RefreshDownloads to update the queue. (In minutes) - Set to 0 to disable (Values below 5 can cause errors for maximum retires)
RefreshDownloadsTimer = 1

# Error messages shown my the Arr instance which should be considered failures.
# This entry should be a list, leave it empty if you want to disable this error handling.
# If enabled qBitrr will remove the failed files and tell the Arr instance the download failed
ArrErrorCodesToBlocklist = ["Unable to determine if file is a sample", "Not a preferred word upgrade for existing episode file(s)", "Not an upgrade for existing episode file(s)"]

[Sonarr-Anime.EntrySearch]
# Should search for Missing files?
SearchMissing = true

# Should search for specials episodes? (Season 00)
AlsoSearchSpecials = false

# Maximum allowed Searches at any one points (I wouldn't recommend settings this too high)
# Sonarr has a hardcoded cap of 3 simultaneous tasks
SearchLimit = 3

# It will order searches by the year the EPISODE was first aired
SearchByYear = true

# Reverse search order (Start searching oldest to newest)
SearchInReverse = false

# Delay between request searches in seconds
SearchRequestsEvery = 300

# Search movies which already have a file in the database in hopes of finding a better quality version.
DoUpgradeSearch = false

# Do a quality unmet search for existing entries.
QualityUnmetSearch = false

# Do a minimum custom format score unmet search for existing entries.
CustomFormatUnmetSearch = false

# Automatically remove torrents that do not mee the minimum custom format score.
ForceMinimumCustomFormat = false

# Once you have search all files on your specified year range restart the loop and search again.
SearchAgainOnSearchCompletion = true

# Search by series instead of by episode (This ignored the QualityUnmetSearch and CustomFormatUnmetSearch setting)
SearchBySeries = true

# Prioritize Today's releases (Similar effect as RSS Sync, where it searches today's release episodes first, only works on Sonarr).
PrioritizeTodaysReleases = true

[Sonarr-Anime.EntrySearch.Ombi]
# Search Ombi for pending requests (Will only work if 'SearchMissing' is enabled.)
SearchOmbiRequests = false

# Ombi URI (Note that this has to be the instance of Ombi which manage the Arr instance request (If you have multiple Ombi instances)
OmbiURI = "CHANGE_ME"

# Ombi's API Key
OmbiAPIKey = "CHANGE_ME"

# Only process approved requests
ApprovedOnly = true

[Sonarr-Anime.EntrySearch.Overseerr]
# Search Overseerr for pending requests (Will only work if 'SearchMissing' is enabled.)
# If this and Ombi are both enable, Ombi will be ignored
SearchOverseerrRequests = false

# Overseerr's URI
OverseerrURI = "CHANGE_ME"

# Overseerr's API Key
OverseerrAPIKey = "CHANGE_ME"

# Only process approved requests
ApprovedOnly = true

# Only for 4K Instances
# Only for 4K Instances
Is4K = false

[Sonarr-Anime.Torrent]
# Set it to regex matches to respect/ignore case.
CaseSensitiveMatches = false

# These regex values will match any folder where the full name matches the specified values here, comma separated strings.
# These regex need to be escaped, that's why you see so many backslashes.
FolderExclusionRegex = ["\\bextras?\\b", "\\bfeaturettes?\\b", "\\bsamples?\\b", "\\bscreens?\\b", "\\bspecials?\\b", "\\bova\\b", "\\bnc(ed|op)?(\\\\d+)?\\b"]

# These regex values will match any folder where the full name matches the specified values here, comma separated strings.
# These regex need to be escaped, that's why you see so many backslashes.
FileNameExclusionRegex = ["\\bncop\\\\d+?\\b", "\\bnced\\\\d+?\\b", "\\bsample\\b", "brarbg.com\\b", "\\btrailer\\b", "music video", "comandotorrents.com"]

# Only files with these extensions will be allowed to be downloaded, comma separated strings or regex, leave it empty to allow all extensions
FileExtensionAllowlist = [".mp4", ".mkv", ".sub", ".ass", ".srt", ".!qB", ".parts"]

# Auto delete files that can't be playable (i.e .exe, .png)
AutoDelete = false

# Ignore Torrents which are younger than this value (in seconds: 600 = 10 Minutes)
IgnoreTorrentsYoungerThan = 180

# Maximum allowed remaining ETA for torrent completion (in seconds: 3600 = 1 Hour)
# Note that if you set the MaximumETA on a tracker basis that value is favoured over this value
MaximumETA = -1

# Do not delete torrents with higher completion percentage than this setting (0.5 = 50%, 1.0 = 100%)
MaximumDeletablePercentage = 0.99

# Ignore slow torrents.
DoNotRemoveSlow = true

[Sonarr-Anime.Torrent.SeedingMode]
# Set the maximum allowed download rate for torrents
# Set this value to -1 to disabled it
# Note that if you set the DownloadRateLimit on a tracker basis that value is favoured over this value
DownloadRateLimitPerTorrent = -1

# Set the maximum allowed upload rate for torrents
# Set this value to -1 to disabled it
# Note that if you set the UploadRateLimit on a tracker basis that value is favoured over this value
UploadRateLimitPerTorrent = -1

# Set the maximum allowed upload ratio for torrents
# Set this value to -1 to disabled it
# Note that if you set the MaxUploadRatio on a tracker basis that value is favoured over this value
MaxUploadRatio = -1

# Set the maximum seeding time in seconds for torrents
# Set this value to -1 to disabled it
# Note that if you set the MaxSeedingTime on a tracker basis that value is favoured over this value
MaxSeedingTime = 30

# Remove torrent condition (-1=Do not remove, 1=Remove on MaxUploadRatio, 2=Remove on MaxSeedingTime, 3=Remove on MaxUploadRatio or MaxSeedingTime, 4=Remove on MaxUploadRatio and MaxSeedingTime)
RemoveTorrent = 3

# Enable if you want to remove dead trackers
RemoveDeadTrackers = false

# If "RemoveDeadTrackers" is set to true then remove trackers with the following messages
RemoveTrackerWithMessage = ["skipping tracker announce (unreachable)", "No such host is known", "unsupported URL protocol", "info hash is not authorized with this tracker"]

# You can have multiple trackers set here or none just add more subsections.

[[Sonarr-Anime.Torrent.Trackers]]
Name = "Nyaa"
Priority = 10
URI = "http://nyaa.tracker.wf:7777/announce"
MaximumETA = 18000
DownloadRateLimit = -1
UploadRateLimit = -1
MaxUploadRatio = -1
MaxSeedingTime = -1
AddTrackerIfMissing = false
RemoveIfExists = false
SuperSeedMode = false
AddTags = ["qBitrr-anime"]

[Radarr-1080]

# Toggle whether to manage the Servarr instance torrents.
Managed = true

# The URL used to access Servarr interface (if you use a domain enter the domain without a port)
URI = "http://radarr:7878"

# The Servarr API Key, Can be found it Settings > General > Security
APIKey = "REDACTED"

# Category applied by Servarr to torrents in qBitTorrent, can be found in Settings > Download Clients > qBit > Category
Category = "radarr"

# Toggle whether to send a query to Servarr to search any failed torrents
ReSearch = true

# The Servarr's Import Mode(one of Move, Copy or Auto)
importMode = "Auto"

# Timer to call RSSSync (In minutes) - Set to 0 to disable (Values below 5 can cause errors for maximum retires)
RssSyncTimer = 5

# Timer to call RefreshDownloads to update the queue. (In minutes) - Set to 0 to disable (Values below 5 can cause errors for maximum retires)
RefreshDownloadsTimer = 5

# Error messages shown my the Arr instance which should be considered failures.
# This entry should be a list, leave it empty if you want to disable this error handling.
# If enabled qBitrr will remove the failed files and tell the Arr instance the download failed
ArrErrorCodesToBlocklist = ["Unable to determine if file is a sample", "Not an upgrade for existing movie file(s)", "Not a preferred word upgrade for existing movie file(s)"]

[Radarr-1080.EntrySearch]
# Should search for Missing files?
SearchMissing = true

# Should search for specials episodes? (Season 00)
AlsoSearchSpecials = false

# Radarr has a default of 3 simultaneous tasks, which can be increased up to 10 tasks
# If you set the environment variable of "THREAD_LIMIT" to a number between and including 2-10
# Radarr devs have stated that this is an unsupported feature so you will not get any support for doing so from them.
# That being said I've been daily driving 10 simultaneous tasks for quite a while now with no issues.
SearchLimit = 3

# It will order searches by the year the EPISODE was first aired
SearchByYear = true

# Reverse search order (Start searching oldest to newest)
SearchInReverse = false

# Delay between request searches in seconds
SearchRequestsEvery = 300

# Search movies which already have a file in the database in hopes of finding a better quality version.
DoUpgradeSearch = false

# Do a quality unmet search for existing entries.
QualityUnmetSearch = false

# Do a minimum custom format score unmet search for existing entries.
CustomFormatUnmetSearch = false

# Automatically remove torrents that do not mee the minimum custom format score.
ForceMinimumCustomFormat = false

# Once you have search all files on your specified year range restart the loop and search again.
SearchAgainOnSearchCompletion = true

[Radarr-1080.EntrySearch.Ombi]
# Search Ombi for pending requests (Will only work if 'SearchMissing' is enabled.)
SearchOmbiRequests = false

# Ombi URI (Note that this has to be the instance of Ombi which manage the Arr instance request (If you have multiple Ombi instances)
OmbiURI = "CHANGE_ME"

# Ombi's API Key
OmbiAPIKey = "CHANGE_ME"

# Only process approved requests
ApprovedOnly = true

[Radarr-1080.EntrySearch.Overseerr]
# Search Overseerr for pending requests (Will only work if 'SearchMissing' is enabled.)
# If this and Ombi are both enable, Ombi will be ignored
SearchOverseerrRequests = false

# Overseerr's URI
OverseerrURI = "CHANGE_ME"

# Overseerr's API Key
OverseerrAPIKey = "CHANGE_ME"

# Only process approved requests
ApprovedOnly = true

# Only for 4K Instances
# Only for 4K Instances
Is4K = false

[Radarr-1080.Torrent]
# Set it to regex matches to respect/ignore case.
CaseSensitiveMatches = false

# These regex values will match any folder where the full name matches the specified values here, comma separated strings.
# These regex need to be escaped, that's why you see so many backslashes.
FolderExclusionRegex = ["\\bextras?\\b", "\\bfeaturettes?\\b", "\\bsamples?\\b", "\\bscreens?\\b", "\\bnc(ed|op)?(\\\\d+)?\\b"]

# These regex values will match any folder where the full name matches the specified values here, comma separated strings.
# These regex need to be escaped, that's why you see so many backslashes.
FileNameExclusionRegex = ["\\bncop\\\\d+?\\b", "\\bnced\\\\d+?\\b", "\\bsample\\b", "brarbg.com\\b", "\\btrailer\\b", "music video", "comandotorrents.com"]

# Only files with these extensions will be allowed to be downloaded, comma separated strings or regex, leave it empty to allow all extensions
FileExtensionAllowlist = [".mp4", ".mkv", ".sub", ".ass", ".srt", ".!qB", ".parts"]

# Auto delete files that can't be playable (i.e .exe, .png)
AutoDelete = true

# Ignore Torrents which are younger than this value (in seconds: 600 = 10 Minutes)
IgnoreTorrentsYoungerThan = 180

# Maximum allowed remaining ETA for torrent completion (in seconds: 3600 = 1 Hour)
# Note that if you set the MaximumETA on a tracker basis that value is favoured over this value
MaximumETA = -1

# Do not delete torrents with higher completion percentage than this setting (0.5 = 50%, 1.0 = 100%)
MaximumDeletablePercentage = 0.99

# Ignore slow torrents.
DoNotRemoveSlow = true

[Radarr-1080.Torrent.SeedingMode]
# Set the maximum allowed download rate for torrents
# Set this value to -1 to disabled it
# Note that if you set the DownloadRateLimit on a tracker basis that value is favoured over this value
DownloadRateLimitPerTorrent = -1

# Set the maximum allowed upload rate for torrents
# Set this value to -1 to disabled it
# Note that if you set the UploadRateLimit on a tracker basis that value is favoured over this value
UploadRateLimitPerTorrent = -1

# Set the maximum allowed upload ratio for torrents
# Set this value to -1 to disabled it
# Note that if you set the MaxUploadRatio on a tracker basis that value is favoured over this value
MaxUploadRatio = -1

# Set the maximum seeding time in seconds for torrents
# Set this value to -1 to disabled it
# Note that if you set the MaxSeedingTime on a tracker basis that value is favoured over this value
MaxSeedingTime = 60

# Remove torrent condition (-1=Do not remove, 1=Remove on MaxUploadRatio, 2=Remove on MaxSeedingTime, 3=Remove on MaxUploadRatio or MaxSeedingTime, 4=Remove on MaxUploadRatio and MaxSeedingTime)
RemoveTorrent = 2

# Enable if you want to remove dead trackers
RemoveDeadTrackers = true

# If "RemoveDeadTrackers" is set to true then remove trackers with the following messages
RemoveTrackerWithMessage = ["skipping tracker announce (unreachable)", "No such host is known", "unsupported URL protocol", "info hash is not authorized with this tracker"]

# You can have multiple trackers set here or none just add more subsections.

[[Radarr-1080.Torrent.Trackers]]
Name = "Rarbg-2810"
Priority = 1
URI = "udp://9.rarbg.com:2810/announce"
MaximumETA = 18000
DownloadRateLimit = -1
UploadRateLimit = -1
MaxUploadRatio = -1
MaxSeedingTime = -1
AddTrackerIfMissing = false
RemoveIfExists = false
SuperSeedMode = false
AddTags = ["qBitrr-Rarbg", "Movies and TV"]

[[Radarr-1080.Torrent.Trackers]]
Name = "Rarbg-2740"
Priority = 2
URI = "udp://9.rarbg.to:2740/announce"
MaximumETA = 18000
DownloadRateLimit = -1
UploadRateLimit = -1
MaxUploadRatio = -1
MaxSeedingTime = -1
AddTrackerIfMissing = false
RemoveIfExists = false
SuperSeedMode = false

[Radarr-4K]

# Toggle whether to manage the Servarr instance torrents.
Managed = false

# The URL used to access Servarr interface (if you use a domain enter the domain without a port)
URI = "CHANGE_ME"

# The Servarr API Key, Can be found it Settings > General > Security
APIKey = "CHANGE_ME"

# Category applied by Servarr to torrents in qBitTorrent, can be found in Settings > Download Clients > qBit > Category
Category = "radarr-4k"

# Toggle whether to send a query to Servarr to search any failed torrents
ReSearch = true

# The Servarr's Import Mode(one of Move, Copy or Auto)
importMode = "Auto"

# Timer to call RSSSync (In minutes) - Set to 0 to disable (Values below 5 can cause errors for maximum retires)
RssSyncTimer = 1

# Timer to call RefreshDownloads to update the queue. (In minutes) - Set to 0 to disable (Values below 5 can cause errors for maximum retires)
RefreshDownloadsTimer = 1

# Error messages shown my the Arr instance which should be considered failures.
# This entry should be a list, leave it empty if you want to disable this error handling.
# If enabled qBitrr will remove the failed files and tell the Arr instance the download failed
ArrErrorCodesToBlocklist = ["Unable to determine if file is a sample", "Not an upgrade for existing movie file(s)", "Not a preferred word upgrade for existing movie file(s)"]

[Radarr-4K.EntrySearch]
# Should search for Missing files?
SearchMissing = true

# Should search for specials episodes? (Season 00)
AlsoSearchSpecials = false

# Radarr has a default of 3 simultaneous tasks, which can be increased up to 10 tasks
# If you set the environment variable of "THREAD_LIMIT" to a number between and including 2-10
# Radarr devs have stated that this is an unsupported feature so you will not get any support for doing so from them.
# That being said I've been daily driving 10 simultaneous tasks for quite a while now with no issues.
SearchLimit = 3

# It will order searches by the year the EPISODE was first aired
SearchByYear = true

# Reverse search order (Start searching oldest to newest)
SearchInReverse = false

# Delay between request searches in seconds
SearchRequestsEvery = 300

# Search movies which already have a file in the database in hopes of finding a better quality version.
DoUpgradeSearch = false

# Do a quality unmet search for existing entries.
QualityUnmetSearch = false

# Do a minimum custom format score unmet search for existing entries.
CustomFormatUnmetSearch = false

# Automatically remove torrents that do not mee the minimum custom format score.
ForceMinimumCustomFormat = false

# Once you have search all files on your specified year range restart the loop and search again.
SearchAgainOnSearchCompletion = true

[Radarr-4K.EntrySearch.Ombi]
# Search Ombi for pending requests (Will only work if 'SearchMissing' is enabled.)
SearchOmbiRequests = false

# Ombi URI (Note that this has to be the instance of Ombi which manage the Arr instance request (If you have multiple Ombi instances)
OmbiURI = "CHANGE_ME"

# Ombi's API Key
OmbiAPIKey = "CHANGE_ME"

# Only process approved requests
ApprovedOnly = true

[Radarr-4K.EntrySearch.Overseerr]
# Search Overseerr for pending requests (Will only work if 'SearchMissing' is enabled.)
# If this and Ombi are both enable, Ombi will be ignored
SearchOverseerrRequests = false

# Overseerr's URI
OverseerrURI = "CHANGE_ME"

# Overseerr's API Key
OverseerrAPIKey = "CHANGE_ME"

# Only process approved requests
ApprovedOnly = true

# Only for 4K Instances
# Only for 4K Instances
Is4K = true

[Radarr-4K.Torrent]
# Set it to regex matches to respect/ignore case.
CaseSensitiveMatches = false

# These regex values will match any folder where the full name matches the specified values here, comma separated strings.
# These regex need to be escaped, that's why you see so many backslashes.
FolderExclusionRegex = ["\\bextras?\\b", "\\bfeaturettes?\\b", "\\bsamples?\\b", "\\bscreens?\\b", "\\bnc(ed|op)?(\\\\d+)?\\b"]

# These regex values will match any folder where the full name matches the specified values here, comma separated strings.
# These regex need to be escaped, that's why you see so many backslashes.
FileNameExclusionRegex = ["\\bncop\\\\d+?\\b", "\\bnced\\\\d+?\\b", "\\bsample\\b", "brarbg.com\\b", "\\btrailer\\b", "music video", "comandotorrents.com"]

# Only files with these extensions will be allowed to be downloaded, comma separated strings or regex, leave it empty to allow all extensions
FileExtensionAllowlist = [".mp4", ".mkv", ".sub", ".ass", ".srt", ".!qB", ".parts"]

# Auto delete files that can't be playable (i.e .exe, .png)
AutoDelete = false

# Ignore Torrents which are younger than this value (in seconds: 600 = 10 Minutes)
IgnoreTorrentsYoungerThan = 180

# Maximum allowed remaining ETA for torrent completion (in seconds: 3600 = 1 Hour)
# Note that if you set the MaximumETA on a tracker basis that value is favoured over this value
MaximumETA = -1

# Do not delete torrents with higher completion percentage than this setting (0.5 = 50%, 1.0 = 100%)
MaximumDeletablePercentage = 0.99

# Ignore slow torrents.
DoNotRemoveSlow = true

[Radarr-4K.Torrent.SeedingMode]
# Set the maximum allowed download rate for torrents
# Set this value to -1 to disabled it
# Note that if you set the DownloadRateLimit on a tracker basis that value is favoured over this value
DownloadRateLimitPerTorrent = -1

# Set the maximum allowed upload rate for torrents
# Set this value to -1 to disabled it
# Note that if you set the UploadRateLimit on a tracker basis that value is favoured over this value
UploadRateLimitPerTorrent = -1

# Set the maximum allowed upload ratio for torrents
# Set this value to -1 to disabled it
# Note that if you set the MaxUploadRatio on a tracker basis that value is favoured over this value
MaxUploadRatio = -1

# Set the maximum seeding time in seconds for torrents
# Set this value to -1 to disabled it
# Note that if you set the MaxSeedingTime on a tracker basis that value is favoured over this value
MaxSeedingTime = -1

# Remove torrent condition (-1=Do not remove, 1=Remove on MaxUploadRatio, 2=Remove on MaxSeedingTime, 3=Remove on MaxUploadRatio or MaxSeedingTime, 4=Remove on MaxUploadRatio and MaxSeedingTime)
RemoveTorrent = -1

# Enable if you want to remove dead trackers
RemoveDeadTrackers = false

# If "RemoveDeadTrackers" is set to true then remove trackers with the following messages
RemoveTrackerWithMessage = ["skipping tracker announce (unreachable)", "No such host is known", "unsupported URL protocol", "info hash is not authorized with this tracker"]

# You can have multiple trackers set here or none just add more subsections.

[[Radarr-4K.Torrent.Trackers]]
Name = "Rarbg-2810"
Priority = 1
URI = "udp://9.rarbg.com:2810/announce"
MaximumETA = 18000
DownloadRateLimit = -1
UploadRateLimit = -1
MaxUploadRatio = -1
MaxSeedingTime = -1
AddTrackerIfMissing = false
RemoveIfExists = false
SuperSeedMode = false
AddTags = ["qBitrr-Rarbg", "Movies and TV", "4K"]

[[Radarr-4K.Torrent.Trackers]]
Name = "Rarbg-2740"
Priority = 2
URI = "udp://9.rarbg.to:2740/announce"
MaximumETA = 18000
DownloadRateLimit = -1
UploadRateLimit = -1
MaxUploadRatio = -1
MaxSeedingTime = -1
AddTrackerIfMissing = false
RemoveIfExists = false
SuperSeedMode = false
AddTags = ["4K"]
Feramance commented 7 months ago

Has this happened again or just the one time?

Feramance commented 6 months ago

Can you please confirm this is still an issue following the latest version?

DeadPackets commented 6 months ago

Still an issue, now just geting Connection Error instead of the entire Exception block.

Feramance commented 6 months ago

Is the connection error happening with every call or sometimes, other times no?

Feramance commented 6 months ago

Closing as non-issue