Sony Pictures Core (formerly known as Bravia Core) is a video on demand service from Sony for its televisions and smartphones, launched in April 2021. The service offers the streaming of movies at up to 4K resolution provided by Sony Pictures Entertainment. CORE stands for Centre of Real Entertainment.
+Sony claims that Bravia Core has one of the largest library of IMAX Enhanced format film content. Streaming, which is marketed as Pure Stream, is claimed to be at speeds of up to 80 Mbit/s.
Max (streaming service) aka HBO Max - [Click to show/hide]
@@ -14932,58 +15170,7 @@ This applies to all releases that are x265/HEVC that are not Remux.
Max, formerly and in some markets still HBO Max, is an American subscription video on-demand over-the-top streaming service. It is a proprietary unit of Warner Bros. Discovery Global Streaming & Interactive Entertainment, which is itself a division of Warner Bros. Discovery (WBD). First launched (as HBO Max) in the United States on May 27, 2020, the service offers content from the libraries of Warner Bros., Discovery Channel, HBO, CNN, Cartoon Network, Adult Swim, Animal Planet, Eurosport, and their related brands.
Max, formerly and in some markets still HBO Max, is an American subscription video on-demand over-the-top streaming service. It is a proprietary unit of Warner Bros. Discovery Global Streaming & Interactive Entertainment, which is itself a division of Warner Bros. Discovery (WBD). First launched (as HBO Max) in the United States on May 27, 2020, the service offers content from the libraries of Warner Bros., Discovery Channel, HBO, CNN, Cartoon Network, Adult Swim, Animal Planet, Eurosport, and their related brands.
JSON - [Click to show/hide]
{
-"trash_id":"6185878161f1e2eef9cd0641a0d09eae",
-"name":"IP",
+"trash_id":"6a061313d22e51e0f25b7cd4dc065233",
+"trash_regex":"https://regex101.com/r/fa649l/1",
+"name":"MAX","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"BBC iPlayer",
+"name":"Max","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(ip|iplayer)\\b"
+"value":"\\b((?<!hbo[ ._-])max)\\b(?=[ ._-]web[ ._-]?(dl|rip)\\b)"}},{
@@ -15083,49 +15271,33 @@ This applies to all releases that are x265/HEVC that are not Remux.
ITVX (formerly ITV Hub) is a British ad-supported video-on-demand streaming service operated by ITV. The service offers original content from the broadcaster, as well as some exclusive and licensed programming.
Movies Anywhere (MA) is a cloud-based digital rights locker and over-the-top streaming platform that allows users to stream and download purchased films, including digital copies redeemed from codes found in home video releases as well as digital purchases from participating services. Movies Anywhere is operated by The Walt Disney Company. The platform provides content from Walt Disney Studios, Sony Pictures, Universal Pictures, and Warner Bros. The system utilizes an internal platform known as KeyChest, which synchronizes content licenses from digital distribution platforms linked to a central user account.
JSON - [Click to show/hide]
{
-"trash_id":"c3492a26af412e385404eade438ec51c",
-"trash_regex":"https://regex101.com/r/WzmpCx/1",
-"name":"ITVX",
+"trash_id":"2a6039655313bf5dab1e43523b62c374",
+"trash_scores":{
+"default":20
+},
+"name":"MA","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"ITVX",
+"name":"Movies Anywhere","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\bITV(X)?\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
-}
-},
-{
-"name":"WEBDL",
-"implementation":"SourceSpecification",
-"negate":false,
-"required":false,
-"fields":{
-"value":7
-}
-},
-{
-"name":"WEBRIP",
-"implementation":"SourceSpecification",
-"negate":false,
-"required":false,
-"fields":{
-"value":8
+"value":"(?<!dts[ .-]?hd[ .-]?)ma\\b(?=.*\\bweb[ ._-]?(dl|rip)\\b)"}}]
@@ -15134,7 +15306,7 @@ This applies to all releases that are x265/HEVC that are not Remux.
Movies Anywhere (MA) is a cloud-based digital rights locker and over-the-top streaming platform that allows users to stream and download purchased films, including digital copies redeemed from codes found in home video releases as well as digital purchases from participating services. Movies Anywhere is operated by The Walt Disney Company. The platform provides content from Walt Disney Studios, Sony Pictures, Universal Pictures, and Warner Bros. The system utilizes an internal platform known as KeyChest, which synchronizes content licenses from digital distribution platforms linked to a central user account.
Stan is an Australian over-the-top streaming service. The service offers a broad range of film and television content from both local and foreign productions, particularly from the United States and United Kingdom. Stan also includes a growing library of their own original film and television content. With over 2.6 million subscribers, as of June 2023 Stan is the fourth largest streaming service in Australia, behind Disney+, Amazon Prime Video and Netflix.
JSON - [Click to show/hide]
{
-"trash_id":"2a6039655313bf5dab1e43523b62c374",
-"trash_scores":{
-"default":20
-},
-"name":"MA",
+"trash_id":"c2863d2a50c9acad1fb50e53ece60817",
+"trash_regex":"https://regex101.com/r/IMS7Or/1",
+"name":"STAN","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"Movies Anywhere",
+"name":"Stan","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"(?<!dts[ .-]?hd[ .-]?)ma\\b(?=.*\\bweb[ ._-]?(dl|rip)\\b)"
+"value":"\\b(stan)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
+}
+},
+{
+"name":"WEBDL",
+"implementation":"SourceSpecification",
+"negate":false,
+"required":false,
+"fields":{
+"value":7
+}
+},
+{
+"name":"WEBRIP",
+"implementation":"SourceSpecification",
+"negate":false,
+"required":false,
+"fields":{
+"value":8}}]
@@ -15319,30 +15507,33 @@ This applies to all releases that are x265/HEVC that are not Remux.
{
-"trash_id":"bf7e73dd1d85b12cc527dc619761c840",
-"name":"Pathe",
+"trash_id":"917d1f2c845b2b466036b0cc2d7c72a3",
+"trash_regex":"https://regex101.com/r/kgngPG/1",
+"name":"FOD","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"Pathé",
+"name":"FOD","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(Pathe)\\b"
+"value":"\\b(fod)\\b"}},{
@@ -15369,30 +15560,31 @@ This applies to all releases that are x265/HEVC that are not Remux.
Videoland is a Dutch OTT online service provider owned by RTL Nederland. Originally it was a retail chain of video rental stores. Its main competitor is Netflix.
{
-"trash_id":"996e8ce50025e8b1e8fa95fcb28c4e5a",
-"name":"VDL",
+"trash_id":"f1b0bae9bc222dab32c1b38b5a7a1088",
+"trash_regex":"https://regex101.com/r/ZdWC9D/1",
+"name":"TVer","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"Videoland",
+"name":"TVer","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(vdl|Videoland)\\b"
+"value":"\\b(tver)\\b"}},{
@@ -15419,37 +15611,31 @@ This applies to all releases that are x265/HEVC that are not Remux.
Sony Pictures Core (formerly known as Bravia Core) is a video on demand service from Sony for its televisions and smartphones, launched in April 2021. The service offers the streaming of movies at up to 4K resolution provided by Sony Pictures Entertainment. CORE stands for Centre of Real Entertainment.
-Sony claims that Bravia Core has one of the largest library of IMAX Enhanced format film content. Streaming, which is marketed as Pure Stream, is claimed to be at speeds of up to 80 Mbit/s.
{
-"trash_id":"cc5e51a9e85a6296ceefe097a77f12f4",
-"trash_scores":{
-"default":15,
-"sqp-1-1080p":-10000,
-"sqp-1-2160p":-10000
-},
-"name":"BCORE",
+"trash_id":"279bda7434fd9075786de274e6c3c202",
+"trash_regex":"https://regex101.com/r/04ZSLm/1",
+"name":"U-NEXT","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"Bravia Core",
+"name":"U-NEXT","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(BCORE)\\b"
+"value":"\\b(u-next)\\b"}},{
@@ -15476,31 +15662,30 @@ Sony claims that Bravia Core has one of the largest library of IMAX Enhanced for
Stan is an Australian over-the-top streaming service. The service offers a broad range of film and television content from both local and foreign productions, particularly from the United States and United Kingdom. Stan also includes a growing library of their own original film and television content. With over 2.6 million subscribers, as of June 2023 Stan is the fourth largest streaming service in Australia, behind Disney+, Amazon Prime Video and Netflix.
Viu (pronounced as view) is a Hong Kong-based over-the-top (OTT) video streaming provider, Viu delivers content in different genres from Asia's top content providers with local language subtitles, as well as original production series under the Viu Original initiative (similar to original programming from other services like Disney+, Amazon Prime Video and Netflix).
JSON - [Click to show/hide]
{
-"trash_id":"c2863d2a50c9acad1fb50e53ece60817",
-"trash_regex":"https://regex101.com/r/IMS7Or/1",
-"name":"STAN",
+"trash_id":"1b355ff093fd1064b75ea98c616881b1",
+"name":"VIU","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"Stan",
+"name":"VIU","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(stan)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
+"value":"\\b(viu)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"}},{
@@ -15527,32 +15712,32 @@ Sony claims that Bravia Core has one of the largest library of IMAX Enhanced for
Crave (originally CraveTV) is a Canadian subscription video on demand service. The service competes directly with other subscription-based over-the-top streaming services operating in Canada, primarily against American-based services.
-The service features Bell Media original programming, exclusive Canadian access to programming acquired from several U.S. television and streaming services, and various theatrically-released films. Crave's major programming supplier is Warner Bros. Discovery (HBO / Max and Warner Bros. films). Starz, offered in partnership with Lionsgate.
Pathé Thuis is a Dutch streaming service for renting and purchasing films.
JSON - [Click to show/hide]
{
-"trash_id":"f6ff65b3f4b464a79dcc75950fe20382",
-"trash_regex":"https://regex101.com/r/eymcie/1",
-"name":"CRAV",
+"trash_id":"bf7e73dd1d85b12cc527dc619761c840",
+"name":"Pathe","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"Crave",
+"name":"Pathé","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(crav(e)?)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
+"value":"\\b(Pathe)\\b"}},{
@@ -15579,30 +15764,30 @@ The service features Bell Media original programming, exclusive Canadian access
Videoland is a Dutch OTT online service provider owned by RTL Nederland. Originally it was a retail chain of video rental stores. Its main competitor is Netflix.
JSON - [Click to show/hide]
{
-"trash_id":"fbca986396c5e695ef7b2def3c755d01",
-"trash_regex":"https://regex101.com/r/hWHpjV/1",
-"name":"OViD",
+"trash_id":"996e8ce50025e8b1e8fa95fcb28c4e5a",
+"name":"VDL","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"OViD",
+"name":"Videoland","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(ovid)\\b"
+"value":"\\b(vdl|Videoland)\\b"}},{
@@ -15629,31 +15814,32 @@ The service features Bell Media original programming, exclusive Canadian access
BBC iPlayer is a video on demand service from the BBC. iPlayer services delivered to UK-based viewers feature no commercial advertising.
JSON - [Click to show/hide]
{
-"trash_id":"917d1f2c845b2b466036b0cc2d7c72a3",
-"trash_regex":"https://regex101.com/r/kgngPG/1",
-"name":"FOD",
+"trash_id":"6185878161f1e2eef9cd0641a0d09eae",
+"name":"IP","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"FOD",
+"name":"BBC iPlayer","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(fod)\\b"
+"value":"\\b(ip|iplayer)\\b"}},{
@@ -15680,31 +15866,31 @@ The service features Bell Media original programming, exclusive Canadian access
ITVX (formerly ITV Hub) is a British ad-supported video-on-demand streaming service operated by ITV. The service offers original content from the broadcaster, as well as some exclusive and licensed programming.
JSON - [Click to show/hide]
{
-"trash_id":"f1b0bae9bc222dab32c1b38b5a7a1088",
-"trash_regex":"https://regex101.com/r/ZdWC9D/1",
-"name":"TVer",
+"trash_id":"c3492a26af412e385404eade438ec51c",
+"trash_regex":"https://regex101.com/r/WzmpCx/1",
+"name":"ITVX","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"TVer",
+"name":"ITVX","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(tver)\\b"
+"value":"\\bITV(X)?\\b[ ._-]web[ ._-]?(dl|rip)?\\b"}},{
@@ -15731,31 +15917,34 @@ The service features Bell Media original programming, exclusive Canadian access
Crave (originally CraveTV) is a Canadian subscription video on demand service. The service competes directly with other subscription-based over-the-top streaming services operating in Canada, primarily against American-based services.
+The service features Bell Media original programming, exclusive Canadian access to programming acquired from several U.S. television and streaming services, and various theatrically-released films. Crave's major programming supplier is Warner Bros. Discovery (HBO / Max and Warner Bros. films). Starz, offered in partnership with Lionsgate.
JSON - [Click to show/hide]
{
-"trash_id":"279bda7434fd9075786de274e6c3c202",
-"trash_regex":"https://regex101.com/r/04ZSLm/1",
-"name":"U-NEXT",
+"trash_id":"f6ff65b3f4b464a79dcc75950fe20382",
+"trash_regex":"https://regex101.com/r/eymcie/1",
+"name":"CRAV","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"U-NEXT",
+"name":"Crave","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(u-next)\\b"
+"value":"\\b(crav(e)?)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"}},{
@@ -15782,30 +15971,30 @@ The service features Bell Media original programming, exclusive Canadian access
Viu (pronounced as view) is a Hong Kong-based over-the-top (OTT) video streaming provider, Viu delivers content in different genres from Asia's top content providers with local language subtitles, as well as original production series under the Viu Original initiative (similar to original programming from other services like Disney+, Amazon Prime Video and Netflix).
{
-"trash_id":"1b355ff093fd1064b75ea98c616881b1",
-"name":"VIU",
+"trash_id":"fbca986396c5e695ef7b2def3c755d01",
+"trash_regex":"https://regex101.com/r/hWHpjV/1",
+"name":"OViD","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"VIU",
+"name":"OViD","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(viu)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
+"value":"\\b(ovid)\\b"}},{
@@ -15832,7 +16021,9 @@ The service features Bell Media original programming, exclusive Canadian access
@@ -22249,7 +22440,7 @@ The service features Bell Media original programming, exclusive Canadian access
- February 17, 2024 23:22:43
+ February 18, 2024 12:07:15
diff --git a/Sonarr/sonarr-collection-of-custom-formats/index.html b/Sonarr/sonarr-collection-of-custom-formats/index.html
index adec59fab..18d3b4dbd 100644
--- a/Sonarr/sonarr-collection-of-custom-formats/index.html
+++ b/Sonarr/sonarr-collection-of-custom-formats/index.html
@@ -2006,6 +2006,16 @@
DC Universe (streaming service) - [Click to show/hide]
@@ -13289,7 +13584,7 @@ For example, a lot of EVO releases end up stripped of the group name so they app
Max (streaming service) aka HBO Max - [Click to show/hide]
@@ -13396,7 +13691,7 @@ For example, a lot of EVO releases end up stripped of the group name so they app
Max, formerly and in some markets still HBO Max, is an American subscription video on-demand over-the-top streaming service. It is a proprietary unit of Warner Bros. Discovery Global Streaming & Interactive Entertainment, which is itself a division of Warner Bros. Discovery (WBD). First launched (as HBO Max) in the United States on May 27, 2020, the service offers content from the libraries of Warner Bros., Discovery Channel, HBO, CNN, Cartoon Network, Adult Swim, Animal Planet, Eurosport, and their related brands.
Hulu (/ˈhuːluː/) is an American subscription streaming service owned by The Walt Disney Company. It was launched on October 29, 2007.
JSON - [Click to show/hide]
{
-"trash_id":"81d1fbf600e2540cee87f3a23f9d3c1c",
+"trash_id":"f6cce30f1733d5c8194222a7507909bb","trash_scores":{
-"default":90
+"default":50},
-"trash_regex":"https://regex101.com/r/fa649l/1",
-"name":"MAX",
+"name":"HULU","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"Max",
+"name":"Hulu","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b((?<!hbo[ ._-])max)\\b(?=[ ._-]web[ ._-]?(dl|rip)\\b)"
+"value":"\\b(hulu)\\b"}},{
@@ -13503,51 +13797,33 @@ For example, a lot of EVO releases end up stripped of the group name so they app
Apple introduced iTunes 6, enabling support for purchasing and viewing video content purchased from the iTunes Store. At launch, the store offered popular shows from the ABC network along with Disney Channel series. In 2008, Apple and select film studios introduced "iTunes Digital Copy", a feature on select DVDs and Blu-ray discs allowing a digital copy in iTunes and associated media players.
JSON - [Click to show/hide]
{
-"trash_id":"f6cce30f1733d5c8194222a7507909bb",
+"trash_id":"0ac24a2a68a9700bcb7eeca8e5cd644c","trash_scores":{"default":50},
-"name":"HULU",
+"name":"iT","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"Hulu",
+"name":"iTunes","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(hulu)\\b"
-}
-},
-{
-"name":"WEBDL",
-"implementation":"SourceSpecification",
-"negate":false,
-"required":false,
-"fields":{
-"value":3
-}
-},
-{
-"name":"WEBRIP",
-"implementation":"SourceSpecification",
-"negate":false,
-"required":false,
-"fields":{
-"value":4
+"value":"\\b(it|itunes)\\b(?=[ ._-]web[ ._-]?(dl|rip)\\b)"}}]
@@ -13556,33 +13832,34 @@ For example, a lot of EVO releases end up stripped of the group name so they app
Max, formerly and in some markets still HBO Max, is an American subscription video on-demand over-the-top streaming service. It is a proprietary unit of Warner Bros. Discovery Global Streaming & Interactive Entertainment, which is itself a division of Warner Bros. Discovery (WBD). First launched (as HBO Max) in the United States on May 27, 2020, the service offers content from the libraries of Warner Bros., Discovery Channel, HBO, CNN, Cartoon Network, Adult Swim, Animal Planet, Eurosport, and their related brands.
JSON - [Click to show/hide]
{
-"trash_id":"dc503e2425126fa1d0a9ad6168c83b3f",
+"trash_id":"81d1fbf600e2540cee87f3a23f9d3c1c","trash_scores":{
-"default":50
+"default":90},
-"name":"IP",
+"trash_regex":"https://regex101.com/r/fa649l/1",
+"name":"MAX","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"BBC iPlayer",
+"name":"Max","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(ip|iplayer)\\b"
+"value":"\\b((?<!hbo[ ._-])max)\\b(?=[ ._-]web[ ._-]?(dl|rip)\\b)"}},{
@@ -13609,34 +13886,34 @@ For example, a lot of EVO releases end up stripped of the group name so they app
ITVX (formerly ITV Hub) is a British ad-supported video-on-demand streaming service operated by ITV. The service offers original content from the broadcaster, as well as some exclusive and licensed programming.
Netflix is an American subscription video on-demand over-the-top streaming service. The service primarily distributes original and acquired films and television shows from various genres, and it is available internationally in multiple languages.
JSON - [Click to show/hide]
{
-"trash_id":"fa5a16b951004c23e980d2913694a137",
+"trash_id":"d34870697c9db575f17700212167be23","trash_scores":{
-"default":50
+"default":60,
+"anime-sonarr":4},
-"trash_regex":"https://regex101.com/r/Nw3FiP/1",
-"name":"ITVX",
+"name":"NF","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"ITVX",
+"name":"Netflix","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\bITV(X)?\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
+"value":"\\b(nf|netflix)\\b"}},{
@@ -13663,32 +13940,33 @@ For example, a lot of EVO releases end up stripped of the group name so they app
NLZIET is the online service of Dutch broadcasters that provides non-stop tv, commercial-free. The streaming service brings the best of all channels straight to your preferred device and lets you see your favorite tv content in high quality on all available platforms; anytime and anywhere.
Paramount+ is an American subscription video on-demand over-the-top streaming service owned by Paramount Global. The service's content is drawn primarily from the libraries of CBS Media Ventures, CBS Studios, Paramount Media Networks (formerly Viacom Media Networks and ViacomCBS Domestic Media Networks), and Paramount Pictures, while also including original series and films, live streaming sports coverage, and in the United States, live streaming of local CBS broadcast stations.
JSON - [Click to show/hide]
{
-"trash_id":"b2b980877494b560443631eb1f473867",
+"trash_id":"c67a75ae4a1715f2bb4d492755ba4195","trash_scores":{
-"default":50
+"default":60},
-"name":"NLZ",
+"name":"PMTP","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"NLZiet",
+"name":"Paramount+","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(nlz|NLZiet)\\b"
+"value":"\\b(pmtp|Paramount\\+)\\b"}},{
@@ -13715,34 +13993,33 @@ For example, a lot of EVO releases end up stripped of the group name so they app
Netflix is an American subscription video on-demand over-the-top streaming service. The service primarily distributes original and acquired films and television shows from various genres, and it is available internationally in multiple languages.
Peacock is an American over-the-top video streaming service owned and operated by Peacock TV LLC, a subsidiary of NBCUniversal Media Group. Named after the NBC logo, the service launched on July 15, 2020. The service primarily features series and film content from NBCUniversal studios and other third-party content providers, including television series, films, news, and sports programming. The service is available in a grandfathered free ad-supported version with limited content, while premium tiers include a larger content library and access to additional NBC Sports, Hallmark Channel, and WWE content.
JSON - [Click to show/hide]
{
-"trash_id":"d34870697c9db575f17700212167be23",
+"trash_id":"1656adc6d7bb2c8cca6acfb6592db421","trash_scores":{
-"default":60,
-"anime-sonarr":4
+"default":60},
-"name":"NF",
+"name":"PCOK","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"Netflix",
+"name":"Peacock TV","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(nf|netflix)\\b"
+"value":"\\b(pcok|Peacock TV)\\b"}},{
@@ -13769,33 +14046,34 @@ For example, a lot of EVO releases end up stripped of the group name so they app
Paramount+ is an American subscription video on-demand over-the-top streaming service owned by Paramount Global. The service's content is drawn primarily from the libraries of CBS Media Ventures, CBS Studios, Paramount Media Networks (formerly Viacom Media Networks and ViacomCBS Domestic Media Networks), and Paramount Pictures, while also including original series and films, live streaming sports coverage, and in the United States, live streaming of local CBS broadcast stations.
Paramount+ with Showtime, also known as Showtime (the former name of its main channel from 1976 to 2024, but still used for certain marketing and channel branding contexts), is an American premium television network and the flagship property of Showtime Networks, a sub-division of the Paramount Media Networks division of Paramount Global. Paramount+ with Showtime's programming includes original television series produced exclusively for the linear network and developed for the co-owned Paramount+ streaming service, theatrically released and independent motion pictures, documentaries, and occasional stand-up comedy specials, made-for-TV movies and softcore adult programming.
JSON - [Click to show/hide]
{
-"trash_id":"c67a75ae4a1715f2bb4d492755ba4195",
+"trash_id":"ae58039e1319178e6be73caab5c42166","trash_scores":{
-"default":60
+"default":50},
-"name":"PMTP",
+"trash_regex":"https://regex101.com/r/kjPPbG/1",
+"name":"SHO","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"Paramount+",
+"name":"SHOWTIME","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(pmtp|Paramount\\+)\\b"
+"value":"\\b(sho|showtime)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"}},{
@@ -13822,33 +14100,34 @@ For example, a lot of EVO releases end up stripped of the group name so they app
Peacock is an American over-the-top video streaming service owned and operated by Peacock TV LLC, a subsidiary of NBCUniversal Media Group. Named after the NBC logo, the service launched on July 15, 2020. The service primarily features series and film content from NBCUniversal studios and other third-party content providers, including television series, films, news, and sports programming. The service is available in a grandfathered free ad-supported version with limited content, while premium tiers include a larger content library and access to additional NBC Sports, Hallmark Channel, and WWE content.
Stan is an Australian over-the-top streaming service. The service offers a broad range of film and television content from both local and foreign productions, particularly from the United States and United Kingdom. Stan also includes a growing library of their own original film and television content. With over 2.6 million subscribers, as of June 2023 Stan is the fourth largest streaming service in Australia, behind Disney+, Amazon Prime Video and Netflix.
JSON - [Click to show/hide]
{
-"trash_id":"1656adc6d7bb2c8cca6acfb6592db421",
+"trash_id":"1efe8da11bfd74fbbcd4d8117ddb9213","trash_scores":{"default":60},
-"name":"PCOK",
+"trash_regex":"https://regex101.com/r/IMS7Or/1",
+"name":"STAN","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"Peacock TV",
+"name":"Stan","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(pcok|Peacock TV)\\b"
+"value":"\\b(stan)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"}},{
@@ -13875,36 +14154,26 @@ For example, a lot of EVO releases end up stripped of the group name so they app
Quibi (/ˈkwɪbi/ KWIB-ee) was an American short-form streaming platform, It launched in April 2020, but shut down in December 2020 after falling short of its subscriber projections.
{
-"trash_id":"3ac5d84fce98bab1b531393e9c82f467",
-"trash_scores":{
-"default":80
-},
-"name":"QIBI",
+"trash_id":"f27d46a831e6b16fa3fee2c4e5d10984",
+"trash_regex":"https://regex101.com/r/UYB7E7/1",
+"name":"CANAL+","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"Quibi",
-"implementation":"ReleaseTitleSpecification",
-"negate":false,
-"required":true,
-"fields":{
-"value":"\\b(qibi|quibi)\\b"
-}
-},
-{"name":"WEBDL","implementation":"SourceSpecification","negate":false,
@@ -13921,6 +14190,33 @@ For example, a lot of EVO releases end up stripped of the group name so they app
"fields":{"value":4}
+},
+{
+"name":"CANAL+",
+"implementation":"ReleaseTitleSpecification",
+"negate":false,
+"required":false,
+"fields":{
+"value":"\\b(C(?:anal)?[ .-]?(Plus|\\+))[ .]"
+}
+},
+{
+"name":"MyCANAL",
+"implementation":"ReleaseTitleSpecification",
+"negate":false,
+"required":false,
+"fields":{
+"value":"\\b(MyCANAL)\\b"
+}
+},
+{
+"name":"Not MyCanal RlsGrp",
+"implementation":"ReleaseGroupSpecification",
+"negate":true,
+"required":true,
+"fields":{
+"value":"\\b(MyCanal)\\b"
+}}]}
@@ -13928,37 +14224,23 @@ For example, a lot of EVO releases end up stripped of the group name so they app
Paramount+ with Showtime, also known as Showtime (the former name of its main channel from 1976 to 2024, but still used for certain marketing and channel branding contexts), is an American premium television network and the flagship property of Showtime Networks, a sub-division of the Paramount Media Networks division of Paramount Global. Paramount+ with Showtime's programming includes original television series produced exclusively for the linear network and developed for the co-owned Paramount+ streaming service, theatrically released and independent motion pictures, documentaries, and occasional stand-up comedy specials, made-for-TV movies and softcore adult programming.
{
-"trash_id":"ae58039e1319178e6be73caab5c42166",
-"trash_scores":{
-"default":50
-},
-"trash_regex":"https://regex101.com/r/kjPPbG/1",
-"name":"SHO",
+"trash_id":"b0d6195c23ae254932da00512db7e8a8",
+"name":"RTBF","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"SHOWTIME",
-"implementation":"ReleaseTitleSpecification",
-"negate":false,
-"required":true,
-"fields":{
-"value":"\\b(sho|showtime)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
-}
-},
-{"name":"WEBDL","implementation":"SourceSpecification","negate":false,
@@ -13975,6 +14257,15 @@ For example, a lot of EVO releases end up stripped of the group name so they app
"fields":{"value":4}
+},
+{
+"name":"Radio Télévision Belge Francophone",
+"implementation":"ReleaseTitleSpecification",
+"negate":false,
+"required":true,
+"fields":{
+"value":"\\b(RTBF|AUVIO)\\b"
+}}]}
@@ -13982,36 +14273,23 @@ For example, a lot of EVO releases end up stripped of the group name so they app
Videoland is a Dutch OTT online service provider owned by RTL Nederland. Originally it was a retail chain of video rental stores. Its main competitor is Netflix.
{
-"trash_id":"5d2317d99af813b6529c7ebf01c83533",
-"trash_scores":{
-"default":50
-},
-"name":"VDL",
+"trash_id":"0455d6519a550dbf648c97b56e7231d2",
+"name":"SALTO","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"Videoland",
-"implementation":"ReleaseTitleSpecification",
-"negate":false,
-"required":true,
-"fields":{
-"value":"\\b(vdl|Videoland)\\b"
-}
-},
-{"name":"WEBDL","implementation":"SourceSpecification","negate":false,
@@ -14028,6 +14306,15 @@ For example, a lot of EVO releases end up stripped of the group name so they app
"fields":{"value":4}
+},
+{
+"name":"SALTO",
+"implementation":"ReleaseTitleSpecification",
+"negate":false,
+"required":true,
+"fields":{
+"value":"\\b(SALTO)\\b"
+}}]}
@@ -14035,34 +14322,36 @@ For example, a lot of EVO releases end up stripped of the group name so they app
Stan is an Australian over-the-top streaming service. The service offers a broad range of film and television content from both local and foreign productions, particularly from the United States and United Kingdom. Stan also includes a growing library of their own original film and television content. With over 2.6 million subscribers, as of June 2023 Stan is the fourth largest streaming service in Australia, behind Disney+, Amazon Prime Video and Netflix.
+Fuji Television On Demand - [Click to show/hide]
+
{
-"trash_id":"1efe8da11bfd74fbbcd4d8117ddb9213",
+"trash_id":"7be9c0572d8cd4f81785dacf7e85985e","trash_scores":{
-"default":60
+"default":50},
-"trash_regex":"https://regex101.com/r/IMS7Or/1",
-"name":"STAN",
+"trash_regex":"https://regex101.com/r/CbFoaJ/1",
+"name":"FOD","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"Stan",
+"name":"FOD","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(stan)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
+"value":"\\b(fod)\\b"}},{
@@ -14089,33 +14378,34 @@ For example, a lot of EVO releases end up stripped of the group name so they app
{
-"trash_id":"c30d2958827d1867c73318a5a2957eb1",
+"trash_id":"d100ea972d1af2150b65b1cffb80f6b5","trash_scores":{"default":50},
-"trash_regex":"https://regex101.com/r/GfOSFe/1",
-"name":"RED",
+"trash_regex":"https://regex101.com/r/o9YVOG/1",
+"name":"TVer","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"YouTube Red",
+"name":"TVer","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(red|youtube red)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
+"value":"\\b(tver)\\b"}},{
@@ -14142,58 +14432,36 @@ For example, a lot of EVO releases end up stripped of the group name so they app
Apple introduced iTunes 6, enabling support for purchasing and viewing video content purchased from the iTunes Store. At launch, the store offered popular shows from the ABC network along with Disney Channel series. In 2008, Apple and select film studios introduced "iTunes Digital Copy", a feature on select DVDs and Blu-ray discs allowing a digital copy in iTunes and associated media players.
{
-"trash_id":"f27d46a831e6b16fa3fee2c4e5d10984",
-"trash_regex":"https://regex101.com/r/UYB7E7/1",
-"name":"CANAL+",
-"includeCustomFormatWhenRenaming":true,
-"specifications":[
+},{"name":"WEBDL","implementation":"SourceSpecification",
@@ -14211,33 +14479,6 @@ For example, a lot of EVO releases end up stripped of the group name so they app
"fields":{"value":4}
-},
-{
-"name":"CANAL+",
-"implementation":"ReleaseTitleSpecification",
-"negate":false,
-"required":false,
-"fields":{
-"value":"\\b(C(?:anal)?[ .-]?(Plus|\\+))[ .]"
-}
-},
-{
-"name":"MyCANAL",
-"implementation":"ReleaseTitleSpecification",
-"negate":false,
-"required":false,
-"fields":{
-"value":"\\b(MyCANAL)\\b"
-}
-},
-{
-"name":"Not MyCanal RlsGrp",
-"implementation":"ReleaseGroupSpecification",
-"negate":true,
-"required":true,
-"fields":{
-"value":"\\b(MyCanal)\\b"
-}}]}
@@ -14245,23 +14486,36 @@ For example, a lot of EVO releases end up stripped of the group name so they app
Viu (pronounced as view) is a Hong Kong-based over-the-top (OTT) video streaming provider, Viu delivers content in different genres from Asia's top content providers with local language subtitles, as well as original production series under the Viu Original initiative (similar to original programming from other services like Disney+, Amazon Prime Video and Netflix).
JSON - [Click to show/hide]
{
-"trash_id":"0455d6519a550dbf648c97b56e7231d2",
-"name":"SALTO",
+"trash_id":"93c9d1e566dca8b34d57f5efbbf85f28",
+"trash_scores":{
+"default":50
+},
+"name":"VIU","includeCustomFormatWhenRenaming":true,"specifications":[{
+"name":"VIU",
+"implementation":"ReleaseTitleSpecification",
+"negate":false,
+"required":true,
+"fields":{
+"value":"\\b(viu)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
+}
+},
+{"name":"WEBDL","implementation":"SourceSpecification","negate":false,
@@ -14278,15 +14532,6 @@ For example, a lot of EVO releases end up stripped of the group name so they app
"fields":{"value":4}
-},
-{
-"name":"SALTO",
-"implementation":"ReleaseTitleSpecification",
-"negate":false,
-"required":true,
-"fields":{
-"value":"\\b(SALTO)\\b"
-}}]}
@@ -14294,23 +14539,37 @@ For example, a lot of EVO releases end up stripped of the group name so they app
NLZIET is the online service of Dutch broadcasters that provides non-stop tv, commercial-free. The streaming service brings the best of all channels straight to your preferred device and lets you see your favorite tv content in high quality on all available platforms; anytime and anywhere.
JSON - [Click to show/hide]
{
-"trash_id":"b0d6195c23ae254932da00512db7e8a8",
-"name":"RTBF",
+"trash_id":"b2b980877494b560443631eb1f473867",
+"trash_scores":{
+"default":50
+},
+"name":"NLZ","includeCustomFormatWhenRenaming":true,"specifications":[{
+"name":"NLZiet",
+"implementation":"ReleaseTitleSpecification",
+"negate":false,
+"required":true,
+"fields":{
+"value":"\\b(nlz|NLZiet)\\b"
+}
+},
+{"name":"WEBDL","implementation":"SourceSpecification","negate":false,
@@ -14327,15 +14586,6 @@ For example, a lot of EVO releases end up stripped of the group name so they app
"fields":{"value":4}
-},
-{
-"name":"Radio Télévision Belge Francophone",
-"implementation":"ReleaseTitleSpecification",
-"negate":false,
-"required":true,
-"fields":{
-"value":"\\b(RTBF|AUVIO)\\b"
-}}]}
@@ -14343,33 +14593,33 @@ For example, a lot of EVO releases end up stripped of the group name so they app
Videoland is a Dutch OTT online service provider owned by RTL Nederland. Originally it was a retail chain of video rental stores. Its main competitor is Netflix.
JSON - [Click to show/hide]
{
-"trash_id":"77a7b25585c18af08f60b1547bb9b4fb",
+"trash_id":"5d2317d99af813b6529c7ebf01c83533","trash_scores":{"default":50},
-"trash_regex":"https://regex101.com/r/A3TRwE/1",
-"name":"CC",
+"name":"VDL","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"Comedy Central",
+"name":"Videoland","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(CC)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
+"value":"\\b(vdl|Videoland)\\b"}},{
@@ -14396,35 +14646,36 @@ For example, a lot of EVO releases end up stripped of the group name so they app
Crave (originally CraveTV) is a Canadian subscription video on demand service. The service competes directly with other subscription-based over-the-top streaming services operating in Canada, primarily against American-based services.
-The service features Bell Media original programming, exclusive Canadian access to programming acquired from several U.S. television and streaming services, and various theatrically-released films. Crave's major programming supplier is Warner Bros. Discovery (HBO / Max and Warner Bros. films). Starz, offered in partnership with Lionsgate.
ALL4 is a previous name for the UK's Channel4 VOD service. Releases are usually identified with either 'ALL4' or '4OD', not 'Channel4'.
JSON - [Click to show/hide]
{
-"trash_id":"4e9a630db98d5391aec1368a0256e2fe",
+"trash_id":"bbcaf03147de0f73be2be4a9078dfa03","trash_scores":{"default":50},
-"trash_regex":"https://regex101.com/r/eymcie/1",
-"name":"CRAV",
+"trash_regex":"https://regex101.com/r/pa5TPZ/1",
+"name":"4OD","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"Crave",
+"name":"4OD","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(crav(e)?)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
+"value":"\\b(4OD)\\b"}},{
@@ -14451,33 +14702,34 @@ The service features Bell Media original programming, exclusive Canadian access
ALL4 is a previous name for the UK's Channel4 VOD service. Releases are usually identified with either 'ALL4' or '4OD', not 'Channel4'.
JSON - [Click to show/hide]
{
-"trash_id":"fb1a91cdc0f26f7ca0696e0e95274645",
+"trash_id":"fcc09418f67ccaddcf3b641a22c5cfd7","trash_scores":{"default":50},
-"trash_regex":"https://regex101.com/r/hWHpjV/1",
-"name":"OViD",
+"trash_regex":"https://regex101.com/r/pUDbbp/1",
+"name":"ALL4","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"OViD",
+"name":"ALL4","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(ovid)\\b"
+"value":"\\b(ALL4)\\b"}},{
@@ -14504,34 +14756,33 @@ The service features Bell Media original programming, exclusive Canadian access
BBC iPlayer is a video on demand service from the BBC. iPlayer services delivered to UK-based viewers feature no commercial advertising.
JSON - [Click to show/hide]
{
-"trash_id":"7be9c0572d8cd4f81785dacf7e85985e",
+"trash_id":"dc503e2425126fa1d0a9ad6168c83b3f","trash_scores":{"default":50},
-"trash_regex":"https://regex101.com/r/CbFoaJ/1",
-"name":"FOD",
+"name":"IP","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"FOD",
+"name":"BBC iPlayer","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(fod)\\b"
+"value":"\\b(ip|iplayer)\\b"}},{
@@ -14558,34 +14809,34 @@ The service features Bell Media original programming, exclusive Canadian access
ITVX (formerly ITV Hub) is a British ad-supported video-on-demand streaming service operated by ITV. The service offers original content from the broadcaster, as well as some exclusive and licensed programming.
JSON - [Click to show/hide]
{
-"trash_id":"d100ea972d1af2150b65b1cffb80f6b5",
+"trash_id":"fa5a16b951004c23e980d2913694a137","trash_scores":{"default":50},
-"trash_regex":"https://regex101.com/r/o9YVOG/1",
-"name":"TVer",
+"trash_regex":"https://regex101.com/r/Nw3FiP/1",
+"name":"ITVX","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"TVer",
+"name":"ITVX","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(tver)\\b"
+"value":"\\bITV(X)?\\b[ ._-]web[ ._-]?(dl|rip)?\\b"}},{
@@ -14612,34 +14863,37 @@ The service features Bell Media original programming, exclusive Canadian access
Crave (originally CraveTV) is a Canadian subscription video on demand service. The service competes directly with other subscription-based over-the-top streaming services operating in Canada, primarily against American-based services.
+The service features Bell Media original programming, exclusive Canadian access to programming acquired from several U.S. television and streaming services, and various theatrically-released films. Crave's major programming supplier is Warner Bros. Discovery (HBO / Max and Warner Bros. films). Starz, offered in partnership with Lionsgate.
JSON - [Click to show/hide]
{
-"trash_id":"0e99e7cc719a8a73b2668c3a0c3fe10c",
+"trash_id":"4e9a630db98d5391aec1368a0256e2fe","trash_scores":{"default":50},
-"trash_regex":"https://regex101.com/r/eQuNMO/1",
-"name":"U-NEXT",
+"trash_regex":"https://regex101.com/r/eymcie/1",
+"name":"CRAV","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"U-NEXT",
+"name":"Crave","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(u-next)\\b"
+"value":"\\b(crav(e)?)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"}},{
@@ -14666,33 +14920,33 @@ The service features Bell Media original programming, exclusive Canadian access
Viu (pronounced as view) is a Hong Kong-based over-the-top (OTT) video streaming provider, Viu delivers content in different genres from Asia's top content providers with local language subtitles, as well as original production series under the Viu Original initiative (similar to original programming from other services like Disney+, Amazon Prime Video and Netflix).
{
-"trash_id":"93c9d1e566dca8b34d57f5efbbf85f28",
+"trash_id":"fb1a91cdc0f26f7ca0696e0e95274645","trash_scores":{"default":50},
-"name":"VIU",
+"trash_regex":"https://regex101.com/r/hWHpjV/1",
+"name":"OViD","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"VIU",
+"name":"OViD","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(viu)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"
+"value":"\\b(ovid)\\b"}},{
@@ -14719,34 +14973,33 @@ The service features Bell Media original programming, exclusive Canadian access
{
-"trash_id":"fcc09418f67ccaddcf3b641a22c5cfd7",
+"trash_id":"c30d2958827d1867c73318a5a2957eb1","trash_scores":{"default":50},
-"trash_regex":"https://regex101.com/r/pUDbbp/1",
-"name":"ALL4",
+"trash_regex":"https://regex101.com/r/GfOSFe/1",
+"name":"RED","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"ALL4",
+"name":"YouTube Red","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(ALL4)\\b"
+"value":"\\b(red|youtube red)\\b[ ._-]web[ ._-]?(dl|rip)?\\b"}},{
@@ -14773,34 +15026,33 @@ The service features Bell Media original programming, exclusive Canadian access
Quibi (/ˈkwɪbi/ KWIB-ee) was an American short-form streaming platform, It launched in April 2020, but shut down in December 2020 after falling short of its subscriber projections.
JSON - [Click to show/hide]
{
-"trash_id":"bbcaf03147de0f73be2be4a9078dfa03",
+"trash_id":"3ac5d84fce98bab1b531393e9c82f467","trash_scores":{
-"default":50
+"default":80},
-"trash_regex":"https://regex101.com/r/pa5TPZ/1",
-"name":"4OD",
+"name":"QIBI","includeCustomFormatWhenRenaming":true,"specifications":[{
-"name":"4OD",
+"name":"Quibi","implementation":"ReleaseTitleSpecification","negate":false,"required":true,"fields":{
-"value":"\\b(4OD)\\b"
+"value":"\\b(qibi|quibi)\\b"}},{
@@ -14827,7 +15079,9 @@ The service features Bell Media original programming, exclusive Canadian access
Some streaming services have UHD releases that are generally better than their HD counterparts. The UHD Streaming Boost custom format increases those streaming services' scores appropriately for UHD releases. Use this in conjunction with the regular streaming service custom formats.
@@ -15435,7 +15691,7 @@ The service features Bell Media original programming, exclusive Canadian access
Some streaming services have UHD releases that are generally worse than their HD counterparts. The UHD Streaming Cut custom format decreases those streaming services' scores appropriately for UHD releases. Use this in conjunction with the regular streaming service custom formats.
@@ -22004,7 +22260,7 @@ The service features Bell Media original programming, exclusive Canadian access
- February 17, 2024 23:22:43
+ February 18, 2024 12:07:15
diff --git a/search/search_index.json b/search/search_index.json
index 6474fc928..628173da1 100644
--- a/search/search_index.json
+++ b/search/search_index.json
@@ -1 +1 @@
-{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"TRaSH-Guides","text":"
TRaSH Guides, Guides that aren't trash.
Here you will find guides mainly for Sonarr/Radarr/Bazarr and everything related to it.
"},{"location":"#how-this-all-started","title":"How this all started","text":"
When I started using Sonarr/Radarr, I noticed that it didn't grab the releases that I actually wanted, as I'm a bit picky about which releases and what quality I prefer. So I decided to fine tune it to try to get the releases & quality I preferred. On Discord, I also noticed that others run in to the same issue so I explained them how I managed to get it solved. Being that I had to explain it often, I decided to write it down and make it public so I could easily link it to someone when they needed it. After a while I also decided to create guides for frequently asked questions, and started to collect all kind of information gathered from various sources. I try to make my guides as easy as possible for everyone to understand, in my opinion pictures explain often more than just some text.
If you have questions, suggestions, requests or want to contribute, click the chat badge to join the Discord Channel where you can ask your questions directly or use the following link to open an issue on GitHub. Feel free to create a PR if you want to.
The information I use for the guides is information I have gathered from different sources like support forums, Reddit or Discord, provided by user input or from the development teams. I have tested most things myself and I have tried to see if I could tune them a bit more to my needs and sometimes even for others.
You use everything here at your own risk. I won't be responsible if something happens to your setup or collection!
After you've installed everything it's best to check all of your settings,
Warning
Bazarr only searches for subs for Episodes and Movies that are added after the install.
So you will need to set the preferred languages for your existing Shows and Movies.
In this example I will show you how to do that with the series.
click on Mass Edit
Select all.
Select your Language Profile you created earlier.
Click on Save.
Then go back to your Movies home screen and do the same for your Movies. If you've done it correctly you will get something that looks like the following screenshot with your preferred languages.
In this guide we will try to explain the basic setup you need to do to get started with Bazarr. For a more detailed few of all the setting check the following LINK.
Before Bazarr works we need to setup and configure a few settings.
After installation and starting up, you open a browser and go to http://ip_where_installed:6767.
Enter the hostname or the IP address of the computer running your Sonarr instance.
Info
Be aware that when using Bazarr in docker, you cannot reach another container on the same Docker host using the loopback address (ex.: 127.0.0.1 or localhost). Loopback address refers to the Bazarr Docker container, not the Docker host.
Enter the TCP port of your Sonarr instance. Default is 8989.
Sonarr uses the Base URL ONLY if used with a \"Reverse Proxy\" (ex: Nginx Proxy Manager or SWAG) and MUST have a leading slash if it is needed (ex: /sonarr).
Info
If you don't use a reverse proxy or don't know what it is leave this empty!!!
Enter your Sonarr API key here.
Enable this if your Sonarr instance is exposed through SSL.
Info
Not needed if you reach it with a local IP address.
Click the Test button after filling in all the fields. Make sure the test is successful before you proceed.
Select the minimum score (in percentage) required for a subtitle file to be downloaded.
Info
Are your subs often out of sync or just bad? Raise the score!
Episodes from series with those tags (case sensitive) in Sonarr will be excluded from automatic downloading of subtitles. In Sonarr you add a custom tag to a show, in this case the shows with these tags will be ignored by Bazarr.
Episodes from series with these types in Sonarr will be excluded from automatic downloading of subtitles.
Options: Standard, Anime, Daily
Automatic downloading of subtitles will only happen for monitored shows/episodes in Sonarr.
You should only use this section if Sonarr and Bazarr use a different path to access the same files.
(for example if you run Sonarr on a different device than Bazarr or have a Synology and mix packages with Docker.)
Click on Add and you will get an extra option
Here you enter the path that Sonarr uses to access your shows.
Here you enter the path that Bazarr uses to access your shows.
Warning
IF YOU GOT THE SAME VALUES ON BOTH SIDES THEN YOU DON'T NEED IT!!!
IT SHOULD ALSO BE REMOVED OR ELSE YOU WILL GET AN ERROR.
Info
If everything runs on Docker you normally don't need to use this except if you got messed up paths and then it would be smarter to fix those first to have consistent and well planned paths.
Please take a look at TRaSH's Hardlink Tutorial https://trash-guides.info/hardlinks
Enter the hostname or the IP address of the computer running your Radarr instance.
Info
Be aware that when using Bazarr in docker, you cannot reach another container on the same Docker host using the loopback address (ex.: 127.0.0.1 or localhost). Loopback address refers to the Bazarr Docker container, not the Docker host.
Enter the TCP port of your Radarr instance. Default is 7878.
Radarr uses the Base URL ONLY if used with a \"Reverse Proxy\" (ex: Nginx Proxy Manager or SWAG) and MUST have a leading slash if it is needed (ex: /radarr).
Info
If you don't use a reverse proxy or don't know what it is leave this empty!!!
Enter your Radarr API key here.
Enable this if your Radarr instance is exposed through SSL.
Info
Not needed if you reach it with a local IP address.
Click the Test button after filling in all the fields. Make sure the test is successful before you proceed.
You should only use this section if Radarr and Bazarr use a different path to access the same files.
(for example if you run Radarr on a different device than Bazarr or have a Synology and mix packages with Docker.)
Click on Add and you will get an extra option
Here you enter the path that Radarr uses to access your movies.
Here you enter the path that Bazarr uses to access your movies.
Warning
IF YOU GOT THE SAME VALUES ON BOTH SIDES THEN YOU DON'T NEED IT!!!
IT SHOULD ALSO BE REMOVED OR ELSE YOU WILL GET AN ERROR.
Info
If everything runs on Docker you normally don't need to use this except if you got messed up paths and then it would be smarter to fix those first to have consistent and well planned paths.
Please take a look at TRaSH's Hardlink Tutorial https://trash-guides.info/hardlinks
**We don't recommend enabling Single Language option unless absolutely required (ie: media player not supporting language code in subtitles filename). Results may vary.
Be aware the language code (ex.: en) is not going to be included in the subtitles file name when enabling this.**
Here you select which languages you want for your subtitles, you can just start typing your language name and it will show you what's available.
These languages are the subtitle languages you later use for the Languages Profiles
Click on Add to add the languages you enabled earlier in Subtitle Language.
Select the languages you want to enable for your profile (Including the optional settings).
Forced => FAQ - What are Forced Subtitles
HI => Hearing Impaired
Exclude Audio => Exclude if matching audio
Optional select the cutoff where you want Bazarr to stop downloading other languages.
Save your settings.
Cutoff
So you can have a profile that states: English, Dutch, German, French With cutoff Dutch, if it finds Dutch, it will download it and call it a day. If no Dutch is found it will continue searching the other languages till Dutch is found.
Here we're going to select which subtitle providers you want to use.
Settings => Providers
Click on the Plus sign box.
Select the subtitle providers you would like to enable. It is best to select multiple providers and create/use an account with them especially when you got a lot of wanted subtitles. Some subtitle providers requires an extra paid Anti-Captcha Service.
Your enabled providers.
Tip
If possible don't forget to support them for their free service
You just setup Bazarr and wonder which scoring you should use/setup for your subtitles and sync ?
I'll going to suggest here a scoring what would work for most common languages, with this scoring 99% of your downloaded subs should be the correct ones for your release.
Setting it to low could result in bad subs or completely out of sync and un-syncable.
This score is the minimal score that the subs should match to for your release, settings this to low could result in bad subs or completely out of sync and un-syncable.
This score is the minimal score that the subs should match to for your release, settings this to low could result in bad subs or completely out of sync and un-syncable.
Enable Automatic Subtitles Synchronization at step 3.
Enable Series Score Threshold at step 4 and set the score to 96.1
Enable Movies Score Threshold at step 5 and set the score to 86.1
This will set the Synchronization Score Threshold, meaning at which score bazarr will sync the subtitles.
Info
The synchronization is best effort based on the following.
it use the embedded subtitles track as reference, if not present.
it needs to extract the audio track and analyze it to define start of sentence markers.
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
Why not set the Synchronization Score to max? It's kinda useless to start with why would you want to try to sync perfectly matching subs in the first place ?
I personally noticed that when setting it to high 98-100 I would actually get subs that are like 1 second to slow/fast.\u00a0\u21a9\u21a9
Deluge is an open-source cross-platform torrent client written in Python. It has been around since 2006 and offers many features that, while niche, many consider to be critical to their setups.
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
The default path setup suggested by some docker developers that encourages people to use mounts like /movies, /tv, /books or /downloads is very suboptimal and it makes them look like two or three file systems, even if they aren\u2019t (Because of how Docker\u2019s volumes work). It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used.
But you're able to change this, by not using the pre-defined/recommended paths like:
Download to is where you want you want Deluge to download your media. If you want to move your files upon completion - check the box and enter a path for that option as well.
Pre-allocate disk space for the added torrents. This limits fragmentation and also makes sure if you use a cache drive or a feeder disk, that the space is available.
Suggested: Enabled
Warning
Do not set Pre-allocated disk space if you are using ZFS as your filesystem as ZFS does not support fallocate
ATTENTION
You set your download location in your download client
Your download client ONLY downloads to your download folder/location.
And you tell Radarr where you want your clean media library
Starr Apps import from your download location (copy/move/hardlink) to your media folder/library
Plex, Emby, JellyFin, or Kodi should ONLY have access to your media folder/library
Your Download and Media Library should be **NEVER the same locations**
Here you can set your rate limits, meaning your maximum download/upload/connections.
Info
In Deluge, the value of -1 is used for \"infinity\" or \"unlimited\".
The best settings depend on many factors.
Your ISP speed.
Your hardware.
Bandwidth needed by other services in your home network.
Suggested: For a home connection that you use with others it's best practice to set the upload/download rate to about 70-80% of your maximum upload/download speed.
I recommend using the seeding goals in your Starr Apps indexer settings (enable advanced) to remove completed downloads. These sections are then not necessary.
You can configure your network protocols in this section. Depending on which type of tracker you use, some of these will be beneficial while on other trackers (private) it will put you at risk of being banned/disabled.
Warning
Please read this section carefully.
UPnP and NAT-PMP should be both disabled in your router, as well as in Deluge, as they can pose security risks.
Suggested: Disabled
Public trackers can benefit from having settings like DHT (Distributed Hash Table) and Peer Exchange (PEX) enabled. These protocols rely on sources besides the trackers to get peers. The following settings are recommended ONLY for public trackers.
Suggested: Recommended
Decent private trackers will use the \"private flag\" and ignore these settings by default. However, it is strongly recommended that you use the following settings if you use private trackers. Almost all private trackers have rules stating that you must disable DHT, PEX, and LSD/LPD (Local Peer Discovery). Failing to do so puts your account at risk of being disabled.
Finally, you will want to enable some plugins. There are plenty of plugins on the Deluge community forums to browse once you are familiar with the client, but for the time being, we will only be covering the WebUI and Label plugins to get started.
Tip
If you are familiar with the client and plugins you can find more information here
Info
If you are running a docker container, such as binhex's image, the WebUI plugin may not need to be enabled. Instead, it may be configured in the container.
Once you have enabled the WebUI plugin, it will appear in your Preferences menu list, and you will need to enable the web interface and set the port you want the WebUI to listen on.
Info
The default WebUI password is deluge and you can change that in preferences inside the WebUI once you access it through your browser.
The Label plugin will allow you to categorize/sort your torrents. You can assign one Label per torrent. Starr apps can also use Deluge's labels to help them keep track of downloads and imported torrents.
Labels are a valuable tool, if used properly, to keep your torrents managed and organized.
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
You've followed the Setup TorGuard for port forwarding and want to know where in your download client you should add the port you've forwarded.
Incoming Port should be set to a specific port that you have opened/forwarded (if you are behind any NAT/Firewall/VPN.)
Warning
Default ports of 6880-6890 are not recommended.
Make sure you click Test Active Port and get a \u2713 before moving on.
Suggested: Critical
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
Labels are the equivalent of categories for qBittorrent, and how you can manage and organize your torrents in groups. Starr apps can use labels in Deluge to keep track of downloads to monitor, rather than watching every torrent in your client.
Once you have enabled the Label plugin, you simply right-click anywhere in the area occupied by the label index on the pane on the left and you will be presented with a menu to add/remove/edit a label or its options.
Each label can be customized by selecting the label, right-clicking, and going to its Label Options. Here you can specify the bandwidth settings, download location settings, and even seed goals.
Info
In Deluge, the value of -1 is used for \"infinity\" or \"unlimited\".
Below you see an example of the bandwidth options available for a specific label. These settings will be automatically applied as long as a torrent has this label.
If you want torrents to be moved upon completion to a specific folder, you can specify this in Folder Options. The torrent WILL need to finish downloading while under the label for this to happen.
Info
Enabling a \"Move completed to\" for a label may require you to restart Deluge before it will take effect.
Rechecking torrents will not trigger the \"completion\" call.
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
Here you will find a list of included and available plugins that may be useful. These are not required but should be seen as ways to advance/customize your setup once you understand the client and its behaviors.
Info
All plugins are .egg files, these files will need to be placed inside your deluge config/data directory, inside the plugins folder. If you are using a thin client, they will also need to be present on your local instance as well.
Tip
Links to the plugins below are directly to the latest versions available on Deluge's forums, see the original and subsequent posts for more information concerning the plugin's features and iterations.
Use this plugin as a \"Watch\" directory for .torrent files, you can customize the settings using the Edit button for that specific directory (download directory, label, etc).
Place a .torrent file in a watched folder, and Deluge will add the torrent to your client. Make sure your directory is marked with a checkmark under Active if you wish it to be monitored.
This plugin has mixed reception, depending on the use case. For private trackers, it is generally recommended to keep it disabled. There is an argument that some benefits, in privacy/security, could be made for public trackers - however, reports of many false positives and actual TRACKERS being flagged/blocked have been reported.
Stats does exactly what it sounds like; provides you with statistics on torrent traffic. You can find the latest version on the forums, but depending on which version of Deluge you install an older version may be included.
If you need to set libtorrent settings to anything other than their defaults, this is the plugin for you. There are presets, but you can fine-tune the settings as you need as well.
Attention
There is a known bug when trying to enable settings in ltConfig, double-clicking will sometimes not \"check\" the option.
Simply click the option, then use the space bar to enable that checkbox.
Tips
If you want to seed over 1600 torrents, you will need this plugin. You will need to increase the active_tracker_limit.
If your tracker's SSL certificate has expired, you can disable validate_https_trackers to bypass validation.
See the forum thread for details below.
ltConfig
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
If you are already running Deluge in daemon or console mode, or running via Docker, this is usually enabled by default. You will need to check your compose or core.conf for the \"daemon_port\" if you do not know it.
Tip
You can also access the daemon settings in Preferences in the WebUI if you do not have access to the GTK/UI
You will need to have \"Allow Remote Connections\" enabled if you are not connecting to Deluge from localhost.
Info
If you do not have access to the WebUI, and are instead doing this by editing Deluge's core.conf, you will need to change \"allow_remote\" to true.
Restart Deluge for the changes to take effect.
"},{"location":"Downloaders/Deluge/Tips/Thin-Client/#switching-to-thin-client","title":"Switching to Thin-Client","text":"
Once your daemon is up and running, it's time to set up the client you'll be using to manage your daemon. This will usually be on a second computer, but if you wish to use Deluge with Thin-Client locally (to always seed in the background) that works as well.
Simply go to Edit => Preferences and switch from Standalone to Thin Client
Restart Deluge.
Info
You will still need to set the daemon to run at start-up.
After switching to Thin Client you will need to connect to your daemon. Go to Edit => Connections Manager and click on Add to add the daemon.
Attention
If you mistyped your password while adding the connection, it will prompt you to enter it. There is a bug that does not accept/save the correct password unless it is entered through the Add/Edit Menu.
If you mistype the password while you are adding the connection, go to Edit on the connection and retype the password into the password field.
Warning
You can find your users and passwords for the daemon in the auth file inside your appdata/config folder for Deluge.
You can add users in the Daemon settings in preferences as well.
BE AWARE: These passwords are stored in PLAIN-TEXT in your auth file.
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
"},{"location":"Downloaders/Deluge/Tips/Unraid-Mover/","title":"unRAID Mover and Deluge","text":"
When you make use of the unRAID cache drive for your /data/torrents share, and the torrents in Deluge are still seeding, the mover can't move files since they are still in use.
Using the following instructions will allow you to move the files with the use of the Deluge JSON-RPC.
Workflow Rules
Pause torrents in a specified age range that reside on your cache drive.
Run the unRAID mover.
Resume the torrents after the mover has completed.
Warning
The screenshots below are only EXAMPLES to show you how it should look and where you need to place the data that you need to add. They are NOT always a 100% reflection of the actual data, and not always the actual values you need to add.
Always follow the recommendations described in the guide.
If you have any questions, or aren't sure, just click the chat badge to join the Discord Channel where you can ask your questions directly.
deluge-mover.py needs the requests Python module, so we need to make sure it's installed when your unRAID server starts, or when the Array is started the first time.
You can choose one of the following 3 options (select a tab) to install requests.
User scriptsPython venvGo File
With this option, we're going to install the requests module when the Array is started the first time.
In your unRAID Dashboard, go to your Settings tab and select User Scripts in the User Utilities section at the bottom.
At the bottom of the User Scripts page select the ADD NEW SCRIPT button.
A popup will appear asking you to name the script. For this example, we're going to use Install requests (deluge-mover) and then click on OK.
Click on the cogwheel of the new script in the list, and select Edit Script.
Copy/Paste the following in the new window that opens, then click SAVE CHANGES.
#!/bin/bash\npip3 install requests\n
Select in the schedule list when the script should run, and choose At First Array Start Only.
Click on Apply.
Finally, you will need to choose RUN IN BACKGROUND or restart your unRAID server to install the requests module.
With this option, we're going to create a Python virtual environment on our disk. We will use this to run and store dependencies (requests) for this specific environment.
By doing this, we will only need to configure this once and it will be persistent after reboots (this differs from the previous steps).
First, you need to choose a location to start a new Python environment.
Info
In the next steps, you will be asked to choose a location to store the script, try to be consistent.
Suggestions:
/mnt/user/appdata/deluge/scripts/.venv
/mnt/user/data/scripts/.venv
Run the following command in unRAID's terminal in the directory you chose:
Now, using your favorite text editor (VSCode/Notepad++) edit the script you downloaded at the beginning of the guide (HERE).
You only need to change a few options at the top of the script.
### CONFIGURATION VARIABLES ###\n\n# this webui will need to be the JSON-RPC endpoint\n# this ends with '/json'\ndeluge_webui = \"http://localhost:8112/json\"\ndeluge_password = \"deluged\"\n\n# this changes whether the actual cache drive is checked for\n# applicable files to pause/move before pausing.\n#\n# if this is false, it will pause all torrents in the age-range\n# instead of only torrents in that range that exist on the cache\ncheck_fs = False\n\n# if you are using the mover tuner and don't want to use it for\n# this script, set this to true\n#\n# if you do not use mover tuner, leave this as false\nuse_mover_old = False\n\n# this is the absolute host path to your cache drive's downloads\n# you only need this to be changed/set if using 'check_fs = True'\ncache_download_path = \"/mnt/cache/torrents/completed\"\n\n# the age range of days to look for relevant torrents to move\n# i dont recommend setting age_day_max to less than the schedule\n# you run the script on...\n#\n# if you run every 7 days, this should be at least 7 to prevent\n# files from being stuck on your cache forever\n#\n# 0 disables age_day_max\n# set both age vars to 0 to move everything on your cache drive\n\nage_day_min = 3\nage_day_max = 0\n
deluge_webui => The URL you use to access Deluge locally. (the \" should remain)
deluge_password => Your Deluge WebUI Password. (the \" should remain)
check_fs => If set to True, it will check for the file on the cache drive before pausing.
use_mover_old => See below.
If you do not use Mover Tuning, you DO NOT have to make any changes.
If you use Mover Tuning but DON'T want to use it for the script, change this to True
If you use Mover Tuning and DO want to use it for the script, you will not have to make any changes. However, for this option, inside the Mover Tuner you will need to set Move Now button follows plugin filters to Yes and Disable Mover running on a schedule to No.
cache_download_path => The location (host path) for your cache folder (if check_fs is True)
age_day_min => Set the minimum age (days) of the torrents that you wish to move.
age_day_max => Set the maximum age (days) of the torrents that you wish to move.
"},{"location":"Downloaders/Deluge/Tips/Unraid-Mover/#copy-the-script-to-your-preferred-location","title":"Copy the script to your preferred location","text":"
Place the script you just edited somewhere easy to access/remember.
Set up the scheduler for when the mover should run.
In your unRAID Dashboard, go to your Settings tab and select User Scripts in the User Utilities section at the bottom.
At the bottom of the User Scripts page select the ADD NEW SCRIPT button.
A popup will appear asking you to name the script. For this example, we're going to use deluge-mover and then click on OK.
Click on the cogwheel of the new script in the list.
Choose your method (select a tab) and copy/paste the script in the new window that opens, then click SAVE CHANGES.
Python (Native)Python (venv)
#!/bin/bash\n /usr/local/emhttp/plugins/dynamix/scripts/notify -s \"Deluge Mover\" -d \"Deluge Mover starting @ `date +%H:%M:%S`.\"\n echo \"executing script to pause torrents and run mover.\"\n python3 /mnt/user/data/scripts/deluge-mover.py\n echo \"deluge-mover completed and resumed all paused torrents.\"\n /usr/local/emhttp/plugins/dynamix/scripts/notify -s \"Deluge Mover\" -d \"Deluge Mover completed @ `date +%H:%M:%S`.\"\n
#!/bin/bash\n /usr/local/emhttp/plugins/dynamix/scripts/notify -s \"Deluge Mover\" -d \"Deluge Mover starting @ `date +%H:%M:%S`.\"\n echo \"executing script to pause torrents and run mover.\"\n /mnt/user/data/scripts/.venv/bin/python3 /mnt/user/data/scripts/deluge-mover.py\n echo \"deluge-mover completed and resumed all paused torrents.\"\n /usr/local/emhttp/plugins/dynamix/scripts/notify -s \"Deluge Mover\" -d \"Deluge Mover completed @ `date +%H:%M:%S`.\"\n
Info
Replace /mnt/user/data/scripts/ in the script with the path you have chosen for the Python script.
Click the schedule dropdown to choose when the script should run. We want to select Custom.
After changing to Custom you will get an extra text field on the right where you can set your schedule (cron).
For this example, we're going to tell the script to run every day at 4 AM.
0 4 * * *
You can generate your scheduling HERE
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
The default path setup suggested by some docker developers that encourages people to use mounts like /movies, /tv, /books or /downloads is very suboptimal and it makes them look like two or three file systems, even if they aren\u2019t (Because of how Docker\u2019s volumes work). It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used.
But you're able to change this, by not using the pre-defined/recommended paths like:
"},{"location":"Downloaders/NZBGet/Basic-Setup/#some-basics","title":"Some Basics","text":"Name Description ${MainDir} Root directory for all tasks. ${AppDir} Where NZBGet is installed. ${DestDir} Destination directory for downloaded files."},{"location":"Downloaders/NZBGet/Basic-Setup/#paths","title":"PATHS","text":"
I will only explain the so called most important paths.
Name Description MainDir/data/usenetDestDir${MainDir} (so it will go in to /data/usenet) InterDir Files are downloaded into this directory (before unpack+par2) NzbDir Directory for incoming nzb-files. QueueDir This directory is used to save download queue, history, information statistics, etc. ScriptDir Directory with post-processing and other scripts. LogFile Where your log files will be stored (Please create a log directory in your config)"},{"location":"Downloaders/NZBGet/Basic-Setup/#news-servers","title":"NEWS-SERVERS","text":"Name Description Active Use this news server. Name The name is used in UI and for logging. It can be any string. Level Put your major download servers at level 0 and your fill servers at levels 1, 2, etc.. Host Host name of news server. Port Port to connect to. Password Password to use for authentication. Encryption Encrypted server connection (TLS/SSL). (preferred to use this) Connections Use the lowest possible number of connections to reach your max download speed +1 connection. Retention How long the articles are stored on the news server."},{"location":"Downloaders/NZBGet/Basic-Setup/#categories","title":"CATEGORIES","text":"Name Description Name This should match what you put in Sonarr/Radarr (tv/movies/sonarr/radarr/series/films) DestDir${DestDir} Destination directory (/data/usenet/movies) Unpack Unpack downloaded nzb-files. Extensions List of extension scripts for this category."},{"location":"Downloaders/NZBGet/Basic-Setup/#incoming-nzbs","title":"INCOMING NZBS","text":"
Info
AppendCategoryDir: Create subdirectory with category-name in destination-directory.
WriteBuffer: If you're low on memory don't set this to high.
"},{"location":"Downloaders/NZBGet/Basic-Setup/#logging","title":"LOGGING","text":""},{"location":"Downloaders/NZBGet/Basic-Setup/#check-and-repair","title":"CHECK AND REPAIR","text":""},{"location":"Downloaders/NZBGet/Basic-Setup/#unpack","title":"UNPACK","text":"
Info
DirectUnpack: This might lower your download speed but the overall time could be faster. (disable on low powered devices)
The following settings are recommended to for Sonarr/Radarr, else it could happen that Sonarr/Radarr will miss downloads that are still in the queue/history. Being that Sonarr/Radarr only looks at the last xx amount in the queue/history.
Make sure you check both boxes under Completed Download Handling at step 3,
and both boxes under Failed Download Handling at step 4.
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
"},{"location":"Downloaders/NZBGet/Paths-and-Categories/","title":"NZBGet - Paths and Categories","text":"
NZBGet development has been officially abandoned by the developer
This basic example is based on the use of docker images
Keep in mind the path are setup so it works with hardlinks and instant moves.
More info HERE
Info
Pick one path layout and use it for all of them.
It doesn't matter if you prefer to use /data, /shared, /storage or whatever.
The screenshots in the examples are using the following root path /data
Settings => PATHS
Settings => CATEGORIES
ATTENTION
You set your download location in your download client
Your download client ONLY downloads to your download folder/location.
And you tell Radarr where you want your clean media library
Starr Apps import from your download location (copy/move/hardlink) to your media folder/library
Plex, Emby, JellyFin, or Kodi should ONLY have access to your media folder/library
Your Download and Media Library should be **NEVER the same locations**
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
NZBGet development has been officially abandoned by the developer
"},{"location":"Downloaders/NZBGet/scripts/#clean","title":"Clean","text":"Clean NZB name
Title: Clean.py
Author(s): ???
Removes the following suffixes from NZB name: NZBgeek / Obfuscated / BUYMORE / Scrambled /etc... Cleans the NZB name by removing the retagged stuff (-Obfuscated, -postbox, etc).
Script
#!/usr/bin/env python3\n#\n\n##############################################################################\n### NZBGET SCAN SCRIPT ###\n\n# Clean NZB name.\n#\n# Removes the following suffixes from NZB name:\n# NZBgeek / Obfuscated / BUYMORE / Scrambled.\n#\n# NOTE: This script requires Python to be installed on your system.\n\n### NZBGET SCAN SCRIPT ###\n##############################################################################\n\nfrom __future__ import print_function\nimport os, re, sys\n\n# Exit codes used by NZBGet\nPOSTPROCESS_SUCCESS=93\nPOSTPROCESS_ERROR=94\nPOSTPROCESS_SKIP=95\n\n# Check if the script is called from NZBGet 13.0 or later\nif not 'NZBOP_SCRIPTDIR' in os.environ:\n print('*** NZBGet post-processing script ***')\n print('This script is supposed to be called from NZBGet (13.0 or later).')\n sys.exit(POSTPROCESS_ERROR)\n\nif not 'NZBNP_NZBNAME' in os.environ:\n print('[WARN] Filename not found in environment')\n sys.exit(POSTPROCESS_ERROR)\n\nfwp = os.environ['NZBNP_NZBNAME']\nfwp = re.sub('(?i)-4P\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)-4Planet\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)-AsRequested\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)-AsRequested-xpost\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)-BUYMORE\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)-Chamele0n\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)-GEROV\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)-iNC0GNiTO\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)-NZBGeek\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)-Obfuscated\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)-postbot\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)-Rakuv\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)-Scrambled\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)-WhiteRev\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)-xpost\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)\\[eztv([ ._-]re)?\\]\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)\\[TGx\\]\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)\\[TGx\\]-xpost\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)\\[ettv\\]\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)-WRTEAM\\.nzb$', '.nzb', fwp)\nfwp = re.sub('(?i)-CAPTCHA\\.nzb$', '.nzb', fwp)\nfwp = re.sub(r'(\\-[^-.\\n]*)(\\-.{4})?\\.nzb$', r'\\1.nzb', fwp)\nif fwp:\n print('[NZB] NZBNAME=', fwp, sep='')\n\nsys.exit(POSTPROCESS_SUCCESS)\n
"},{"location":"Downloaders/NZBGet/scripts/#hashrenamer","title":"HashRenamer","text":"Renames hashed media files to match the source NZB
Title: HashRenamer.py
Author(s): l3uddz
URL: github.com/cloudbox/cloudbox
Part of the Cloudbox project: https://cloudbox.works Built on top of the NZBGet scripts template created by Clinton Hall. Released under GNU General Public License v2.0
Script
#!/usr/bin/env python3\n#\n##############################################################################\n# Title: HashRenamer.py #\n# Author(s): l3uddz, desimaniac #\n# URL: https://github.com/l3uddz/nzbgetScripts #\n# Description: Renames hashed media files to match the source NZB. #\n# -- #\n# Part of the Cloudbox project: https://cloudbox.works #\n##############################################################################\n\n##############################################################################\n# Built on top of the NZBGet scripts template created by Clinton Hall #\n# (https://github.com/clinton-hall). #\n# Released under GNU General Public License v2.0 #\n##############################################################################\n\n\n##############################################################################\n### NZBGET POST-PROCESSING SCRIPT ###\n\n# Rename files with hashes for file name\n#\n# NOTE: This script requires Python to be installed on your system.\n#\n##############################################################################\n### NZBGET POST-PROCESSING SCRIPT ###\n##############################################################################\n\nimport os\nimport re\nimport shutil\nimport sys\n\n# NZBGet Exit Codes\nNZBGET_POSTPROCESS_PARCHECK = 92\nNZBGET_POSTPROCESS_SUCCESS = 93\nNZBGET_POSTPROCESS_ERROR = 94\nNZBGET_POSTPROCESS_NONE = 95\n\n\n############################################################\n# EXTENSION STUFF\n############################################################\n\ndef do_check():\n if 'NZBOP_SCRIPTDIR' not in os.environ:\n print(\"This script can only be called from NZBGet (11.0 or later).\")\n sys.exit(0)\n\n if os.environ['NZBOP_VERSION'][0:5] < '11.0':\n print(\"[ERROR] NZBGet Version %s is not supported. Please update NZBGet.\" % (str(os.environ['NZBOP_VERSION'])))\n sys.exit(0)\n\n print(\"Script triggered from NZBGet Version %s.\" % (str(os.environ['NZBOP_VERSION'])))\n\n status = 0\n if 'NZBPP_TOTALSTATUS' in os.environ:\n if not os.environ['NZBPP_TOTALSTATUS'] == 'SUCCESS':\n print(\"[ERROR] Download failed with status %s.\" % (os.environ['NZBPP_STATUS']))\n status = 1\n else:\n # Check par status\n if os.environ['NZBPP_PARSTATUS'] == '1' or os.environ['NZBPP_PARSTATUS'] == '4':\n print(\"[ERROR] Par-repair failed, setting status \\\"failed\\\".\")\n status = 1\n\n # Check unpack status\n if os.environ['NZBPP_UNPACKSTATUS'] == '1':\n print(\"[ERROR] Unpack failed, setting status \\\"failed\\\".\")\n status = 1\n\n if os.environ['NZBPP_UNPACKSTATUS'] == '0' and os.environ['NZBPP_PARSTATUS'] == '0':\n # Unpack was skipped due to nzb-file properties or due to errors during par-check\n\n if os.environ['NZBPP_HEALTH'] < 1000:\n print(\"[ERROR] Download health is compromised and Par-check/repair disabled or no .par2 files found. \" \\\n \"Setting status \\\"failed\\\".\")\n print(\"[ERROR] Please check your Par-check/repair settings for future downloads.\")\n status = 1\n\n else:\n print(\"[ERROR] Par-check/repair disabled or no .par2 files found, and Unpack not required. Health is \" \\\n \"ok so handle as though download successful.\")\n print(\"[WARNING] Please check your Par-check/repair settings for future downloads.\")\n\n # Check if destination directory exists (important for reprocessing of history items)\n if not os.path.isdir(os.environ['NZBPP_DIRECTORY']):\n print(\"[ERROR] Nothing to post-process: destination directory\", os.environ[\n 'NZBPP_DIRECTORY'], \"doesn't exist. Setting status \\\"failed\\\".\")\n status = 1\n\n # All checks done, now launching the script.\n if status == 1:\n sys.exit(NZBGET_POSTPROCESS_NONE)\n\n\ndef get_file_name(path):\n try:\n file_name = os.path.basename(path)\n extensions = re.findall(r'\\.([^.]+)', file_name)\n ext = '.'.join(extensions)\n name = file_name.replace(\".%s\" % ext, '')\n return name, ext\n except Exception:\n pass\n return None\n\n\ndef is_file_hash(file_name):\n hash_regexp = [\n r'^[a-fA-F0-9]{40}$',\n r'^[a-fA-F0-9]{32}$',\n r'^[a-f0-9]{128}$',\n r'^[a-zA-Z0-9]{42}$'\n ]\n for hash in hash_regexp:\n if re.match(hash, file_name):\n return True\n return False\n\n\ndef find_files(folder, extension=None, depth=None):\n file_list = []\n start_count = folder.count(os.sep)\n for path, subdirs, files in os.walk(folder, topdown=True):\n for name in files:\n if depth and path.count(os.sep) - start_count >= depth:\n del subdirs[:]\n continue\n file = os.path.join(path, name)\n if not extension:\n file_list.append(file)\n else:\n if file.lower().endswith(extension.lower()):\n file_list.append(file)\n\n return sorted(file_list, key=lambda x: x.count(os.path.sep), reverse=True)\n\n\n############################################################\n# MAIN\n############################################################\n\n# do checks\ndo_check()\n\n# retrieve required variables\ndirectory = os.path.normpath(os.environ['NZBPP_DIRECTORY'])\nnzb_name = os.environ['NZBPP_NZBFILENAME']\nif nzb_name is None:\n print(\"[ERROR] Unable to retrieve NZBPP_NZBFILENAME\")\n sys.exit(NZBGET_POSTPROCESS_ERROR)\nnzb_name = nzb_name.replace('.nzb', '')\n\nprint((\"[INFO] Using \\\"%s\\\" for hashed filenames\" % nzb_name))\nprint((\"[INFO] Scanning \\\"%s\\\" for hashed filenames\" % directory))\n\n# scan for files\nfound_files = find_files(directory)\nif not found_files:\n print((\"[INFO] No files were found in \\\"%s\\\"\" % directory))\n sys.exit(NZBGET_POSTPROCESS_NONE)\nelse:\n print((\"[INFO] Found %d files to check for hashed filenames\" % len(found_files)))\n # loop files checking for file hash\n moved_files = 0\n for found_file_path in found_files:\n # set variable\n dir_name = os.path.dirname(found_file_path)\n file_name, file_ext = get_file_name(found_file_path)\n\n # is this a file hash\n if is_file_hash(file_name):\n new_file_path = os.path.join(dir_name, \"%s.%s\" % (nzb_name, file_ext))\n print((\"[INFO] Moving \\\"%s\\\" to \\\"%s\\\"\" % (found_file_path, new_file_path)))\n try:\n shutil.move(found_file_path, new_file_path)\n moved_files += 1\n except Exception:\n print((\"[ERROR] Failed moving \\\"%s\\\" to \\\"%s\\\"\" % (found_file_path, new_file_path)))\n\n print((\"[INFO] Finished processing \\\"%s\\\", moved %d files\" % (directory, moved_files)))\n\nsys.exit(NZBGET_POSTPROCESS_SUCCESS)\n
"},{"location":"Downloaders/NZBGet/scripts/#replace_for","title":"replace_for","text":"Replaces underscores with dots
Title: replace_for.py
Author: miker
Replaces underscores with dots in downloaded filename to prevent download loops with poorly named releases on some indexers (often HONE releases).
Install Instructions:
Copy script to NZBGet's script folder
Run: sudo chmod +x replace_for.py
In NZBGet go to Settings => Extension Scripts
Enable replace_for.py in the Extensions setting.
Script
#!/usr/bin/env python3\n#\n\n##############################################################################\n### NZBGET POST-PROCESSING SCRIPT ###\n\n# Replace underscore with dot.\n#\n# Author: miker\n#\n#\n# Copy script to NZBGet's script folder.\n# Run sudo chmod +x replace_for.py\n#\n#\n# NOTE: This script requires Python to be installed on your system.\n\n### NZBGET POST-PROCESSING SCRIPT ###\n##############################################################################\n\nfrom __future__ import print_function\nimport os, re, sys\n\n# Exit codes used by NZBGet\nPOSTPROCESS_SUCCESS=93\nPOSTPROCESS_ERROR=94\nPOSTPROCESS_SKIP=95\n\n\ndirectory = os.environ['NZBPP_DIRECTORY']\nprint('Directory used is: ',directory)\n\nfor path, currentDirectory, files in os.walk(directory):\n for file in files:\n if file.find(\"_\") !=-1:\n dst = file.replace('_', '.')\n os.rename (os.path.join(path,file),os.path.join(path,dst) )\n print('Result: ',file,\" renamed to \",dst)\n\nsys.exit(POSTPROCESS_SUCCESS)\n
"},{"location":"Downloaders/NZBGet/scripts/#wtfnzb-renamer","title":"WtFnZb-Renamer","text":"Renames hashed media files to match the source NZB
Title: WtFnZb-Renamer.py
Author(s): WtFnZb
URL: ??
NZBGET SCAN SCRIPT
Extract filenames from subjects containing [PRiVATE]-[WtFnZb]
This extensions extracts obfuscated filenames from .nzb files
Script
#!/usr/bin/env python3\n### NZBGET SCAN SCRIPT\n\n# Extract filenames from subjects containing [PRiVATE]-[WtFnZb]\n#\n# This extensions extracts obfuscated filenames from .nzb files\n# created by WtFnZb.\n#\n# Supported subject formats:\n#\n# - [PRiVATE]-[WtFnZb]-[filename]-[1/5] - \"\" yEnc 0 (1/1)\"\n#\n# - [PRiVATE]-[WtFnZb]-[5]-[1/filename] - \"\" yEnc\n#\n#\n# NOTE: Requires Python and lxml (sudo apt install python3-lxml python-lxml)\n#\n\n### NZBGET SCAN SCRIPT\n\nimport sys\nimport os\nimport re\n\n# Exit codes used by NZBGet\nPOSTPROCESS_SUCCESS = 93\nPOSTPROCESS_NONE = 95\nPOSTPROCESS_ERROR = 94\n\ntry:\n from lxml import etree\nexcept ImportError:\n print(u'[ERROR] Python lxml required. Please install with \"sudo apt install python-lxml\" or \"pip install lxml\".')\n sys.exit(POSTPROCESS_ERROR)\n\npatterns = (\n re.compile(r'^(?P<prefix>.*\\[PRiVATE\\]-\\[WtFnZb\\]-)'\n r'\\[(?P<total>\\d+)\\]-\\[(?P<segment>\\d+)\\/(?P<filename>.{3,}?)\\]'\n r'\\s+-\\s+\"\"\\s+yEnc\\s+',\n re.MULTILINE | re.UNICODE),\n re.compile(r'^(?P<prefix>.*\\[PRiVATE\\]-\\[WtFnZb\\]-)'\n r'\\[(?P<filename>.{3,}?)\\]-\\[(?P<segment>\\d+)/(?P<total>\\d+)\\]'\n r'\\s+-\\s+\"\"\\s+yEnc\\s+',\n re.MULTILINE | re.UNICODE))\n\nnzb_dir = os.getenv('NZBNP_DIRECTORY')\nnzb_filename = os.getenv('NZBNP_FILENAME')\nnzb_name = os.getenv('NZBNP_NZBNAME')\nnzb_file_naming = os.getenv('NZBOP_FILENAMING')\n\nif nzb_dir is None or nzb_filename is None or nzb_name is None:\n print('Please run as NZBGet plugin')\n sys.exit(POSTPROCESS_ERROR)\n\nif nzb_file_naming is not None and nzb_file_naming.lower() != 'nzb':\n print(u'[ERROR] NZBGet setting FileNaming (under Download Queue) '\n u'must be set to \"Nzb\" for this extension to work correctly, exiting.')\n sys.exit(POSTPROCESS_ERROR)\n\nif not os.path.exists(nzb_dir):\n print('[ERROR] NZB directory doesn\\'t exist, exiting')\n sys.exit(POSTPROCESS_ERROR)\n\nif not nzb_filename.lower().endswith('.nzb'):\n print(u'[ERROR] {} is not a .nzb file.'.format(nzb_filename))\n sys.exit(POSTPROCESS_ERROR)\n\nnzb = os.path.join(nzb_dir, nzb_filename)\nif not os.path.exists(nzb):\n print('[ERROR] {nzb} doesn\\'t exist, exiting'.format(nzb=nzb))\n sys.exit(POSTPROCESS_ERROR)\n\nwith open(nzb, mode='rb') as infile:\n tree = etree.parse(infile)\n\nchanged = False\nfile_count = 0\ntotals = set()\nfilenames = set()\n\nfor f in tree.getiterator('{http://www.newzbin.com/DTD/2003/nzb}file'):\n subject = f.get('subject')\n if subject is None:\n print(u'[DETAIL] No subject in <file>, skipping')\n continue\n file_count += 1\n result = [re.match(pattern, subject) for pattern in patterns]\n matched = [m for m in result if m is not None]\n if len(matched) == 0:\n print(u'[INFO] No pattern matching subject, exiting.')\n sys.exit(POSTPROCESS_NONE)\n elif len(matched) > 1:\n print(u'[ERROR] Multiple patterns matched, exiting.')\n sys.exit(POSTPROCESS_ERROR)\n else:\n match = matched[0].groupdict()\n\n if match['filename'].lower().endswith('.par2'):\n print(u'[INFO] par2 exists, exiting')\n sys.exit(POSTPROCESS_NONE)\n\n if int(match['segment']) > int(match['total']):\n print(u'[DETAIL] Segment index is greater then total, skipping')\n continue\n\n # NZBGet subject parsing changes when duplicate filenames are present\n # prefix duplicates to avoid that\n if match['filename'] in filenames:\n match['filename'] = u'{}.{}'.format(file_count, match['filename'])\n\n filenames.add(match['filename'])\n\n s = u'WtFnZb \"{filename}\" yEnc ({segment}/{total})'.format(\n filename = match['filename'],\n segment = match['segment'],\n total = match['total'])\n\n print(u'[INFO] New subject {subject}'.format(subject=s.encode('ascii', 'ignore')))\n f.set('subject', s)\n changed = True\n totals.add(int(match['total']))\n\nif not changed:\n print(u'[WARNING] No subject changed, exiting.')\n sys.exit(POSTPROCESS_NONE)\n\nif len(totals) != 1:\n print(u'[WARNING] Mixed values for number of total segments, exiting.')\n sys.exit(POSTPROCESS_NONE)\n\nif totals.pop() != file_count:\n print(u'[WARNING] Listed segment count does not match <file> count, exiting.')\n sys.exit(POSTPROCESS_NONE)\n\norg = u'{}.wtfnzb.original.processed'.format(nzb)\nexists_counter = 0\nwhile os.path.exists(org):\n exists_counter += 1\n org = u'{}.{}.wtfnzb.original.processed'.format(nzb, exists_counter)\n\nprint(u'[INFO] Preserving original nzb as {}'.format(org))\nos.rename(nzb, org)\n\nprint(u'[INFO] Writing {}'.format(nzb))\nwith open(nzb, mode='wb') as outfile:\n outfile.write(etree.tostring(tree,\n xml_declaration=True,\n encoding=tree.docinfo.encoding,\n doctype=tree.docinfo.doctype))\n\nsys.exit(POSTPROCESS_SUCCESS)\n
Tip
This script doesn't always work and is often needed if you use a certain indexer.
It might be better to use the following Sonarr Regex in your release profile
The default path setup suggested by some docker developers that encourages people to use mounts like /movies, /tv, /books or /downloads is very suboptimal and it makes them look like two or three file systems, even if they aren\u2019t (Because of how Docker\u2019s volumes work). It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used.
But you're able to change this, by not using the pre-defined/recommended paths like:
I recommend setting a sane maximum speed and then limiting below that, to keep your internet connection happy. You can use Settings => Scheduling to toggle the limit on and off based on time, slowing it down while your family is using the internet and speeding it up at night when they're not.
I recommend the .nzb Backup Folder because sabnzbd doesn't have a hidden history and having remove from history enabled in Sonarr/Radarr is the best method. This allows you to see your past downloads and it is used for duplicate download detection/prevention. Default is empty, I picked history because it is easy. It'll end up in the /config folder for Docker, which isn't crazy... but this is literally compressed nzb files, so can end up pretty big. But the choice is yours what you prefer.
When during download it becomes clear that too much data is missing, abort the job. and makes sure Sonarr/Radarr will get a notification and can look for another release.
Since we have the .nzb history folder, you can decide what you want to do here w/ duplicate downloads. Mine is set to Tag job, but Pause or Fail job may make sense too.
In case of \"Pause\", you'll need to set a password and resume the job. or you set it to \"Abort\" and Sonarr/Radarr can look for another release.
Suggest this sort so that the most likely to still be there stuff is downloaded first.
If your hardware isn't up to snuff, including cpu and/or io performance, disabling Direct Unpack and/or enabling Pause Downloading During Post-Processing can help. Defaults are fine for most hardware though.
If your hardware isn't up to snuff, including cpu and/or io performance, disabling Direct Unpack and/or enabling Pause Downloading During Post-Processing can help. Defaults are fine for most hardware though.
Only unpack and run scripts on jobs that passed the verification stage. If turned off, all jobs will be marked as Completed even if they are incomplete.
Unpack archives (rar, zip, 7z) within archives.
This can help with subs that are in folders in the rar because sonarr/radarr don't look in sub-folders.
Some servers provide an alternative NZB when a download fails. I have it enabled no guarantee that it works.
Helps with de-obfuscation especially invalid file extensions
Rarely used options. Don't change these without checking the SABnzbd Wiki first, as some have serious side-effects. The default values are between parentheses.
"},{"location":"Downloaders/SABnzbd/Basic-Setup/#unable-to-connect-to-sabnzbd","title":"Unable to connect to SABnzbd","text":"
If you're trying to connect your Starr apps to SABnzbd and you're getting a error like Unable to connect to SABnzbd after clicking on Test.
And it SABnzbd you will see something like this.
Then go in to Settings => Special => Values.
Scroll down to host_whitelist ( ) and enter your docker container name and or your domain name.
The following settings are recommended to for Sonarr/Radarr, else it could happen that Sonarr/Radarr will miss downloads that are still in the queue/history. Being that Sonarr/Radarr only looks at the last xx amount in the queue/history.
"},{"location":"Downloaders/SABnzbd/Basic-Setup/#sonarr","title":"Sonarr","text":"Sonarr - [Click to show/hide]
Settings => Download Clients
Make sure you check both boxes under Completed Download Handling at step 3.
Select Sabnzbd at step 4 and scroll down to the bottom of the new window where it says Completed Download Handling and check both boxes.
"},{"location":"Downloaders/SABnzbd/Basic-Setup/#radarr","title":"Radarr","text":"Radarr - [Click to show/hide]
Settings => Download Clients
Make sure you check both boxes under Completed Download Handling at step 3,
and both boxes under Failed Download Handling at step 4.
Select Sabnzbd at step 5 and scroll down to the bottom of the new window where it says Completed Download Handling and check both boxes.
Thanks to fryfrog for helping me with the settings and providing the info needed to create this Guide.
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
"},{"location":"Downloaders/SABnzbd/Paths-and-Categories/","title":"SABnzbd - Paths and Categories","text":"
This basic example is based on the use of docker images
Keep in mind the path are setup so it works with hardlinks and instant moves.
More info HERE
Info
Pick one path layout and use it for all of them.
It doesn't matter if you prefer to use /data, /shared, /storage or whatever.
The screenshots in the examples are using the following root path /data
SABnzbd config => Folders
SABnzbd config => Categories
You don't need to add the full path under Folder/Path, it will use the Relative folders are based on: path you see on the top of the screenshot, that you setup as Completed Download Folder.
ATTENTION
You set your download location in your download client
Your download client ONLY downloads to your download folder/location.
And you tell Radarr where you want your clean media library
Starr Apps import from your download location (copy/move/hardlink) to your media folder/library
Plex, Emby, JellyFin, or Kodi should ONLY have access to your media folder/library
Your Download and Media Library should be **NEVER the same locations**
"},{"location":"Downloaders/SABnzbd/Paths-and-Categories/#paths-and-categories-breakdown","title":"Paths and Categories Breakdown","text":"
This screenshot isn't 100% a reflection of the instructions above, it's mainly to explain the breakdown and the logic.
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
"},{"location":"Downloaders/SABnzbd/scripts/","title":"SABnzbd Scripts","text":""},{"location":"Downloaders/SABnzbd/scripts/#clean","title":"Clean","text":"Clean NZB name
Title: Clean.py
Author(s): ???
Made compatible for SABnzbd: AlexK
Removes the following suffixes from NZB name: NZBgeek / Obfuscated / BUYMORE / Scrambled /etc... Cleans the NZB name by removing the retagged stuff (-Obfuscated, -postbox, etc).
Install Instructions:
Copy script to sabnzbd's script folder
run: sudo chmod +x Clean.py
in SABnzbd go to Settings => Switches
Change Pre-queue user script and select: Clean.py
Script
#!/usr/bin/python3 -OO\n\n##################################################################\n### SABnzbd - Clean NZB Renamer ##\n##################################################################\n## NOTE: This script is considered ALPHA! ##\n## ##\n## Removes the suffixes from NZB name used by bots: ##\n## examples: NZBgeek / Obfuscated / BUYMORE / Scrambled, etc.. ##\n## ##\n## NOTE: This script requires Python 3 ##\n## ##\n## Install: ##\n## 1. Copy script to sabnzbd's script folder ##\n## 2. run: sudo chmod +x Clean.py ##\n## 3. in SABnzbd go to Config > Switches ##\n## 4. Change Pre-queue user script and select: Clean.py ##\n##################################################################\n\nimport sys\nimport re\n\n# normalize argv to scriptname and just first 8 arguments to maintain compatibility\nsys.argv = sys.argv[:9]\ntry:\n # Parse the input variables for SABnzbd version >= 4.2.0\n (scriptname, nzbname, postprocflags, category, script, prio, downloadsize, grouplist) = sys.argv\nexcept:\n sys.exit(1) # exit with 1 causes SABnzbd to ignore the output of this script\n\nfwp = nzbname\nfwp = re.sub('(?i)-4P$', '', fwp)\nfwp = re.sub('(?i)-4Planet$', '', fwp)\nfwp = re.sub('(?i)-AlternativeToRequested$', '', fwp)\nfwp = re.sub('(?i)-AlteZachen$', '', fwp)\nfwp = re.sub('(?i)-AsRequested$', '', fwp)\nfwp = re.sub('(?i)-AsRequested-xpost$', '', fwp)\nfwp = re.sub('(?i)-BUYMORE$', '', fwp)\nfwp = re.sub('(?i)-Chamele0n$', '', fwp)\nfwp = re.sub('(?i)-GEROV$', '', fwp)\nfwp = re.sub('(?i)-iNC0GNiTO$', '', fwp)\nfwp = re.sub('(?i)-NZBGeek$', '', fwp)\nfwp = re.sub('(?i)-Obfuscated$', '', fwp)\nfwp = re.sub('(?i)-Obfuscation$', '', fwp)\nfwp = re.sub('(?i)-postbot$', '', fwp)\nfwp = re.sub('(?i)-Rakuv[a-z0-9]*$', '', fwp)\nfwp = re.sub('(?i)-RePACKPOST$', '', fwp)\nfwp = re.sub('(?i)-Scrambled$', '', fwp)\nfwp = re.sub('(?i)-WhiteRev$', '', fwp)\nfwp = re.sub('(?i)-WRTEAM$', '', fwp)\nfwp = re.sub('(?i)-CAPTCHA$', '', fwp)\nfwp = re.sub('(?i)-Z0iDS3N$', '', fwp)\nfwp = re.sub('(?i)\\[eztv([ ._-]re)?\\]$', '', fwp)\nfwp = re.sub('(?i)\\[TGx\\]$', '', fwp)\nfwp = re.sub('(?i)\\[ettv\\]$', '', fwp)\nfwp = re.sub('(?i)\\[TGx\\]-xpost$', '', fwp)\nfwp = re.sub('(?i).mkv-xpost$', '', fwp)\nfwp = re.sub('(?i)-xpost$', '', fwp)\nfwp = re.sub(r'(?i)(-D-Z0N3|\\-[^-.\\n]*)(\\-.{4})?$', r'\\1', fwp)\n\nprint(\"1\") # Accept\nprint(fwp)\nprint()\nprint()\nprint()\nprint() \nprint()\n# 0 means OK\nsys.exit(0)\n
"},{"location":"Downloaders/SABnzbd/scripts/#replace_for","title":"replace_for","text":"Replaces underscores with dots
Title: replace_for.py
Author: miker
Replaces underscores with dots in downloaded filename to prevent download loops with poorly named releases on some indexers (often HONE releases).
Install Instructions:
Copy script to sabnzbd's script folder
run: sudo chmod +x replace_for.py
in SABnzbd go to Settings => Categories
Change script for required categories and select: replace_for.py
Script
#!/usr/bin/python3 -OO\n\n##################################################################\n### SABnzbd - Replace underscores with dots ##\n##################################################################\n## ##\n## NOTE: This script requires Python 3 ##\n## ##\n## Author: miker ##\n## ##\n## Install: ##\n## 1. Copy script to sabnzbd's script folder ##\n## 2. run: sudo chmod +x replace_for.py ##\n## 3. in SABnzbd go to Config > Categories ##\n## 4. Assign replace_for.py to the required category ##\n##################################################################\n\nimport sys\nimport os\nimport os.path\n\ntry:\n (scriptname, directory, orgnzbname, jobname, reportnumber, category, group, postprocstatus, url) = sys.argv\nexcept:\n print(\"No commandline parameters found\")\n sys.exit(1) # exit with 1 causes SABnzbd to ignore the output of this script\n\nfiles = os.listdir(directory)\n\nfor src in files:\n if src.find(\"_\") !=-1:\n dst = src.replace('_', '.')\n os.rename (os.path.join(directory,src),os.path.join(directory,dst) )\n print(src, \"renamed to \",dst)\n\nprint()\nprint()\nprint() \nprint()\n# 0 means OK\nsys.exit(0)\n
"},{"location":"Downloaders/qBittorrent/","title":"qBittorrent","text":""},{"location":"Downloaders/qBittorrent/3rd-party-tools/","title":"3rd Party tools","text":"
Here you will find a collection of 3rd party tools and other related links for qBittorrent.
This is a program used to manage your qBittorrent instance such as:
Tag torrents based on tracker URL and set seed goals/limit upload speed by tag (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. Note: cross-seed now allows for torrent injections directly to qBit, making this feature obsolete.
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 allows optional cleanup to delete these torrents and contents based on maximum ratio and/or time seeded
RecycleBin function to move files into a RecycleBin folder instead of deleting the data directly when deleting a torrent
Built-in scheduler to run the script every x minutes. (Can use --run command to run without the scheduler)
Webhook notifications with Notifiarr and Apprise API integration.
qbittools is a feature rich CLI for the management of torrents in qBittorrent.
qbittools
"},{"location":"Downloaders/qBittorrent/3rd-party-tools/#a-dark-but-not-black-qbittorrent-webui","title":"A Dark but not black qBittorrent WebUI","text":"
A darker theme for qBittorrent WebUI (made with the help of the Walkerservers community)
It's dark, but not black
It has different colors for ratio-values (see screenshot)
Search for cross-seeds as soon as new torrents are finished downloading
Race starting at 100% before the uploader even joins.
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
The default path setup suggested by some docker developers that encourages people to use mounts like /movies, /tv, /books or /downloads is very suboptimal and it makes them look like two or three file systems, even if they aren\u2019t (Because of how Docker\u2019s volumes work). It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used.
But you're able to change this, by not using the pre-defined/recommended paths like:
Tools => Options => Downloads (Or click on the cogwheel to access the options)
"},{"location":"Downloaders/qBittorrent/Basic-Setup/#when-adding-a-torrent","title":"When adding a torrent","text":"
For consistency with other torrents I recommend leaving this on Original.
Suggested: Original
Delete the .torrent file after it has been added to qBittorrent.
Suggested: Personal preference
Pre-allocated disk space for the added torrents, this limits fragmentation and also makes sure if you use a cache drive or a feeder disk that the space is available.
Suggested: Enabled
Warning
Do not set Pre-allocated disk space if you are using ZFS as your filesystem as ZFS does not support fallocate
Make sure this is set to Automatic. Your downloads will not go into the category folder otherwise.
Suggested: Automatic
This helps you to manage your file location based on categories.
Suggested: Enabled
Same as Step 2
Suggested: Enabled
Your download root path (Download folder/location).
Read the ATTENTION block below
If you enable this, your incomplete downloads will be placed in this directory until completed. This could be useful if you want your downloads to use a separate SSD/Feeder disk1, but this also results in extra unnecessary moves or in worse cases a slower and more I/O intensive copy + delete.
Your port used for incoming connections, this is the port you opened in your router/firewall or port forwarded at your VPN provider to make sure you're connectable.
Suggested: The port you opened in your router/firewall or port forwarded at your VPN provider
This should be disabled in your router for several security reasons.
Suggested: Disabled
Make sure this is disabled so you don't mess up the forwarded port.
Here you can set your global rate limits, meaning your maximum download/upload speed used by qBittorrent. (For all torrents)
The best settings depends on many factors.
Your ISP speed.
Your hardware used.
Bandwidth needed by other services in your home network.
Suggested: For a home connection that you use with others it's best practice to set the upload/download rate to about 70-80% of your maximum upload/download speed.
These settings are mainly used for public trackers (and should be enabled for them) and not for private trackers, decent private trackers use a private flag where they ignore these settings.
Suggested: Personal preference
Recommended setting Allow encryption rather than enforcing it allows more peers to connect and is recommended on underpowered systems as it will allow for lower overhead.
Suggested: Allow encryption
Anonymous mode hides clients (qBittorrent) fingerprint from the peer-ID, sets the \u2018User-Agent\u2019 to Null and it doesn\u2019t share your IP-address directly with trackers (though peers will still see your IP address). If using private trackers, it's recommended to disable this. I also got reports from people who are using this that they had worse speeds.
Your maximum seeding ratio preference. (When both ratio and seeding time are enabled it will trigger the action on whatever happens first.)
Suggested: Disabled
Your maximum seeding time preference (When both ratio and seeding time are enabled it will trigger the action on whatever happens first.)
Suggested: Disabled
What to do when ratio or seeding time is reached.
Suggested: Paused and Disabled
Tip
Personally, I recommend using the seeding goals in your Starr Apps indexer settings (enable advanced), or use qBit Manage
"},{"location":"Downloaders/qBittorrent/Basic-Setup/#automatically-add-these-trackers-to-new-downloads","title":"Automatically add these trackers to new downloads","text":"
In some cases when this is enabled it could result in issues.
Suggested: Disabled
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
If you use unRaid then you don't need this since you can make use of the default cache drive option.\u00a0\u21a9
"},{"location":"Downloaders/qBittorrent/How-to-add-categories/","title":"qBittorrent - How to add categories","text":"
This basic example is based on the use of docker images
Keep in mind the path are setup so it works with hardlinks and instant moves.
More info HERE
Info
Pick one path layout and use it for all of them.
It doesn't matter if you prefer to use /data, /shared, /storage or whatever.
The screenshots in the examples are using the following root path /data
Click on the left under categories with your left mouse button.
Click on Add category
Enter your category.
Enter your save path subfolder (keep it simple and recognizable)
You don't need to add the full path under Save Path, it will use the root download path that you setup in Options => Saving Management => Default Save Path:.
"},{"location":"Downloaders/qBittorrent/How-to-add-categories/#paths-and-categories-breakdown","title":"Paths and Categories Breakdown","text":""},{"location":"Downloaders/qBittorrent/How-to-add-categories/#downloads-do-not-go-into-the-category-folder","title":"Downloads do not go into the category folder","text":"
Downloads do not go into the category folder
When your downloads ends up in /data/torrents/ and not in /data/torrents/{tv|movies|music} then you probably forgot to change Default Torrent Management Mode: to Automatic
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
This basic example is based on the use of docker images
Keep in mind the path are setup so it works with hardlinks and instant moves.
More info HERE
Info
Pick one path layout and use it for all of them.
It doesn't matter if you prefer to use /data, /shared, /storage or whatever.
The screenshots in the examples are using the following root path /data
Options => Downloads
"},{"location":"Downloaders/qBittorrent/Port-forwarding/","title":"qBittorrent - Port forwarding","text":"
You've followed the Setup TorGuard for port forwarding and want to know where in your download client you should add the port you've port forwarded.
Tools => Options => Connection
Tools or cog wheel.
Options (skip if you choose the cog wheel).
Select the Connection Tab.
Change TCP and uTP to TCP, if you get speed issues try one of the others.
Add here the port you've forwarded.
"},{"location":"Downloaders/qBittorrent/Tips/How-to-run-the-unRaid-mover-for-qBittorrent/","title":"unRAID Mover and qBittorrent","text":"
When you make use of the unRAID cache drive for your /data/torrents share, and the torrents in qBittorrent are still seeding, the mover can't move files since they are still in use.
Using the following instructions will allow you to move the files with the use of the qBittorrent API.
Workflow Rules
Pause torrents in a specified age range that reside on your cache drive.
Run the unRAID mover.
Resume the torrents after the mover has completed.
Warning
The screenshots below are only EXAMPLES to show you how it should look and where you need to place the data that you need to add. They are NOT always a 100% reflection of the actual data, and not always the actual values you need to add.
Always follow the recommendations described in the guide.
If you have any questions, or aren't sure, just click the chat badge to join the Discord Channel where you can ask your questions directly.
The script needs the qbittorrent-api module to work, so we need to make sure it's installed when your unRAID server starts, or when the Array is started the first time.
You can choose one of the following 3 options (select a tab) to install qbittorrent-api.
User scriptsPython venvGo File
With this option, we're going to install the qbittorrent-api module when the Array is started the first time.
In your unRAID Dashboard, go to your Settings tab and select User Scripts in the User Utilities section at the bottom.
At the bottom of the User Scripts page select the ADD NEW SCRIPT button.
A popup will appear asking you to name the script. For this example, we're going to use Install qBittorent-API and then click on OK.
Click on the cogwheel of the new script in the list, and select Edit Script.
Copy/Paste the following in the new window that opens, then click SAVE CHANGES.
#!/bin/bash\npip3 install qbittorrent-api\n
Select in the schedule list when the script should run, and choose At First Array Start Only.
Click on Apply.
Finally, you will need to choose RUN IN BACKGROUND or restart your unRAID server to install the qbittorrent-api module.
With this option, we're going to create a Python virtual environment on our disk. We will use this to run and store dependencies (qbittorrent-api) for this specific environment.
By doing this, we will only need to configure this once and it will be persistent after reboots (this differs from the previous steps).
First, you need to choose a location to start a new Python environment.
Info
In the next steps, you will be asked to choose a location to store the script, try to be consistent.
Suggestions:
/mnt/user/appdata/qbittorrent/scripts/.venv
/mnt/user/data/scripts/.venv
Run the following command in unRAID's terminal in the directory you chose:
Depending on whether you use the unRaid Mover Tuning app, You might need to change line 77:
If you do not use Mover Tuning, change line 68 from os.system('/usr/local/sbin/mover.old start') to os.system('/usr/local/sbin/mover start')
If you use Mover Tuning but don't want to use it for the script, do not change line 68
If you use Mover Tuning and do want to use it for the script, change line 68 from os.system('/usr/local/sbin/mover.old start') to os.system('/usr/local/sbin/mover start'). For this option, inside the Mover Tuner options you will also need to set Move Now button follows plugin filters to Yes and Disable Mover running on a schedule to No.
"},{"location":"Downloaders/qBittorrent/Tips/How-to-run-the-unRaid-mover-for-qBittorrent/#copy-the-script-to-your-preferred-location","title":"Copy the script to your preferred location","text":"
Place the script you just edited somewhere easy to access/remember.
Replace /mnt/user/data/scripts/ in the script with the path you have chosen for the Python script.
days_from => Set Number of Days to stop torrents from for the move.
days_to => Set Number of Days to stop torrents to for the move.
host => The URL you use to access qBittorrent locally.
user => Your used qBittorrent User Name if you have authentication enabled.
password => Your used qBittorrent Password if you have authentication enabled.
Click the schedule dropdown to choose when the script should run. We want to select Custom.
After changing to Custom you will get an extra text field on the right where you can set your schedule (cron).
For this example, we're going to tell the script to run every day at 4 AM.
0 4 * * *
You can generate your scheduling HERE
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
Theme Style Compatibility Honeywell Dark v4.3.1 - v4.4.5 Nightwalker Theme (CallMeBruce fork) Dark v4.5 World of Quinoa Dark v4.3.9, v4.4.5
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
The default path setup suggested by some docker developers that encourages people to use mounts like /movies, /tv, /books or /downloads is very suboptimal and it makes them look like two or three file systems, even if they aren\u2019t (Because of how Docker\u2019s volumes work). It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used.
But you're able to change this, by not using the pre-defined/recommended paths like:
I've asked several people that used this download client for some help/feedback, but most of them just switched to qBittorrent.
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
These are 3rd party applications to sync several sections of the guide with your Sonarr/Radarr (or multiple).
Feature Notifiarr Recyclarr GUI (graphical user interface) v Radarr Custom Formats v v Radarr Use Flowchart to choose the correct Custom Formats for your Quality Profile v Radarr predefined config files available v Radarr Clear all Custom Formats v v Radarr Scores v v Radarr Quality Settings (File Size) v v Radarr Naming Scheme v v Radarr Quality Profiles v Sonarr v3 Release Profile RegEx v v Sonarr v4 Custom Formats v v Sonarr v4 predefined config files available v Sonarr v3/v4 Clear all Release Profiles v Sonarr v3/v4 Clear all Custom Formats v v Sonarr v3/v4 Scores v v Sonarr v3/v4 Quality Settings (File Size) v v Sonarr v3/v4 Naming Scheme v v Sonarr v3/v4 Quality Profiles v"},{"location":"Guide-Sync/#notifiarr","title":"Notifiarr","text":"
It's possible with Notifiarr (Patron feature)
Notifiarr is a service much bigger in scope than just custom format syncing.
After setup it's fully automated and will check every X minutes for updates to the Custom Formats or Sonarr Release Profile and will update it to your Radarr or Sonarr (Multiple Client Support).
Just enable the Custom Formats/Release Profiles you want.
Recyclarr is a command line application utilizing configuration files to sync the guides to Radarr & Sonarr.
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
"},{"location":"Hardlinks/Check-if-hardlinks-are-working/","title":"How to check if hardlinks are working","text":"
You've followed the guide step by step but still want to check if hardlinks are working, or someone on the Sonarr/Radarr support team asked you to check if your files are hardlinked?
You can use 3 options to check if you got working hardlinks.
All methods require you to login to your terminal with PuTTY or similar software.
It doesn't matter if you prefer to use /data, /shared, /storage or whatever.
The screenshots in the examples are using the following root path /data
"},{"location":"Hardlinks/Examples/#sonarr","title":"Sonarr","text":"Sonarr Examples - [Click to show/hide]
Settings => Media Management => Importing
Settings => Media Management => Root Folders
Series => Add New
"},{"location":"Hardlinks/Examples/#radarr","title":"Radarr","text":"Radarr Examples - [Click to show/hide]
Settings => Media Management => Importing
Settings => Media Management => Root Folders
Movies => Add New
"},{"location":"Hardlinks/Examples/#sabnzbd","title":"SABnzbd","text":"SABnzbd Examples - [Click to show/hide]
SABnzbd config => Folders
SABnzbd config => Categories
Don't forget to look at the full SABnzbd Guides
SABnzbd - Basic Setup
SABnzbd - Paths and Categories
"},{"location":"Hardlinks/Examples/#nzbget","title":"NZBGet","text":"NZBGet Examples - [Click to show/hide]
NZBGet development has been officially abandoned by the developer
Settings => PATHS
Settings => CATEGORIES
Don't forget to look at the full NZBGet Guides
NZBGet - Basic Setup
NZBGet - Paths and Categories
"},{"location":"Hardlinks/Examples/#qbittorrent","title":"qBittorrent","text":"qBittorrent Examples - [Click to show/hide]
Options => Downloads
Don't forget to look at the full qBittorrent Guides
qBittorrent - Basic Setup
qBittorrent - Paths
qBittorrent - How to add categories
"},{"location":"Hardlinks/Examples/#deluge","title":"Deluge","text":"Deluge Example - [Click to show/hide]
Preferences => Downloads
Don't forget to look at the full Deluge Guides
Deluge - Basic Setup
Deluge - Using Labels
"},{"location":"Hardlinks/Examples/#rutorrent","title":"ruTorrent","text":"ruTorrent Examples - [Click to show/hide]
../config/rtorrent/config/rtorrent.rc (path to your appdata)
Settings => Downloads
Settings => Autotools
Big Thanks to fryfrog for his Docker Guide that I used as basis for this guide.
"},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/","title":"Hardlinks and Instant Moves (Atomic-Moves)","text":""},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/#description","title":"Description","text":"
Info
If you\u2019re wondering why hard links aren\u2019t working or why a simple move is taking far longer than it should.
Here we will try to explain it.
This Guide exist out of 4 Sections
This page with a short description.
How to setup for your installation method.
Examples what you should use for your path settings in your used applications.
Check if hardlinks are working
So you want one of the following ?
Instant moves (Atomic-Moves) during import of the Starr Apps (useful when using Usenet)?
You don't want to use twice the storage when using torrents. (hardlinks)?
You want to perma seed?
Then Continue to How to setup for your installation method.
"},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/#faq","title":"FAQ","text":""},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/#what-are-hardlinks","title":"What are Hardlinks","text":"What are hardlinks? - [Click to show/hide]
[Short answer] Having a file in multiple locations without using double your storage space.
[Long answer] Hard links are a way for a copy operation to be instant and not consume space for those additional copies.
Every file is a hard link: some metadata that points at blocks on the file system, which is why they're restricted to the same file system. There can be as many metadata files pointing at those blocks as needed and the blocks know how many links point to them. Once the blocks have 0 links, they're considered deleted.
This means:
You can delete any \"copy\" w/o impacting the others.
Your download client can remove it's \"copy\" w/o impacting the library \"copy\". The library \"copy\" can be removed by Plex or Sonarr/Radarr or yourself w/o impacting the download client \"copy\".
Space is only regained when all \"copies\" are deleted.
Modifying the file will impact all \"copies\".
For example, modifying the id3 tags of a .mp3 download after import would modify the download client \"copy\", resulting in breaking the torrent.
More info from Wikipedia, the free encyclopedia
Warning
You can't create hard links for directories
You can't cross file systems
"},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/#what-are-instant-moves-atomic-moves","title":"What are Instant Moves (Atomic Moves)","text":"What are Instant Moves (Atomic Moves)? - [Click to show/hide]
A real move and not a copy file from download folder to media folder and then delete file from download folder.
"},{"location":"Hardlinks/Hardlinks-and-Instant-Moves/#what-are-the-starr-apps","title":"What are the Starr Apps","text":"What are the Starr Apps? - [Click to show/hide]
Sonarr, Radarr, Lidarr, etc.
"},{"location":"Hardlinks/Replace-copies-with-hardlinks/","title":"Replace copies with hardlinks","text":"
You recently switched to a proper setup that supports Hardlinks and Instant Moves (Atomic-Moves).
And you would like to replace copies with hardlinks ?
If your Operating System supports it you could make use of Jdupes.
If you want to know what else Jdupes can do please read the manual.
Tip
This process can take a long time and a pretty big hit on your resources depending on how big your library is, I did notice the first time it takes longer then the second time. Not sure if this is a cache thing or something else.
That's why I suggest to do it based on categories (Movies, TV, Music etc).
I don't suggest to use this on a cloud based setup.
Windows allows a maximum of 1023 hard links per file
Warning
The -Q or --quick option only reads each file once, hashes it, and performs comparisons based solely on the hashes. There is a small but significant risk of a hash collision which is the purpose of the failsafe byte-for-byte comparison that this option explicitly bypasses. Do not use it on ANY data set for which any amount of data loss is unacceptable. You have been warned!
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
"},{"location":"Hardlinks/How-to-setup-for/","title":"How to setup for","text":"
In this section you will find several how-to's for installation of the Starr Apps. This is all done in a way to achieve Hardlinks and Instant Moves (Atomic-Moves).
Select your desired method of installation:
Docker
TrueNAS Scale users can follow the same concepts as the Docker method
If you're new to dockers and want a easy setup I suggest to take a look at DockSTARTer. I've also created a short guide HERE where I explain the settings for the most used applications.
The main goal of DockSTARTer is to make it quick and easy to get up and running with Docker. You may choose to rely on DockSTARTer for various changes to your Docker system or use DockSTARTer as a stepping stone and learn to do more advanced configurations.
DockSTARTer was actually my first steps in to the world of dockers.
Note
I'm not going to explain how to get dockers installed and running, I will only explain which folder structure we recommend.
The paths mentioned below refer to internal paths (or Container Path) for the containers!
External paths (or Host Path) depends where you mounted your share or your drives.
It doesn't really matter which path you use for your media and appdata,
the only thing you should avoid is /home.
Because user folders in /home are expected to have some restrictive permissions.
It just could end up creating a permissions mess, so it's better to just avoid entirely.
For this example we're going to make use of a share called data.
The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv, movie, books and music downloads to keep things neat. The media folder has nicely named TV, Movies, Books and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin.
In this examples I'm using lower case on all folder on purpose, being Linux is case sensitive.
The default path setup suggested by some docker developers that encourages people to use mounts like /movies, /tv, /books or /downloads is very suboptimal and it makes them look like two or three file systems, even if they aren\u2019t (Because of how Docker\u2019s volumes work). It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used.
"},{"location":"Hardlinks/How-to-setup-for/Docker/#breakdown-of-the-folder-structure","title":"Breakdown of the Folder Structure","text":""},{"location":"Hardlinks/How-to-setup-for/Docker/#torrent-clients","title":"Torrent clients","text":"
qBittorrent, Deluge, ruTorrent
The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music}.
The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/complete/{tv|movies|music}.
Sonarr, Radarr, Readarr and Lidarr gets access to everything using /data because the download folder(s) and media folder will look like and be one file system. Hardlinks will work and moves will be atomic, instead of copy + delete.
Plex, Emby, JellyFin and Bazarr only needs access to your media library using /data/media, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders.
"},{"location":"Hardlinks/How-to-setup-for/Docker/#docker-compose-commands","title":"Docker-Compose Commands","text":"docker-compose commands - [Click to show/hide]
sudo docker-compose up -d (This Docker-compose command helps builds the image, then creates and starts Docker containers. The containers are from the services specified in the compose file. If the containers are already running and you run docker-compose up, it recreates the container.)
sudo docker-compose pull (Pulls an image associated with a service defined in a docker-compose.yml)
sudo docker-compose down (The Docker-compose down command also stops Docker containers like the stop command does. But it goes the extra mile. Docker-compose down, doesn\u2019t just stop the containers, it also removes them.)
sudo docker system prune -a --volumes --force (Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.)
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
We're going to use a mounted drive that we're going to use as storage for downloads and your media. In this example the mounted drive will be mounted to /mnt/ with the following folder structure.
"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#changes-to-the-env","title":"Changes to the .env","text":"
To accomplish this we need to change first a few paths in your .env (Usually ~/.docker/compose/.env)
# Global Settings\nCOMPOSE_HTTP_TIMEOUT=60\nDOCKERCONFDIR=~/.config/appdata\nDOCKERGID=999\nDOCKERHOSTNAME=DockSTARTer\nDOCKERLOGGING_MAXFILE=10\nDOCKERLOGGING_MAXSIZE=200k\nDOCKERSTORAGEDIR=/mnt/storage\nPGID=1000\nPUID=1000\nTZ=America/Chicago\n
"},{"location":"Hardlinks/How-to-setup-for/Dockstarter/#changes-to-your-paths","title":"Changes to your paths","text":"
When that's all set then you will need to change the paths you're going to use in the containers from:
The screenshots in the examples are using the following root path /storage
Sonarr
Radarr
SABnzbd
NZBGet
qBittorrent
Deluge
ruTorrent
Sonarr Examples - [Click to show/hide] Radarr Examples - [Click to show/hide] SABnzbd Examples - [Click to show/hide] NZBGet Examples - [Click to show/hide] qBittorrent Examples - [Click to show/hide] Deluge Example - [Click to show/hide] ruTorrent Examples - [Click to show/hide]
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
It doesn't really matter which path you use for your media and appdata,
the only thing you should avoid is /home.
Because user folders in /home are expected to have some restrictive permissions.
It just could end up creating a permissions mess, so it's better to just avoid entirely.
For this example we're going to make use of a share called data.
The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv, movie, books and music downloads to keep things neat. The media folder has nicely named TV, Movies, Books and Music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin.
In this examples I'm using lower case on all folder on purpose, being Linux is case sensitive.
"},{"location":"Hardlinks/How-to-setup-for/Native/#breakdown-of-the-folder-structure","title":"Breakdown of the Folder Structure","text":""},{"location":"Hardlinks/How-to-setup-for/Native/#torrent-clients","title":"Torrent clients","text":"
qBittorrent, Deluge, ruTorrent
The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music}.
The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/complete/{tv|movies|music}.
Sonarr, Radarr, Readarr and Lidarr gets access to everything using /data because the download folder(s) and media folder will look like and be one file system. Hardlinks will work and moves will be atomic, instead of copy + delete.
Plex, Emby, JellyFin and Bazarr only needs access to your media library using /data/media, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders.
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
Being I don't have a Synology myself and I kind of hate the Synology GUI for the dockers, I'm doing this with the use of docker-compose through a terminal.
This is faster than the GUI and after installing, it shows up in the Docker GUI.
Thanks to faxity for the initial compose that I used to create the Synology Guide.
And a very big thanks to Bokkoman and BZwart that updated this Guide for DSM 7 and also offered their help on discord as Synology Support Team.
This page will provide you with guidance on how to install several Docker images to your Synology system. We highly recommend to read the full guide, that way you have a better understanding of what you do, in case you later decide to make changes.
"},{"location":"Hardlinks/How-to-setup-for/Synology/#automated-script","title":"Automated Script","text":"Automated script (Use this script at your own risk) - [Click to show/hide]
Warning
Though, we offer a short way out. This is intended as a quick way to do everything that is written on this page within one script. And is only for initial setup. After that, you need to manage it yourself. Rerunning the script can or will reset all personal changes made in the compose/env.
The script is only tested on Synology DSM7 and higher.
We are not held reliable if anything breaks on your system. Use at your own risk
To get this working you will need to enable terminal access (SSH) and home folders.
Be sure to delete current running Docker containers related to this guide (ie. *arr apps, download clients), backup settings before you do.
To enable SSH on your Synology take a look HERE.
To enable Home folders, go to Control Panel > User & Group > Advanced > Enable user home service at the bottom.
When you enabled these two settings, run the following commands in your favorite terminal app and follow the onscreen questions.
You are mostly going to use the terminal. Some parts will need the Synology web GUI. To enable terminal, you need to enable SSH in the Synology Settings.
Control Panel > Terminal & SNMP > Enable SSH service
Then use a program like Putty or Powershell/Terminal to SSH into your Synology.
Enter the login information of a Synology user account that has admin priveliges, as only members of the 'administrators' user group are able to use SSH.
If you get a popup asking if you want to trust the key, Just press OK or ACCEPT
"},{"location":"Hardlinks/How-to-setup-for/Synology/#puid-and-pgid","title":"PUID and PGID","text":"
In order for the Docker container to access the shares on the Synology, we need to know the user ID (PUID) and group ID (PGID) from the docker user we just created.
Go into your terminal app, login to your synology ssh.
Once logged in type id $user. Change $user to the newly created username docker.
This will show you the UID (aka PUID). Which in this screenshot is 1035 for the docker user and the GID (aka PGID) which is 100 for the users group. Remember these values for later use.
Warning
It is not recommended to use (anymore) your admin/main user account. That is why we just created a new user.
For this example we're going to make use of the share called data.
On the host (Synology) terminal you will need to add /volume1/ before it. So /volume1/data
The data folder has sub-folders for torrents and usenet and each of these have sub-folders for tv, movie and music downloads to keep things neat. The library folder has nicely named tv, movies and music sub-folders, this is your library and what you\u2019d pass to Plex, Emby or JellyFin.
These subfolders you need to create your self.
I'm using lower case on all folder on purpose, being Linux is case sensitive.
The default path setup suggested by some docker developers that encourages people to use mounts like /movies, /tv, /books or /downloads is very suboptimal and it makes them look like two or three file systems, even if they aren\u2019t (Because of how Docker\u2019s volumes work). It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used.
"},{"location":"Hardlinks/How-to-setup-for/Synology/#breakdown-of-the-folder-structure","title":"Breakdown of the Folder Structure","text":""},{"location":"Hardlinks/How-to-setup-for/Synology/#torrent-clients","title":"Torrent clients","text":"
qBittorrent, Deluge, ruTorrent
The reason why we use /data/torrents for the torrent client is because it only needs access to the torrent files. In the torrent software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/torrents/{tv|movies|music}.
The reason why we use /data/usenet for the usenet client is because it only needs access to the usenet files. In the usenet software settings, you\u2019ll need to reconfigure paths and you can sort into sub-folders like /data/usenet/complete/{tv|movies|music}.
Sonarr, Radarr, Readarr and Lidarr gets access to everything using /data because the download folder(s) and media folder will look like and be one file system. Hardlinks will work and moves will be atomic, instead of copy + delete.
Plex, Emby, JellyFin and Bazarr only needs access to your media library using /data/media, which can have any number of sub folders like Movies, Kids Movies, TV, Documentary TV and/or Music as sub folders.
Your appdata will be stored in /volume1/docker/appdata/{appname} These {appname} sub folders you need to create your self. (This is a limitation of the Synology) We're going to do this in Putty or a similar program.
"},{"location":"Hardlinks/How-to-setup-for/Synology/#whats-included-and-whats-not-included","title":"Whats included and Whats not included","text":"What's included and What's not included - [Click to show/hide]
This docker-compose file will have the following docker containers included.
Radarr
Sonarr
Bazarr (Subtitle searcher and downloader)
Plex
What's not included (and where are the download clients?).
I didn't add a download client to it, because it depends on what you prefer (usenet/torrent) and which client you prefer, so I created a new Repository on Github where I provide and maintain some templates that are ready to use with the main docker-compose.yml.
The only thing you need to do is copy/paste what's inside the .yml file in to the main docker-compose.yml, the template also has the command what you need to use to create the appdata folder that we explained earlier.
Second we will download the .env file
Download this .env to your /volume1/docker/appdata location so you got your important stuff together. Or use this command:
MAKE SURE THE FILE KEEPS THE ORIGINAL NAME .env WITH THE DOT BEFORE IT
"},{"location":"Hardlinks/How-to-setup-for/Synology/#changes-and-preparations","title":"Changes and preparations","text":"
Tip
If you need to edit docker-compose.yml or the .env file we advise to use Notepad++ or Visual Studio Code
The .env file we downloaded holds the variables/information you need to change in order for everything to work. I added explanations in the .env file.
DOCKERCONFDIR (only change this if you know what you're doing and decide to use another path than this guide used)
DOCKERDATADIR (only change this if you know what you're doing and decide to use another path than this guide used)
PUID/PGID (this info you got earlier from HERE)
TZ (Change to your timezone, can be found HERE)
Install and Create a task scheduler for Pullio, so your containers stay up to date.
The .env holds more variables/information for other containers you don't need to remove those variables and will be only used when you install the other containers.
"},{"location":"Hardlinks/How-to-setup-for/Synology/#pullio-auto-update-docker-compose-the-correct-way","title":"Pullio - Auto update docker-compose the correct way","text":"
Pullio allows you to automatically update your containers. And send you a notification through various means. In my setup, I use a Discord Webhook.
It can be frustrating to test the script if no docker image updates are available, for that you can run command sudo pullio --debug and the script will behave as if an update is available. If you have set to receive notifications, you should receive them.
Now we need to make sure that the newly created files and folders have the correct permissions.
Note
If you're using a different user than docker (the user generated in the beginning), then you need to change the docker:users part in the commands below!!!
If you copy files from a different library into the newly created library, you need to rerun these commands. !!!
"},{"location":"Hardlinks/How-to-setup-for/Synology/#run-the-docker-compose","title":"Run the Docker Compose","text":"
Tip
make sure you delete/remove all your existing dockers from the Docker GUI and also remove your native installs (in Package Center) of these applications !!! If you had previous installed apps, make a backup of their config folders.
When you did all the above steps you only need to run the following commands:
cd /volume1/docker/appdata\n
sudo docker-compose up -d\n
You will notice that all the images will be downloaded, after that the containers will be started. If you get a error then look at the error what it says and try to fix it. If you still got issues then put your used docker-compose.yml on 0bin and join the guides-discord here and provide the pastebin link with the error, have patience because of timezone differences.
Don't forget to look at the Examples how to setup the paths inside your applications.
Warning
If you need to do any changes, only edit the docker-compose.yml file. To activate the changes, run the command sudo docker-compose up -d again, from within the /volume1/docker/appdata folder.
Any changes you do/did in the GUI will be reverted when you run the docker-compose command.
Just don't use the GUI, only for information purposes !!!
"},{"location":"Hardlinks/How-to-setup-for/Synology/#docker-compose-commands","title":"Docker-Compose Commands","text":"docker-compose commands - [Click to show/hide]
sudo docker-compose up -d (This Docker-compose command helps builds the image, then creates and starts Docker containers. The containers are from the services specified in the compose file. If the containers are already running and you run docker-compose up, it recreates the container.)
sudo docker-compose pull (Pulls an image associated with a service defined in a docker-compose.yml)
sudo docker-compose down (The Docker-compose down command also stops Docker containers like the stop command does. But it goes the extra mile. Docker-compose down, doesn\u2019t just stop the containers, it also removes them.)
sudo docker system prune -a --volumes --force (Remove all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.)
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
"},{"location":"Hardlinks/How-to-setup-for/Synology/#additional-synology-info","title":"Additional Synology Info","text":""},{"location":"Hardlinks/How-to-setup-for/Synology/#dsm-task-for-correctly-reporting-ip-in-plexnginxetc","title":"DSM Task for correctly reporting IP in Plex/Nginx/Etc","text":"
Due to some iptables configuration in DSM, you can get an incorrect IP reported in Plex or other apps that need an read/report the IP. To fix this, you need to add two rules to your iptables. unfortunately, those rules can sometimes be deleted at reboot or after DSM update.
To fix this, you will need to add a Scheduled Task that executes at boot with root user, which will check if the rules exists, if not, re-add them.
Task bash command - [Click to show/hide]
#!/bin/bash\ncurrentAttempt=0\ntotalAttempts=10\ndelay=15\n\nwhile [ $currentAttempt -lt $totalAttempts ]\ndo\n currentAttempt=$(( $currentAttempt + 1 ))\n\n echo \"Attempt $currentAttempt of $totalAttempts...\"\n\n result=$(iptables-save)\n\n if [[ $result =~ \"-A DOCKER -i docker0 -j RETURN\" ]]; then\n echo \"Docker rules found! Modifying...\"\n\n iptables -t nat -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER\n iptables -t nat -A PREROUTING -m addrtype --dst-type LOCAL ! --dst 127.0.0.0/8 -j DOCKER\n\n echo \"Done!\"\n\n break\n fi\n\n echo \"Docker rules not found! Sleeping for $delay seconds...\"\n\n sleep $delay\ndone\n
This guide is based on TrueNAS Core 13, a storage solution based on ZFS. While there are more similarities than differences between Core and Scale in terms of creating datasets, this guide explicitly covers dataset, share, and basic permission setup in order to provide a place for creating and accessing the recommended folder structure. This does not cover jails or other virtualization means on the TrueNAS Core platform.
This guide assumes that you've already created a pool, which by default will contain a top-level dataset that was configured during the time of pool configuration. For the examples below, we'll be using a pool name of tank. Encryption is recommended on the pool (TrueNAS uses ZFS Encryption with AES-256-GCM in TrueNAS Core 13), but not required. TrueNAS Core allows for granularity in encrypting individual datasets if you don't want to encrypt at the top-level dataset and have it be inherited down to the other datasets.
TrueNAS Core defaults to lz4 encryption as the compression level when creating a pool. This is fine for most workloads, and can be safely inherited down to other datasets under the top-level dataset. ztsd is currently the default in FreeBSD, however TrueNAS Core still defaults to lz4. Given that media files are not very compressible by nature, the only benefit that compression provides in this case is to supplementary files such as .srt, .nfo, etc.
Additionally, since SMB does not support hardlinks we will only be covering the creation and use of NFS shares.
"},{"location":"Hardlinks/How-to-setup-for/TrueNAS-Core/#create-the-main-dataset","title":"Create the main dataset","text":"
Warning
To get hardlinks and atomic moves working with ZFS you will need to make use of ONE dataset with subfolders. Note that this does not mean multiple datasets under the example top-level dataset tank from this example.
For this example I'm using the dataset from my existing setup, Media. The naming isn't important as host machine mappings can be manipulated as desired.
Go to Storage -> Pools and click on \u22ee on the right side of your root dataset, then select Add Dataset.
On the next screen you'll fill out your basic dataset info, such as name and comments. I have a few things grayed out here as the dataset has already been configured, but in this example you would use Media in the Name field and keep everything else at its default (Inherit) with the exception of Enable Atime and Record Size. Set Enable Atime to off and Record Size to 1M. This provides a performance increase on a dataset that will primarily be handling media files. Optionally, you can configure Quota for this dataset if you want to limit what the dataset displays and will accept in terms of capacity when it's mounted (i.e. setting this to 10 TiB will show 10T as the capacity when mounted).
During share creation, there will be an option at the bottom for Share Type. Generic is the default, with SMB as a selectable option. Since we'll be using NFS, select Generic.
Click Submit (mine shows Save since this is an existing dataset) once complete.
"},{"location":"Hardlinks/How-to-setup-for/TrueNAS-Core/#create-a-shared-group","title":"Create a shared group","text":"
We'll need to create a shared group so that we can ensure proper access when mounting, and to avoid ending up with nobody as the group name when mounting over NFS. This group should contain any of your user accounts that will be accessing the share (Starr apps, download clients, etc). It should also match the group and GID on the host you plan to mount the share to, and run your apps on.
Navigate to Accounts -> Groups, and click Add at the top right.
You'll arrive at a simple configuration screen like the one shown below. Set your GID that you plan to use, and name the group. In this example I'm using a GID of 1215 and a group name of dockermedia. Since this group won't be used for anything other than share permissions, leave Permit Sudo and Samba Authentication unchecked. Click Submit once complete.
"},{"location":"Hardlinks/How-to-setup-for/TrueNAS-Core/#create-your-users","title":"Create your user(s)","text":"
We'll need to create a user (or users if you're using individual user accounts per service) on TrueNAS that matches the user and UID of the user you'll be mounting your share with. It's important that these match since we're not using the Mapall function that exist under the NFS Share options.
Navigate to Accounts -> Users, and click Add at the top right.
You'll arrive at a configuration screen like the one shown below. Fill out Full Name and Username with the desired username, and set your User ID that you plan to use.
You'll need to uncheck New Primary Group so you can manually populate Primary Group with the shared group you created in the previous step. In this example I'm using a GID of 1215 and a Primary Group name of dockermedia. Leave Home Directory as /nonexistent, and set Disable Password to Yes. Uncheck Samba Authentication and click Submit once complete. Home Directory Permissions aren't important as it's set to /nonexistent, and we won't ever be accessing it.
Note
If you're using a single, shared user and group setup (1000:1000 is the common one) you can leave New Primary Group checked. Assuming there's not a group that already exists with GID 1000 it will create that group automatically with the same name as the user.
Now that we have a user and a group, we can set the permissions on the dataset.
Navigate to Storage -> Pools, and click \u22ee on the right side of your target dataset (Media if you're following my example), then select Edit Permissions.
You'll arrive at a configuration screen like the one shown below. Under Owner, fill out your User and Group information with your desired user and the shared group you plan to use for your apps. User isn't super important here if you're using a NFS share and have Group configured properly, but it would matter if you're doing a single-user share (i.e. if you wanted a single person to have their own dataset -> share to map).
Check the boxes for Apply User, Apply Group, and Apply Permissions Recursively (check Confirm and click Continue if you get a popup). Check the Access Mode boxes as indicated in the image example and click Save once complete.
"},{"location":"Hardlinks/How-to-setup-for/TrueNAS-Core/#create-your-nfs-shares","title":"Create your NFS share(s)","text":"
Navigate to Sharing -> Unix Shares (NFS), and click Add at the top right.
Under Paths you can either use the interactive browser by clicking /mnt, or just enter the correct Path. Following along with the previous examples, mine is /mnt/tank/Media.
Set a Description if desired (recommended for tracking), and check All dirs and Enabled.
Click Advanced Options to show the rest of the options we need.
Leave Security alone as the defaults are fine.
At the bottom, you have a couple of options. You can either specify Authorized Networks for more broad access, or authorize specific hosts (my preferred method). Either way, make sure you use one of these options to ensure that whichever host is mounting the NFS share has access.
Click Submit once complete.
"},{"location":"Hardlinks/How-to-setup-for/TrueNAS-Core/#configure-and-enable-nfs-service","title":"Configure and enable NFS service","text":"
Navigate to Services and click the edit icon under Actions on the NFS row.
Enabling NFSv4 is optional. If you wish to do so you will need to ensure that your NAS and host are on the same domain (verify with hostname -d), otherwise you'll run into permission issues (indicated by nobody:4294967294 when checking files). Alternatively, enable NFSv3 ownership model for NFSv4 to avoid the domain requirements. Make sure to check Allow non-root mount under Other Options.
One of the most important options here is the Number of servers setting. If you click on the help icon you'll see the help text for this setting, which indicates that you should keep this less than or equal to the number of CPUs reported by sysctl -n kern.smp.cpus to limit CPU context switching.
Any other options are mostly up to your environment and you should consult standard TrueNAS support paths for assistance.
Click Save once complete.
Make sure to check Start Automatically and click the slider under Running to make sure the service is running correctly and starts at boot.
"},{"location":"Hardlinks/How-to-setup-for/TrueNAS-Core/#mount-your-shares","title":"Mount your shares","text":"
Follow standard mounting procedures for your operating system/device. In Ubuntu mounting a NFS share is as simple as adding it to /etc/fstab with <host>:/mnt/tank/Media /mnt/data nfs defaults,_netdev,rw 0 0, and issuing mount -a (or rebooting).
Regardless of method, make sure that the device ends up with a data mount point. The mount point is important since it will allow us to follow the usual guide for folder structure. If you've followed the guide, from a NFS share standpoint the owner and group of the /mnt/data directory will be the user and group that were previously configured in the Dataset Permissions section. If this is improperly configured you can end up with nobody as the owner or group, or have permission errors.
These subfolders you need to create yourself using your preferred method. Set your permissions accordingly as well. If you use ACLs on the datasets you can replicate the usual 775/664 (UMASK 002) or 755/644 (UMASK 022) recommendation, but this guide only covers the use of basic permissions for mounting and expects the end user to fine-tune permissions via chmod, chown, and uid/gid/umask settings on the applications that will be utilizing the share.
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
DO NOT use the template paths from unRAID or the suggested paths from SpaceInvader One
SpaceInvader One YouTube guides are great for learning how to start with unRAID or how to set up certain applications - and yes I did and still do use them.The main reason why he's probably using those paths is because they are predefined in the templates.
Make sure Tunable (support Hard Links) is enabled in your Settings => Global Share Settings.
unRAID 6.12unRAID 6.11 "},{"location":"Hardlinks/How-to-setup-for/Unraid/#create-the-main-share","title":"Create the main share","text":"
To get Hardlinks and Atomic-Moves working with unRAID,You will need to make use of ONE share with subfolders.
In this example, I'm using my own setup and the preferred share data.
Go to your dashboard and select Shares on the navigation bar, then choose Add Share.
unRAID 6.12 (No Cache)unRAID 6.12 (Cache)unRAID 6.11
Use data
Set up your share with the applicable settings.
unRAID 6.12 (No Cache)unRAID 6.12 (Cache)unRAID 6.11
Select the Primary storage as Array (shown in the No Cache tab above).
Select the Primary storage as Cache (shown in the Cache tab above).
Select the Secondary storage as Array
Make sure Mover action is set to Cache -> Array
Choose Yes on step (2) (unRAID 6.11 tab above). If not using a cache drive, keep this option disabled.
Hardlinks will stay intact if you're using a cache
Click on ADD SHARE
Note
Keep in mind, regarding the use of the cache drive, unRAID's integrated mover cannot move files that are in use, like seeding torrents. You will need to stop/pause the torrents so the mover can move the files from the cache to your array.
If you use qBittorrent you can automate the process by following the following Guide HEREIf you use Deluge you can automate the process by following the following Guide HERE
I'm using lower-case on all folders on purpose, being Linux is case-sensitive.
The data folder has sub-folders for torrents and usenet, and each of these has sub-folders for tv, movie and music downloads to keep things organized. The media folder has nicely named TV, Movies and Music sub-folders, this is where your library resides, and what you\u2019d pass to Plex, Emby or JellyFin.
You will need to create these subfolders yourself. You can do this in any way you prefer, but the fastest way to create all the necessary subfolders would be to use the terminal (explained below). Alternatively, Krusader or WinSCP are popular choices if you are unsure.
"},{"location":"Hardlinks/How-to-setup-for/Unraid/#fastest-way-to-create-the-needed-subfolders","title":"Fastest way to create the needed subfolders","text":"
The fastest way to create all the necessary subfolders would be to use the terminal, use a program like PuTTy or use the terminal from the dashboard. These options will automatically create the required subfolders for your media library as well as your preferred download client(s). If you use both torrents and usenet, use both commands.
"},{"location":"Hardlinks/How-to-setup-for/Unraid/#if-you-use-usenet","title":"If you use usenet","text":"
"},{"location":"Hardlinks/How-to-setup-for/Unraid/#breakdown-of-the-folder-structure","title":"Breakdown of the Folder Structure","text":""},{"location":"Hardlinks/How-to-setup-for/Unraid/#bad-path-suggestion","title":"Bad path suggestion","text":"
The default path setup suggested by some docker developers that encourages people to use mounts like /movies, /tv, /books or /downloads is very suboptimal and it makes them look like two or three file systems, even if they aren\u2019t (Because of how Docker\u2019s volumes work). It is the easiest way to get started. While easy to use, it has a major drawback. Mainly losing the ability to hardlink or instant move, resulting in a slower and more I/O intensive copy + delete is used.
"},{"location":"Hardlinks/How-to-setup-for/Unraid/#setting-up-the-containers","title":"Setting up the containers","text":"
After you've created all the necessary folders, it's time to set up the Docker container's paths.
Go to your dashboard and select the Docker container you want to edit, or, if you're starting fresh, add the container/App you want to use.
unRAID makes it pretty clear which is the Host Path and Container Path.
Container Path: => The path that will be used from inside the container.
Host Path: => The actual/absolute path used on your unRAID Server (The Host).
The reason why we use /data/torrents/ for the torrent client is because it only needs access to the torrent data. In the torrent software settings, you\u2019ll need to configure your categories/labels to utilize the right path for specific content. You can sort into sub-folders like /data/torrents/{tv|movies|music}.
The reason why we use /data/usenet/ for the usenet client is that it only needs access to the usenet data. In the usenet software settings, you\u2019ll need to configure your paths to sort content into sub-folders like /data/usenet/{tv|movies|music}.
Sonarr, Radarr and Lidarr get access to everything because the download folder(s) and media folder will need to look like, and be one mount, on the file system. Hard links will work properly and any moves will be atomic, rather than copying and deleting.
Plex, Emby, JellyFin and Bazarr only need access to your media library, which can have any number of sub-folders (Movies, Kids Movies, TV, Documentary TV and/or Music).
"},{"location":"Hardlinks/How-to-setup-for/Unraid/#final-result","title":"Final Result","text":""},{"location":"Hardlinks/How-to-setup-for/Unraid/#examples-how-to-set-up-your-paths-inside-your-applications","title":"Examples how to set up your paths INSIDE your applications","text":"
Don't forget to look at the Examples of how to set up your paths INSIDE your applications.
Big Thanks to IBRACORP for noticing this Guide and creating a Video covering this unRAID section.
The reason why I have this video at the end is because I want the users to ACTUALLY LEARN and UNDERSTAND why it's recommended to use this folder structure prior to going straight to a YouTube video.
Check out other videos from IBRACORP HERE
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
"},{"location":"Misc/","title":"Misc","text":"
Here you will find a collection of random guides I made.
"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/","title":"Setup TorGuard for port forwarding","text":"
Note
These settings are a recommendation if you want to choose other settings be my guest.
If you want to support me, please use this referral link and enter the following discount code:
Get 50% Off ALL Plans (Anonymous VPN, Anonymous VPN Pro, Anonymous VPN Premium)
TRaSH-Guides-2024\n
As of 13 March Torguard Settles Piracy Lawsuit and has agreed to use commercially reasonable efforts to block BitTorrent traffic on its servers in the US using firewall technology.
I Talked to several people and they are still able to use Torguard for Torrents, Perhaps because the connection is encrypted. And others just selected a server in another country.
If the US server doesn't work for you use another country
Source Torguard.
Source Torrentfreak.
"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#login-to-your-client-area","title":"Login to your Client area","text":"
Login to your Client Area.
Example - [Click to show/hide] "},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#create-a-user-account","title":"Create a user account","text":"
First we're going to create a User Account for your VPN so we won't need to use your main account that you use to login to your account on the Torguard site. This account will be used for authentication with your VPN Torrent client.
Services > My Services > Manage > Manage Credentials
Example - [Click to show/hide]
Create a new username and choose a secure password or create a random username and password.
Example - [Click to show/hide] "},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#how-to-get-the-ip-of-your-vpn-server","title":"How to get the IP of your VPN server","text":"
Now it's time to get the IP of your VPN server you're going to use from the Global VPN Network, From your Client Area.
Servers > Global VPN Network
Example - [Click to show/hide] "},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#global-vpn-network","title":"Global VPN Network","text":"
Then we're going to select which server we're going to use,
For the best speed it's recommended to choose the one nearest to your location.
Sometimes you get better speeds if you use one of your neighboring countries.
If the US server doesn't work for you use another country
Let's use for this example: USA Miami and copy/paste the Hostname us-fl.torguard.org.
Tip
Also check if your chosen server supports OpenVPN or Wireguard depending what you want to use.
"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#get-your-vpn-ip","title":"Get your VPN IP","text":"
Open a cmd window or something equal and type:
ping us-fl.torguard.org\n
You will then get the IP of the server. Remember that for later use.
Example - [Click to show/hide] "},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#how-to-setup-port-forwarding","title":"How to setup Port forwarding","text":"
Note
This section will consist of 2 parts depending if you want to use OVPN or WireGuard so make sure you choose your preferred VPN Tunnel type.
Then click on Manage and select Port Forward Request.
Services > My Services > Manage > Port Forward Request
Example - [Click to show/hide] "},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#vpn-tunnel-type","title":"VPN Tunnel Type","text":"
Choose your preferred VPN Tunnel type.
"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#ovpn-request-port-forward","title":"OVPN Request Port Forward","text":"OVPN Request Port Forward
That's the IP we found earlier.
Select UDP.
Select a Port/Auth I personally use 995|SHA1.
Select the ProtocolTCP.
I suggest to use a high Port number 10.000+ or a game port you don't use, don't use the default torrent ports 6881- 6889 (This is also the port you will use in your torrent client).
Click on the + sign and do the same with the UDPProtocol.
Then click on Submit Request.
If everything went according to plan you will see something like this.
You will also receive a e-mail with the ports you forwarded.
Note
Normally it doesn't take more then a few seconds/minutes to get the ports approved if it takes longer or you get PENDING I suggest to ping the server again (or choose another sever) and you often get a new IP and retry it again with the new IP.
"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#wireguard-request-port-forward","title":"WireGuard Request Port Forward","text":"WireGuard Request Port Forward - [Click to show/hide]
That's the IP we found earlier.
Select UDP. ( KEEP THIS ON UDP FOR WireGuard )
Select a Port/Auth and select WireGuard.
Select the ProtocolTCP.
I suggest to use a high Port number 10.000+ or a game port you don't use, don't use the default torrent ports 6881- 6889 (This is also the port you will use in your torrent client).
Click on the + sign and do the same with the UDPProtocol.
Then click on Submit Request.
WARNING
DON'T CHANGE OPTION 2 UDP to TCP
If everything went according to plan you will see something like this.
You will also receive a e-mail with the ports you forwarded.
Note
Normally it doesn't take more then a few seconds/minutes to get the ports approved if it takes longer or you get PENDING I suggest to ping the server again (or choose another sever) and you often get a new IP and retry it again with the new IP.
"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#how-to-create-the-config-file","title":"How to create the config file","text":"
Note
This section will consist of 2 parts depending if you want to use OVPN or WireGuard so make sure you choose your preferred VPN Tunnel type.
From your Client Area go to your Config Generator.
Tools > Config Generator
Example Select Tools > Config Generator - [Click to show/hide] "},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#config-generator","title":"Config Generator","text":"
Choose your preferred VPN Tunnel type.
"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#ovpn-config-generator","title":"OVPN Config Generator","text":"OVPN Config Generator - [Click to show/hide]
Keep this on Default.
Choose OpenVPN.
Choose the IP we got earlier and used for the port forwarding.
Choose UDP.
Choose 995|SHA1 or what you selected during the port forwarding.
Choose AES-128-GCM.
Choose 2.4 and above.
Check Require TLS 1.2
Click on Generate Config,
Now you will download a .conf file with a random number.
Rename the extension from *.conf to *.ovpn and copy it to your openvpn folder of your VPN torrent client.
"},{"location":"Misc/How-to-setup-Torguard-for-port-forwarding/#wireguard-config-generator","title":"WireGuard Config Generator","text":"WireGuard Config Generator - [Click to show/hide]
Choose WireGuard.
Choose the IP we got earlier and used for the port forwarding.
Add your VPN Username.
Only Change this if you know what you're doing
Click on Generate Config
Now you will download a .conf file with a random number.
Rename the file from *.conf to wg0.conf and copy it to your wireguard folder of your VPN torrent client.
Thanks:
A big Thanks to mrhotio for his excellent instructions on how to setup WireGuard for TorGuard.
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
"},{"location":"Misc/how-to-provide-a-docker-compose/","title":"How to provide a docker compose","text":"
When you're running dockers and you need help on discord etc you often hear the question:
\"Provide a docker compose\"
If you need to provide this info always remember to provide it from all your Starr Apps (Sonarr, Radarr, Lidarr, Bazarr) and also from your download client(s).
If you're using a system with a GUI (Synology, unRAID, OMV, etc.) it's not always easy to provide a docker compose but it's possible.
Warning
Please don't use screenshots to provide the info as they aren't always revealing all the needed info
Use one of the following commands in the terminal of your choice (e.g. puTTY) to generate the docker compose, with or without the use of sudo. Note that you can pass in multiple container names.
sudo docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose CONTAINER_NAME CONTAINER_NAME2\n
x265 is good for 4k stuff or 1080p if they used the remuxes as source. If the media isn't source quality/remux, then there will be a loss of quality every time. Also, once you go x265, typically that file is done. It can't be changed to something else without a huge loss of quality.
Something like 95% of video files are x264 and have much better direct play support. If you have more than a couple users, you will notice much more transcoding. Just depends on your priorities.
So basically if you are storage poor and just need to save space, use x265. The catch is if you want best quality x265, you need source quality files, so you still have huge file sizes. If you want maximum compatibility and the option to change your files to something else later, then x264. It's all really dependent on specific situations for different people
It's a shame that most x265 groups microsize the releases or use the x264 as source what results in low quality releases. And the few groups that do use the correct source suffer from it.
"},{"location":"Misc/x265-4k/#how-to-accomplish-the-golden-rule","title":"How to accomplish the Golden Rule","text":"
For Sonarr check HERE
For Radarr check HERE
"},{"location":"Misc/x265-4k/#some-extra-info-about-4kx265","title":"Some extra info about 4K/X265","text":"
4k, transcoding, and you - aka the rules of 4k - a FAQ - Plex.tv
Don\u2019t bother transcoding 4k
If you cannot direct play 4k, then perhaps you should not even be collecting 4k.
If you don\u2019t have the storage space for a copy of both 4k and 1080/720, then perhaps you should not even be collecting 4k.
To avoid transcoding for remote and non-4k clients, keep your 4k content in separate plex libraries.
This may of course mean that you keep a 4k copy and a 1080/720 copy, but if you are collecting 4k content then you should not be worried about storage space, should you?
"},{"location":"Plex/","title":"Plex","text":"
Here I will start adding Tips and Info for plex
"},{"location":"Plex/Tips/4k-transcoding/","title":"JBOPS 4K Transcode Stopping with Tautulli","text":""},{"location":"Plex/Tips/4k-transcoding/#introduction","title":"Introduction","text":"
The bane of Plex admins existence... 4K Transcodes. According to Plex's forum post The Rules of 4K the first three rules of collecting 4k content is don\u2019t bother transcoding 4k.
This guide will walk you through getting started with Tautulli and JBOPS. By the end of this guide you'll be able to stop all 4K video transcodes on your server. Note that this does require a Plex Pass to work.
git clone https://github.com/blacktwin/JBOPS into the config dir of your tautulli instance (if dockerized) Install requirements if needed (pip install -r requirements.txt)
Go to your tautulli and go to the settings menu. In the sidebar, open \u201cNotification Agents\u201d. Create a new Notification Agent.
I was considering to start fresh on this, but then why reinvent the wheel when someone else already done the research on it?
Here i will add links to 3rd party sites that will provide Optimal settings for all the possible clients that can be used to stream content. While these settings won't be optimal for everyone's setup, they will be for the majority of you.
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
"},{"location":"Plex/Tips/Plex-media-server/","title":"Suggested Plex Media Server Settings","text":"
So, what are the best Plex Media Server settings?
This is something that can't really be answered because it depends on the use case and your personal preference.
Here I will provide some suggestions and try to explain why I recommend these settings. Adjust it to your own liking and keep in mind that it is only a suggestion. I'm not a Plex Pro in anyway
Warning
Some settings are only visible for Plex Pass holders.
All changes need to be done on your Plex Media Server.
Why didn't you cover option .... ?
I will only cover settings that I think might be interesting or are personal preference, if you would like me to cover some other settings, please contact me on
Make sure you have enabled advanced settings (This will be needed for all the settings)
Enable/Disable Remote access (if you disable it ignore the rest of these settings)
LAN/container IP
Public IP If you need to provide a screenshot always mask this IP
Manually specify public port if you run Docker or want a fixed port.
Enter the Plex port you want to use. (default: 32400)
Click on Apply and when everything is setup correctly, your Plex Media Server should be fully accessible outside of your network, so you can connect to your Plex server from outside. You may also need to configure port forwarding on your router. Detailed instructions are available HERE.
Enter your internet upload speed here and Plex can ensure it operates within this boundary.
Set the maximum bitrate of a remote stream from this server.
This can be ignored if you use the new Plex agents,
The new agent settings are now managed \u201cper library\u201d.
"},{"location":"Plex/Tips/Plex-media-server/#library","title":"Library","text":""},{"location":"Plex/Tips/Plex-media-server/#scan-my-library-automatically","title":"Scan my library automatically","text":"
When a change is detected in the source location for a library\u2019s content, the appropriate library will be scanned. This function relies on the computer\u2019s operating system providing the \u201csomething changed\u201d trigger. Some operating systems don\u2019t provide this trigger and content mounted via a network will also typically not work. If your library doesn\u2019t automatically scan, you may have to set a periodical scan or do it manually.
Suggested: Enabled
TIP - Autoscan - [Click to show/hide]
If for some reason ex. your operating systems don\u2019t provide this trigger or your storage is mounted on a network (SMB/NFS/Cloud Storage) or your library just doesn't automatically scan, or is just plain impractical, You might want to consider using autoscan. IBRACORP (A Youtube channel I collaborate with) has a video explaining it in further detail.
Please don't forget to check out his other Unraid Video's HERE
"},{"location":"Plex/Tips/Plex-media-server/#run-a-partial-scan-when-changes-are-detected","title":"Run a partial scan when changes are detected","text":"
When changes to library folders are detected, only scan the folder which changed rather than scanning the entire content location. This works together with the normal Update my library automatically setting (and requires that setting to be enabled).
Suggested: Enabled
"},{"location":"Plex/Tips/Plex-media-server/#include-music-libraries-in-automatic-updates","title":"Include music libraries in automatic updates","text":"
I don't do music, so this choice is up to you, and I won't be covering it.
"},{"location":"Plex/Tips/Plex-media-server/#scan-my-library-periodically","title":"Scan my library periodically","text":"
Turning this on will cause your Plex Media Server to run scans on your libraries using the designated interval.
Suggested: Disabled
Do you need a extra scan for your library to recognize new media?
"},{"location":"Plex/Tips/Plex-media-server/#empty-trash-automatically-after-every-scan","title":"Empty trash automatically after every scan","text":"
With this option enabled, when an item\u2019s file is deleted from the drive, it will be removed from the Plex library on the next scan. Disabling this option keeps the item in the library with an overlay over the item\u2019s poster when the item is removed.
Suggested: Enabled
"},{"location":"Plex/Tips/Plex-media-server/#allow-media-deletion","title":"Allow media deletion","text":"
The owner of the server will be allowed to delete media files from disk.
Suggested: Disabled
In my opinion Plex shouldn't touch your media files. Use Sonarr/Radarr to manage your media library. (For extra security I've setup Plex with Read Only access to the media library)
"},{"location":"Plex/Tips/Plex-media-server/#run-scanner-tasks-at-a-lower-priority","title":"Run scanner tasks at a lower priority","text":"
On low-powered systems (e.g. ARM-based NAS devices), it can be beneficial to run scanner tasks at a lower priority than other tasks. This can help ensure they do not interfere with regular streaming.
Suggested: Enabled
Makes sure it uses less resources and ensure they do not interfere with regular streaming.
"},{"location":"Plex/Tips/Plex-media-server/#generate-video-preview-thumbnails","title":"Generate video preview thumbnails","text":"
This option creates a series of preview thumbnails from a media item when it is analyzed. These images are used by some Plex apps when you move back and forward in an app with the timeline scrubber. They\u2019ll also be displayed in Now Playing when someone is streaming from you so that you can see where they are in the video.
Suggested: Never
Besides that, it uses a lot of disk space and high I/O, No one in my family uses FastForward/Rewind but they use the skip forward/backward.
ATTENTION
Creating these images can
Take a considerable amount of time
Use a lot of CPU resources
Increase the storage space used
The images are stored in your Plex database location (/config) so be careful you don\u2019t fill the drive
"},{"location":"Plex/Tips/Plex-media-server/#generate-intro-video-markers","title":"Generate intro video markers","text":"
You can choose to have TV episodes analyzed to try and detect when the \u201cintro\u201d occurs during playback. When detected, apps will then offer a Skip Intro button, allowing you to quickly jump over the intro.
Suggested: as a scheduled task
or
Suggested: as a scheduled task and when media is added
Chapter thumbnails provide images in the chapter view on supported apps. They can take a little time to generate and consume very minor additional disk space.
Suggested: as a scheduled task
or
Suggested: as a scheduled task and when media is added
Choose how your Plex Media Server handles secure connections.
Suggested: Preferred
Accept and prefer secure connections when they\u2019re available for a Plex app, but allow regular HTTP connections if the app doesn\u2019t support secure connections or if one can\u2019t be established
For users with multiple network cards or systems such as NAS or Docker where there is always another network interface which Plex client applications may try to use to connect to the Plex Media Server, with this option you can ensure that your local Plex clients would only try that interface.
Warning
If you have enabled Remote Access enabled and are having Plex automatically map the port (as opposed to specifying a port manually), then Plex Media Server has no control over which network interface is used for an automatically-mapped port. Thus, it\u2019s possible that Remote Access connections could come through an interface other than the one specified here.
If this setting is enabled, it prevents Plex Media Server from using or accepting the deprecated TLSv1.0 and v1.1 protocols, as well as legacy weak ciphers. May prevent older clients from connecting. The vast majority of users will have no reason to enable this option (and receive no benefit from doing so).
Suggested: Disabled
"},{"location":"Plex/Tips/Plex-media-server/#enable-local-network-discovery-gdm","title":"Enable local network discovery (GDM)","text":"
Enable \u201cG\u2019Day Mate\u201d discovery. This is used to allows Plex apps and servers to find each other automatically on a local network.
Suggested: Enabled
"},{"location":"Plex/Tips/Plex-media-server/#remote-streams-allowed-per-user","title":"Remote streams allowed per user","text":"
You can set the maximum number of simultaneous streams each remote user is allowed to have.
It lets you specify which IP addresses or networks will be considered to be \u201clocal\u201d to you.
Suggested: Your local IP/netmasks
If your local devices are seen as remote devices, then this could solve your issue. (Do not include spaces or tabs.)
"},{"location":"Plex/Tips/Plex-media-server/#treat-wan-ip-as-lan-bandwidth","title":"Treat WAN IP As LAN Bandwidth","text":"
Allows incoming requests from this network\u2019s WAN IP address to be treated as LAN requests in terms of bandwidth. This often occurs when DNS rebinding protection is in place and clients on the LAN cannot contact the server directly but instead have to go through the WAN IP address.
The Relay allows connections to the server through a proxy relay when the server is not accessible otherwise. Relay connections are bandwidth limited.
Suggested: Disabled
I've seen several reports where people that had this Enabled had playback issues because it seems to be limited at 2 Mbps.
"},{"location":"Plex/Tips/Plex-media-server/#custom-server-access-urls","title":"Custom server access URLs","text":"
A comma-separated list of URLs (either HTTP or HTTPS), which will be published to plex.tv for server discovery. This can be very useful in a few cases: if you\u2019re using a reverse proxy in front of the media server, or if your networking configuration is otherwise unique. For instance, if you have your own custom domain with subdomain.
Directory to use when transcoding temporary files for streaming.
Suggested: Depending on your setup, if possible, your RAM (disk)
Speeds up transcoding and less I/O, transcode data is temporary and doesn't need to be writing to a disk.
If you run docker set this to /transcode and map it to /tmp/plex
Default Linux only allocates a max of 50% of total system RAM to any ram directories (ie. /tmp, /dev/shm, etc.)
WARNING
YOU SHOULD NOT SPECIFY A LOCATION THAT RESIDES ON A NETWORK SHARE/DISK.
"},{"location":"Plex/Tips/Plex-media-server/#enable-hdr-tone-mapping","title":"Enable HDR tone mapping","text":"
This feature allows Plex Media Server to maintain high visual fidelity of content, by applying tone mapping to convert it to SDR when transcoding HDR content.
Suggested: Depending on your setup
Most HDR content will be in 4K resolution. If your platform has to use software transcoding to perform the tone mapping, then it may well struggle convert 4K content in real-time, unless you\u2019re running on a very powerful system.
Note
Plex\u2019s tone mapping support should generally be able to produce good color mapping and help avoid the \u201cwashed out\u201d colors that occur when converting HDR content without tone mapping.
"},{"location":"Plex/Tips/Plex-media-server/#use-hardware-acceleration-when-available","title":"Use hardware acceleration when available","text":"
To use Hardware-Accelerated Streaming in Plex Media Server.
Suggested: Enabled
"},{"location":"Plex/Tips/Plex-media-server/#use-hardware-accelerated-video-encoding","title":"Use hardware-accelerated video encoding","text":"
To use Hardware-Accelerated Encoding in Plex Media Server.
Besides being much faster at scanning and getting metadata, one of the benefits of the new agent is that all agent settings are set at the library level, so that different libraries using the same agent can have different agent settings.
When scanning this library, use local posters and artwork if present. (Local subtitles files will be used whether this is enabled or not)
Suggested: Enabled
I had this enabled because I thought it was needed for local subtitles (.srt), but after research it seems it isn't needed. If you want you could disable it, the choice is yours.
When scanning this library, prefer embedded tags and local files if present.
Suggested: Disabled
If enabled you could end up with weird movie naming you don't want, happens especially from releases from RARBG
Automatically create collections when there are more than the selected number of items for an available collection.
Suggested: 2
Only show collections when you have more than one item in your library
This option creates a series of preview thumbnails from a media item when it is analyzed. These images are used by some Plex apps when you move back and forward in an app with the timeline scrubber. They\u2019ll also be displayed in Now Playing when someone is streaming from you so that you can see where they are in the video.
ATTENTION
Creating these images can take a considerable amount of time, CPU resources, and increase the storage space used. The images are stored in your Plex database so be careful you don\u2019t fill the drive
Suggested: Disabled
Besides that, it uses a lot of disk space and high I/O, No one in my family uses FastForward/Rewind but they use the skip forward/backward.
This deletes the preview thumbnails it generated before you disabled this option
If you want to show your Collection in your library
Suggested: Disabled
When Disabled your movies will show up normally when you use library view, This doesn't mean it will disable the collection view.
Besides being much faster at scanning and getting metadata, one of the benefits of the new agent is that all agent settings are set at the library level, so that different libraries using the same agent can have different agent settings.
How episodes are named on disk. If your naming follows The MovieDB or TheTVDB choose that here.
Use season titles when available.
When scanning this library, use local posters and artwork if present. (Local subtitles files will be used whether this is enabled or not)
Suggested: Enabled
I had this enabled because I thought it was needed for local subtitles (.srt), but after research it seems it isn't needed. If you want you could disable it, the choice is yours.
When scanning this library, prefer embedded tags and local files if present.
Suggested: Disabled
If enabled you could end up with weird movie naming you don't want, happens especially from releases from RARBG
This option creates a series of preview thumbnails from a media item when it is analyzed. These images are used by some Plex apps when you move back and forward in an app with the timeline scrubber. They\u2019ll also be displayed in Now Playing when someone is streaming from you so that you can see where they are in the video.
ATTENTION
Creating these images can take a considerable amount of time, CPU resources, and increase the storage space used. The images are stored in your Plex database so be careful you don\u2019t fill the drive
Suggested: Disabled
Besides that, it uses a lot of disk space and high I/O, No one in my family uses FastForward/Rewind but they use the skip forward/backward.
This deletes the preview thumbnails it generated before you disabled this option
If you want to show your Collection in your library
Suggested: Disabled
When Disabled your tv show will show up normally when you use library view, This doesn't mean it will disable the collection view.
Generate intro detection for items in this library when enabled in server settings.
Suggested: Enabled
Ever watch a TV show and it starts playing that same minute and a half credits intro that you've already watched multiple times? Well, you can have your Plex Media Server analyze the TV shows to try and detect those introductions and then let you skip through them with a single click!
For the information of this guide, I made use of the following sources
Information I gathered from Several Discord servers
Plex Support Articles
Extra Information gathered from a Plex employee
Own experience
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
Here you will find a collection of profiles you only should use if Plex has issues direct playing your media on your devices, these profiles could help but results might vary.
The profiles aren't tested on the Shield 2019 or newer Chromecast models
LSIO container: /appdata/plex/database/Library/Application Support/Plex Media Server/Profiles or /appdata/plex/Library/Application Support/Plex Media Server/Profiles
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
Here you will find a collection of tips for Prowlarr.
Prowlarr is an indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with your various PVR apps. Prowlarr supports management of both Torrent Trackers and Usenet Indexers. It integrates seamlessly with Lidarr, Mylar3, Radarr, Readarr, and Sonarr offering complete management of your indexers with no per app Indexer setup required (we do it all).
For Installation and Quick Start Guide please check the official WikiArr
(Default/Stable): It has been tested by users on the develop and nightly branches and it\u2019s not known to have any major issues. On GitHub, this is the master branch.
(Beta): This is the testing edge. Released after tested in nightly to ensure no immediate issues. New features and bug fixes released here first after nightly. It can be considered semi-stable, but is still beta.
On GitHub, this is a snapshot of the develop branch at a specific point in time.
(Alpha/Unstable): This is the bleeding edge. It is released as soon as code is committed and passes all automated tests. This build may have not been used by us or other users yet. There is no guarantee that it will even run in some cases. This branch is only recommended for advanced users. Issues and self investigation are expected in this branch.
Use this branch only if you know what you are doing and are willing to get your hands dirty to recover a failed update.
This version is updated immediately.
Warning: You may not be able to go back to develop after switching to this branch. On GitHub, this is the develop branch.
"},{"location":"Prowlarr/#how-do-i-update-prowlarr","title":"How do I update Prowlarr","text":"
External link to the official WikiArr.
"},{"location":"Prowlarr/prowlarr-setup-flaresolverr/","title":"How to setup FlareSolverr","text":"
FlareSolverr is a proxy server to bypass Cloudflare and DDoS-GUARD protection.
Info
A FlareSolverr Proxy will only be used for requests if and only if Cloudflare is detected by Prowlarr
A FlareSolverr Proxy will only be used for requests if and only if the Proxy and the Indexer have matching tags
A Flaresolverr Proxy configured without any tags or has no indexers with matching tags it will be disabled.
Please follow the installation instruction from FlareSolverr
"},{"location":"Prowlarr/prowlarr-setup-flaresolverr/#add-flaresolverr-to-prowlarr","title":"Add FlareSolverr to Prowlarr","text":"
Settings => indexers
Click on the + sign and select FlareSolverr
Add the following info
Name of the Proxy in Prowlarr.
The tags for this proxy.
The full host path (include http and the port) to your FlareSolverr instance.
The FlareSolver Request maxTimeout value Prowlarr should use for FlareSolverr requests. Must be between 1 second and 180 seconds (Default: 60 seconds).
Test if your connection works.
If it works click on Save.
"},{"location":"Prowlarr/prowlarr-setup-flaresolverr/#add-flaresolverr-to-your-indexer","title":"Add FlareSolverr to your indexer","text":"
Select the indexer that you want to use with FlareSolverr
Scroll down to the bottom and add the tag you've set up earlier at step 2.
Click Test and Save.
Now the indexer should be using FlareSolverr.
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
"},{"location":"Prowlarr/prowlarr-setup-limited-api/","title":"How to setup indexers with limited API","text":"
So you have access to a few (unpaid) usenet indexers with limited API calls and you still want to add them as backup for failed downloads, but you're always hitting the API limits in the first hour and can't make fully use of them.
In this Guide i will show you a trick how you can make more use of them without hitting the API limit in the first hour.
This is mainly a usenet option but might be useful for a few trackers that have rate limits. I will use for this guide mainly usenet indexers as examples.
This is the same you see in the Starr apps under indexers when you open the specific indexer settings.
A short description of what they do, what they mean, and when they are used.
RSS = The so called search interval.
Automatic search = When a item is added to the Starr apps and you do a Add + Search, if a \"usenet\" download fails it will search for a replacement, When you click on the Search All, Search Monitored or on the magnifying icon.
Interactive search = When you select interactive search you get a unsorted/unfiltered list of everything your indexer(s) reports back where you can choose what you want to grab.
"},{"location":"Prowlarr/prowlarr-setup-limited-api/#adding-a-sync-profile","title":"Adding a Sync Profile","text":"
For this we're going to create 2 new Sync Profiles
This one will only be used when a item is added to the Starr apps and you do a Add + Search.If a \"usenet\" download fails it will search for a replacement.When you click on the Search All, Search Monitored or on the magnifying icon.
Click on the + sign and create a new sync profile with the following options.
Name it Automatic Search
Disable Enable RSS
Enable Interactive Search
Enable Automatic Search
If you're using usenet ignore this, if you use public torrent trackers set this somewhere between 20-70, being they often lie about their seeders amount.
This will be only used when you do a interactive search.
Click on the + sign and create a new sync profile with the following options.
Name it Interactive Search
Disable Enable RSS
Enable Interactive Search
Disable Enable Automatic Search
If you're using usenet ignore this, if you use public torrent trackers set this somewhere between 20-70, being they often lie about their seeders amount.
In Prowlarr, edit the indexer of your choice and under Sync Profile you choose one of the two newly created Sync Profiles.
For this example we're going to use Automatic Search.
"},{"location":"Prowlarr/prowlarr-setup-limited-api/#setup-api-limits","title":"Setup API Limits","text":"
In Prowlarr, edit the indexer of your choice and under Query Limit (API hits) and Grab Limit (Downloads) you set your indexers API limits, these can be found in several places depending on the indexer, this could be in your profile or when you go to a page where you can select which package you want to buy.
We're adding this to prevent any abuse/hammering to the indexerIgnoring this can sometimes result in a (potentially lifetime) ban.
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
"},{"location":"Prowlarr/prowlarr-setup-proxy/","title":"Setup proxy for certain indexers","text":"
It's not recommended to run the Starr apps through a VPN, what can happen is that the Starr apps doesn't update the posters or metadata or you can't add new movies/tv shows, it doesn't need to happen right away. but sooner or later it can and probably will happen.
To be clear it is not a matter if VPNs will cause issues with the Starr Apps, but when: image providers will block you and cloudflare is in front of most of Starr servers (updates, metadata, etc.) and liable to block you too
Just run VPN on the apps that actually need it, like your torrent client, and perhaps in some cases certain indexers because of region/ISP restriction.
Warning
Please check the indexers rules if you're allowed to use a VPN/Proxy to access their site, being that VPN services often use shared IP it could be recognized as account sharing.
This isn't the same as the tracker, the API/Website scraping happens on the actual site and some indexers don't allow VPN usage on their site.
In this guide i will try to explain how to setup Prowlarr to use your VPN from your torrent client.
If you use docker you need to enable enable privoxy in you torrent client so you can use it to passthrough traffic.
Please check your used docker image how to enable privoxy.
"},{"location":"Prowlarr/prowlarr-setup-proxy/#add-privoxy-to-prowlarr","title":"Add privoxy to Prowlarr","text":"
Settings => indexers
Click on the + sign and select http
Add the following info
Name of the Proxy in Prowlarr.
The tags for this proxy. Proxies apply to all matching (same tag) indexers. If blank this proxy applies to all indexers.
Host name to your torrent client.
Used port for privoxy (default for privoxy: 8118).
User name for your torrent client. (Not needed if using the default privoxy settings)
Password for your torrent client. (Not needed if using the default privoxy settings)
Test if your connection works.
If it works click on Save.
"},{"location":"Prowlarr/prowlarr-setup-proxy/#add-privoxy-to-your-indexer","title":"Add privoxy to your indexer","text":"
Select the indexer that you want to use with Privoxy
Scroll down to the bottom and add the tag you've set up earlier at step 2.
Click Test and Save.
Now the indexer should be using the VPN of your torrent client.
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
Here you will find a collection of Radarr Guides I made.
Radarr is a movie collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new movies and will interface with clients and indexers to grab, sort, and rename them. It can also be configured to automatically upgrade the quality of existing files in the library when a better quality format becomes available.
For Installation and Quick Start Guide please check the official WikiArr
(Default/Stable): It has been tested by users on the develop and nightly branches and it\u2019s not known to have any major issues. This version will receive updates approximately monthly. On GitHub, this is the master branch.
(Beta): This is the testing edge. Released after tested in nightly to ensure no immediate issues. New features and bug fixes released here first after nightly. It can be considered semi-stable, but is still beta. This version will receive updates either weekly or biweekly depending on development.
Warning: You may not be able to go back to master after switching to this branch. On GitHub, this is a snapshot of the develop branch at a specific point in time.
(Alpha/Unstable) : This is the bleeding edge. It is released as soon as code is committed and passes all automated tests. This build may have not been used by us or other users yet. There is no guarantee that it will even run in some cases. This branch is only recommended for advanced users. Issues and self investigation are expected in this branch.
Use this branch only if you know what you are doing and are willing to get your hands dirty to recover a failed update.
This version is updated immediately.
Warning: You may not be able to go back to master after switching to this branch. On GitHub, this is the develop branch.
"},{"location":"Radarr/#how-do-i-update-radarr","title":"How do I update Radarr","text":"
I often get the question \"What's the best quality settings to use?\" Well, it's actually personal preference so I will show you my recommendations.
But before you continue to read, as with all my guides:
If you don't care about quality then stop reading and see if the other tutorials are helpful for you.
These Quality Settings have been created and tested with info I got from others, and release comparisons from different sources.
FAQ - [Click to show/hide]"},{"location":"Radarr/Radarr-Quality-Settings-File-Size/#faq","title":"FAQ","text":"
Q: Why do you only show starting from HDTV720p?
A: With the big screens these days anything lower doesn't look watchable
Q: Why do you have some sizes set to max?
A: You probably didn't read the bold text above
Q: When I set Bluray to MAX size I often get ISO's/ Bluray folder structure.
A: You probably have configured your Quality Profiles wrong and enabled BR-DISK and didn't add the recommended Custom Profile to help Radarr to block/ignore it. BR-DISK
Q: Some movies won't be grabbed because of these settings.
A: If you notice that some movies won't be grabbed because of these size settings, you can provide me proof with a screenshot and the error it shows you when you do an interactive search (non redacted except the indexer/tracker if you want to).
I will only accept changes that are international releases. No multi, or dubbed language releases.
I won't accept mislabeled source releases like from MeGusta etc. (They should learn to name their stuff properly first)
I won't accept changes for micro sized releases.
Documentaries and cartoons are often much smaller so I probably won't edit those either.
The reason why you don't see the Preferred score in the table above is because we want max quality anyway. So set it as high as possible.
The highest preferred quality you can manually enter is 1 less than the Maximum quality. If you use the slider, the preferred quality can be up to 5 lesser than the Maximum quality.
Make sure you have enabled 'Show Advanced' in Radarr, if you don't see a provision to enter the scores, under the Quality settings.
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
"},{"location":"Radarr/Radarr-collection-of-custom-formats/","title":"Collection of Custom Formats","text":"
Below is a collection of what we've come to regard as the most needed and commonly used Custom Formats. These CFs have been collected from discussions on Discord or created with help from others.
Special thanks to everyone that has helped in the creation and testing of these Custom Formats, my team at TRaSH guides, Team Radarr, and the community.
With Radarr V3, Custom Formats are much more advanced/powerful than with V2, although this also means a Custom Format can require more knowledge to set up or create.
After requesting with Team Radarr, we now have the option to import/export the Custom Formats in a JSON format. This provides everyone with an easy way to share and use Custom Formats.
We've made 3 guides related to this.
How to import Custom Formats - Explains how to import the Custom Formats.
How to upgrade Custom Formats - Explains how to upgrade your existing Custom Formats.
How to set up Quality Profiles - Explains how to make the most use of Custom Formats and shows some specifics of my configuration. You can use these examples to get an idea of how to set up your preferences.
Tip
It also is recommended to change the Propers and Repacks settings in Radarr's Settings.
Media Management => File Management to Do Not Prefer and use the Repack/Proper Custom Format.
This way you make sure the Custom Format scoring and preferences will be fully utilized.
Questions or Suggestions?
If you have questions or suggestions click the chat badge to join the Discord Support Channel where you can ask your questions directly and get live support.
"},{"location":"Radarr/Radarr-collection-of-custom-formats/#index","title":"INDEX","text":"Audio Advanced #1 Audio Advanced #2 Audio Channels HDR Formats TrueHD ATMOS FLAC 1.0 Mono DV HDR10+ DTS X PCM 2.0 Stereo DV HDR10 ATMOS (undefined) DTS-HD HRA 3.0 Sound DV DD+ ATMOS AAC 4.0 Sound DV HLG TrueHD DD 5.1 Surround DV SDR DTS-HD MA MP3 6.1 Surround HDR10+ DD+ Opus 7.1 Surround HDR10 DTS-ES 9.1 Surround HDR DTS HDR (undefined) PQ HLG Movie Versions Unwanted HQ Release Groups 4K Remaster 3D Remux Tier 01 Criterion Collection BR-DISK Remux Tier 02 Hybrid Extras Remux Tier 03 IMAX Enhanced LQ UHD Bluray Tier 01 IMAX LQ (Release Title) UHD Bluray Tier 02 Masters of Cinema Upscaled UHD Bluray Tier 03 Open Matte x265 (HD) HD Bluray Tier 01 Remaster HD Bluray Tier 02 Special Edition HD Bluray Tier 03 Theatrical Cut WEB Tier 01 Vinegar Syndrome WEB Tier 02 WEB Tier 03 General Streaming Services Asian Streaming Services Dutch Streaming Services Amazon FOD Pathe Thuis Apple TV+ TVer Videoland Bravia Core U-NEXT Criterion Channel VIU Disney+ HBO HBO Max Hulu Max Movies Anywhere Netflix Peacock TV Paramount+ Stan UK Streaming Services Misc Streaming Services Anime Streaming Services BBC iPlayer Crave VRV ITVX OViD Misc Optional French Audio Version French Source Groups Dutch Groups AV1 Multi-French FR Remux Tier 01 FreeLeech Bad Dual Groups Multi-Audio FR Remux Tier 02 MPEG2 DV (Disk) French Audio FR UHD Bluray Tier 01 Multi DV (WEBDL) VFF FR UHD Bluray Tier 02 Repack/Proper DV HDR10+ Boost VOF FR HD Bluray Tier 01 Repack2 EVO (no WEBDL) VFI FR HD Bluray Tier 02 x264 HDR10+ Boost VF2 FR WEB Tier 01 x265 HFR VFQ FR WEB Tier 02 Internal VOQ FR Scene Groups Line/Mic Dubbed VQ FR LQ No-RlsGroup VFB Obfuscated VOSTFR Retags FanSUB Scene FastSUB SDR (no WEBDL) SDR VP9 x265 (no HDR/DV) Anime Anime Anime Anime Optional Anime BD Tier 01 (Top SeaDex Muxers) Anime Web Tier 01 (Muxers) v0 Uncensored Anime BD Tier 02 (SeaDex Muxers) Anime Web Tier 02 (Top FanSubs) v1 10bit Anime BD Tier 03 (SeaDex Muxers) Anime Web Tier 03 (Official Subs) v2 Anime Dual Audio Anime BD Tier 04 (SeaDex Muxers) Anime Web Tier 04 (Official Subs) v3 Dubs Only Anime BD Tier 05 (Remuxes) Anime Web Tier 05 (FanSubs) v4 Anime BD Tier 06 (FanSubs) Anime Web Tier 06 (FanSubs) Anime BD Tier 07 (P2P/Scene) Anime Raws Anime BD Tier 08 (Mini Encodes) Anime LQ Groups"},{"location":"Radarr/Radarr-collection-of-custom-formats/#audio-advanced","title":"Audio Advanced","text":""},{"location":"Radarr/Radarr-collection-of-custom-formats/#truehd-atmos","title":"TrueHD ATMOS","text":"TrueHD ATMOS - [Click to show/hide]
From Wikipedia, the free encyclopedia
Dolby Atmos is a surround sound technology developed by Dolby Laboratories. It expands on existing surround sound systems by adding height channels, allowing sounds to be interpreted as three-dimensional objects.
TOP"},{"location":"Radarr/Radarr-collection-of-custom-formats/#dts-x","title":"DTS X","text":"DTS:X - [Click to show/hide]
DTS:X is an object-based audio codec, which aims to create a multi-dimensional sound that \u201cmoves around you like it would in real life\u201d. You may think that sounds a lot like Dolby Atmos, and you\u2019d be right. But where DTS:X differs lies in the required speaker configuration. While Dolby Atmos requires you to add extra overhead channels to your 5.1 or 7.1 setup, DTS:X works with standard surround speaker setups \u2013 just like the one you might already have at home. It can support up to 32 speaker locations and up to an 11.2-channel system. DTS:X like other higher quality DTS formats (e.g. DTS-HD MA) is lossless.
TOP"},{"location":"Radarr/Radarr-collection-of-custom-formats/#truehd","title":"TrueHD","text":"TrueHD - [Click to show/hide]
From Wikipedia, the free encyclopedia
Dolby TrueHD is a lossless, multi-channel audio codec developed by Dolby Laboratories for home video, used principally in Blu-ray Disc and compatible hardware.
TOP"},{"location":"Radarr/Radarr-collection-of-custom-formats/#dts-hd-ma","title":"DTS-HD MA","text":"DTS-HD MA - [Click to show/hide]
From Wikipedia, the free encyclopedia
DTS-HD Master Audio is a multi-channel, lossless audio codec developed by DTS as an extension of the lossy DTS Coherent Acoustics codec (DTS CA; usually itself referred to as just DTS). Rather than being an entirely new coding mechanism, DTS-HD MA encodes an audio master in lossy DTS first, then stores a concurrent stream of supplementary data representing whatever the DTS encoder discarded. This gives DTS-HD MA a lossy \"core\" able to be played back by devices that cannot decode the more complex lossless audio. DTS-HD MA's primary application is audio storage and playback for Blu-ray Disc media.
TOP"},{"location":"Radarr/Radarr-collection-of-custom-formats/#flac","title":"FLAC","text":"FLAC - [Click to show/hide]
FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless, meaning that audio is compressed in FLAC without any loss in quality. This is similar to how Zip works, except with FLAC you will get much better compression because it is designed specifically for audio
Dolby Digital Plus, also known as Enhanced AC-3 (and commonly abbreviated as DD+ or E-AC-3, or EC-3) is a digital audio compression scheme developed by Dolby Labs for transport and storage of multi-channel digital audio. It is a successor to Dolby Digital (AC-3).
TOP"},{"location":"Radarr/Radarr-collection-of-custom-formats/#dts-es","title":"DTS-ES","text":"DTS-ES - [Click to show/hide]
DTS-ES (DTS Extended Surround) includes two variants, DTS-ES Discrete 6.1, and DTS-ES Matrix 5.1, depending on how the sound was originally mastered and stored.
TOP"},{"location":"Radarr/Radarr-collection-of-custom-formats/#aac","title":"AAC","text":"AAC - [Click to show/hide]
Advanced Audio Coding
From Wikipedia, the free encyclopedia Advanced Audio Coding (AAC) is an audio coding standard for lossy digital audio compression. Designed to be the successor of the MP3 format, AAC generally achieves higher sound quality than MP3 at the same bit rate.
TOP"},{"location":"Radarr/Radarr-collection-of-custom-formats/#opus","title":"Opus","text":"Opus - [Click to show/hide]
From Wikipedia, the free encyclopedia
Opus is a lossy audio coding format developed by the Xiph.Org Foundation and standardized by the Internet Engineering Task Force, designed to efficiently code speech and general audio in a single format, while remaining low-latency enough for real-time interactive communication and low-complexity enough for low-end embedded processors.Opus replaces both Vorbis and Speex for new applications, and several blind listening tests have ranked it higher-quality than any other standard audio format at any given bitrate until transparency is reached, including MP3, AAC, and HE-AAC
Dolby Vision is a dynamic HDR format. It can offer better visual experiences relative to HDR10. The most significant difference is that it uses dynamic metadata which allows varying brightness levels within HDR content which enables filmmakers to have more precise control over the overall image appearance. HDR10 relies on static metadata which limits the HDR effect to a per-movie or per-episode basis.
HDR10+
HDR10+ improves upon HDR10 by making its metadata dynamic, allowing for it to change for each frame of video. This means every frame is adjusted to its own set of colors, brightness, and contrast parameters, making for a much more vibrant and realistic-looking image. Areas of the screen that might have been over-saturated with HDR10 will display their full contrast and detail with HDR10+.
\ud83d\udca1 Any form of HDR will look significantly better than SDR on supporting equipment. The overall result will ultimately end up varying, though, based on your hardware and how the studio and filmmaker implemented HDR.
This format provides Dolby Vision with HDR10 fallback. You will find this mainly with:
Remuxes
Bluray encodes
Hybrid WEB-DL (Hybrid isn't always mentioned)
Dolby Vision
Dolby Vision is a dynamic HDR format. It can offer better visual experiences relative to HDR10. The most significant difference is that it uses dynamic metadata which allows varying brightness levels within HDR content which enables filmmakers to have more precise control over the overall image appearance. HDR10 relies on static metadata which limits the HDR effect to a per-movie or per-episode basis.
HDR10
HDR10 is the most basic HDR format used in consumer media and is supported by all HDR-supported devices.
HDR10 relies on static metadata which limits its effect to a per-movie or per-episode basis. Because of this, it lacks the information for how the content should be adjusted for your specific display. The interaction between display capabilities, video metadata, and the ultimate output (i.e., the presentation of the video) is controlled by the display, which may result in quality that is ultimately not how was originally intended.
\ud83d\udca1 Any form of HDR will look significantly better than SDR on supporting equipment. The overall result will ultimately end up varying, though, based on your hardware and how the studio and filmmaker implemented HDR.
This Custom Format will only match on DV NOT on DV HDR10 etc.
Depending on the source (WEB-DL, Bluray, or Remux) this format will match the following:
With Remuxes, it means that it will have DV HDR10.
With Bluray encodes, it means it will have DV HDR10.
With WEB-DL, it means 99% it will only support Dolby Vision without HDR10 fallback (Incompatible devices will playback with blown out pinks and greens, if you have this issue always make sure you also add the following Custom Format with a score of -10000)
<! -- the reason why we didn't use here include-markdown is because all the headers when using include-markdown will be looking in /includes and not the current markdown file, in this case the pointer to #dv-webdl in includes/dv.md -->
DV HLG This is a very rare HDR Format that was created by NHK (JP) and the BBC for cable, satellite, and over-the-air TV broadcasts.
Dolby Vision
Dolby Vision is a dynamic HDR format. It can offer better visual experiences relative to HDR10. The most significant difference is that it uses dynamic metadata which allows varying brightness levels within HDR content which enables filmmakers to have more precise control over the overall image appearance. HDR10 relies on static metadata which limits the HDR effect to a per-movie or per-episode basis.
This Custom Format will only match on DV HLG
HLG
HLG or HLG10 is an HDR format created by NHK (JP) and the BBC that can be used for both video and still images. This format is backward compatible with SDR UHD TV, but not with older SDR displays that do not implement the Rec. 2020 color standards.
You will find this mainly with cable, satellite, and over-the-air TV broadcast series and movies from the likes of BBC and National Geographic.
HDR10+ improves upon HDR10 by making its metadata dynamic, allowing for it to change for each frame of video. This means every frame is adjusted to its own set of colors, brightness, and contrast parameters, making for a much more vibrant and realistic-looking image. Areas of the screen that might have been over-saturated with HDR10 will display their full contrast and detail with HDR10+.
HDR10 is the most basic HDR format used in consumer media and is supported by all HDR-supported devices.
HDR10 relies on static metadata which limits its effect to a per-movie or per-episode basis. Because of this, it lacks the information for how the content should be adjusted for your specific display. The interaction between display capabilities, video metadata, and the ultimate output (i.e., the presentation of the video) is controlled by the display, which may result in quality that is ultimately not how was originally intended.
This Custom Format will only match on HDR NOT on HDR10, HDR10+ etc
This Custom Format is a sort of \"catch-all\" for the HDR scene naming scheme where we don't know, based on name alone, which HDR formats are included - it could be HDR10, HDR10+ or even PQ.
PQ (perceptual quantizer) or PQ10 is the most basic HDR format that can be used for both video and still images. It is the same as the HDR10 format without any metadata.
HLG or HLG10 is an HDR format created by NHK (JP) and the BBC that can be used for both video and still images. This format is backward compatible with SDR UHD TV, but not with older SDR displays that do not implement the Rec. 2020 color standards.
You will find this mainly with cable, satellite, and over-the-air TV broadcast series and movies from the likes of BBC and National Geographic.
TOP"},{"location":"Radarr/Radarr-collection-of-custom-formats/#movie-versions","title":"Movie Versions","text":""},{"location":"Radarr/Radarr-collection-of-custom-formats/#hybrid","title":"Hybrid","text":"Hybrid - [Click to show/hide]
A hybrid release means any combination of sources (video + audio) and not a direct encode of a single source. Generally you can be sure that any hybrid that has been put together is the best quality release of a particular title.
TOP"},{"location":"Radarr/Radarr-collection-of-custom-formats/#remaster","title":"Remaster","text":"Remaster - [Click to show/hide]
From Wikipedia, the free encyclopedia
For the software term, see Software remastering. Remaster (also digital remastering and digitally remastered) refers to changing the quality of the sound or of the image, or both, of previously created recordings, either audiophonic, cinematic, or videographic.
TOP"},{"location":"Radarr/Radarr-collection-of-custom-formats/#4k-remaster","title":"4K Remaster","text":"4K Remaster - [Click to show/hide]
A remastered or mastered in 4K should give you usually the best picture and audio currently for the movie. Both are just names to describe the best possible currently for the movie.
To be clear, the final digital films on the Mastered in 4K Blu-rays still only have the same 1920 x 1080 pixels of actual resolution as normal Blu-rays. But the argument goes that because these full HD files were derived from higher-resolution masters, their images will be more precise, with better colors, less noise, and enhanced sharpness and detail. Not least because the higher-resolution mastering process will provide more detail from the original print for the Blu-ray masters to draw on when going through their (hopefully\u2026) frame-by-frame compression process.
Another important element of the Mastered in 4K discs is that they\u2019re all mastered with \u2018x.v.YCC\u2019 color specification. This delivers an expanded color range closer to that contained in original source material.
TOP"},{"location":"Radarr/Radarr-collection-of-custom-formats/#criterion-collection","title":"Criterion Collection","text":"Criterion Collection - [Click to show/hide]
The Criterion Collection, Inc. (or simply Criterion) is an American home video distribution company which focuses on licensing \"important classic and contemporary films\" and selling them to film aficionados. Criterion has helped to standardize characteristics of home video such as film restoration, using the letterbox format for widescreen films, and adding bonus features and commentary tracks.
TOP"},{"location":"Radarr/Radarr-collection-of-custom-formats/#masters-of-cinema","title":"Masters of Cinema","text":"Masters of Cinema - [Click to show/hide]
Masters of Cinema is a line of DVD and Blu-ray releases published through Eureka Entertainment. Because of the uniformly branded and spine-numbered packaging and the standard inclusion of booklets and analysis by recurring film historians, the line is often perceived as the UK equivalent of The Criterion Collection.
TOP"},{"location":"Radarr/Radarr-collection-of-custom-formats/#vinegar-syndrome","title":"Vinegar Syndrome","text":"Vinegar Syndrome - [Click to show/hide]
Vinegar Syndrome is a US-based company founded in 2012 to preserve and distribute old X-rated films. Over time, they expanded their catalog to include other types of cult and exploitation films, specializing in horror and action genres.
TOP"},{"location":"Radarr/Radarr-collection-of-custom-formats/#imax-enhanced","title":"IMAX Enhanced","text":"IMAX Enhanced - [Click to show/hide]
IMAX Enhanced: Get More Picture Instead of Black Bars
IMAX Enhanced exclusive expanded aspect ratio is 1:90:1, which offers up to 26% more picture for select sequences, meaning more of the action is visible on screen.
TOP"},{"location":"Radarr/Radarr-collection-of-custom-formats/#open-matte","title":"Open Matte","text":"Open Matte - [Click to show/hide]
Open matte is a filming technique that involves matting out the top and bottom of the film frame in the movie projector (known as a soft matte) for the widescreen theatrical release and then scanning the film without a matte (at Academy ratio) for a full screen home video release.
TOP"},{"location":"Radarr/Radarr-collection-of-custom-formats/#unwanted","title":"Unwanted","text":""},{"location":"Radarr/Radarr-collection-of-custom-formats/#br-disk","title":"BR-DISK","text":"BR-DISK - [Click to show/hide]
This is a custom format to help Radarr recognize & ignore BR-DISK (ISO's and Blu-ray folder structure) in addition to the standard BR-DISK quality.
You will need to add the following to your new Custom Format when created in your Quality Profile (Setting => Profiles) and then set the score to -10000.
Note
Depending on your renaming scheme it could happen that Radarr will match renamed files after they are downloaded and imported as BR-DISK, This is a cosmetic annoyance until we come up with another way to solve this, being that this Custom Format is used to not download BR-DISK it does its purpose as intended. Several reasons why this is happening:
Blame the often wrongly used naming of x265 encodes.
A collection of known low quality groups (often banned from the top trackers due to their lack of quality), banned or dishonest release groups, or rips/encodes from scene and quick-to-release P2P groups that, while adequate, are usually not considered high quality.
Release Groups that break the Starr apps automation because their bad naming could potentially cause download loops, even if their overall quality is perfect.