mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2026-04-16 21:35:04 -04:00
Compare commits
12 Commits
v2.0.5.515
...
v2.1.0.518
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
516b09ca91 | ||
|
|
770fd64013 | ||
|
|
f67c672ec7 | ||
|
|
80425f5ea4 | ||
|
|
758cae3f40 | ||
|
|
fbf4ff6777 | ||
|
|
98ee9c1703 | ||
|
|
c537e94f0f | ||
|
|
9e5dd2a2e6 | ||
|
|
f601ff98a2 | ||
|
|
540fafdebf | ||
|
|
532bffe772 |
@@ -9,7 +9,7 @@ variables:
|
||||
testsFolder: './_tests'
|
||||
yarnCacheFolder: $(Pipeline.Workspace)/.yarn
|
||||
nugetCacheFolder: $(Pipeline.Workspace)/.nuget/packages
|
||||
majorVersion: '2.0.5'
|
||||
majorVersion: '2.1.0'
|
||||
minorVersion: $[counter('minorVersion', 1)]
|
||||
prowlarrVersion: '$(majorVersion).$(minorVersion)'
|
||||
buildName: '$(Build.SourceBranchName).$(prowlarrVersion)'
|
||||
|
||||
@@ -76,10 +76,6 @@
|
||||
background-color: var(--hoverBackgroundColor);
|
||||
}
|
||||
|
||||
.filterRowCollapsed {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: $breakpointSmall) {
|
||||
.filterInput {
|
||||
margin-bottom: 8px;
|
||||
@@ -102,6 +98,10 @@
|
||||
background-color: var(--cardBackgroundColor);
|
||||
}
|
||||
|
||||
.filterRowCollapsed {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.filterContainer {
|
||||
margin-right: 0;
|
||||
margin-bottom: 8px;
|
||||
|
||||
@@ -27,7 +27,6 @@ import {
|
||||
} from 'Store/Actions/indexerActions';
|
||||
import createAllIndexersSelector from 'Store/Selectors/createAllIndexersSelector';
|
||||
import createClientSideCollectionSelector from 'Store/Selectors/createClientSideCollectionSelector';
|
||||
import createDimensionsSelector from 'Store/Selectors/createDimensionsSelector';
|
||||
import { SortCallback } from 'typings/callbacks';
|
||||
import sortByProp from 'Utilities/Array/sortByProp';
|
||||
import getErrorMessage from 'Utilities/Object/getErrorMessage';
|
||||
@@ -114,8 +113,7 @@ function createAddIndexersSelector() {
|
||||
return createSelector(
|
||||
createClientSideCollectionSelector('indexers.schema'),
|
||||
createAllIndexersSelector(),
|
||||
createDimensionsSelector(),
|
||||
(indexers: IndexerAppState, allIndexers, dimensions) => {
|
||||
(indexers: IndexerAppState, allIndexers) => {
|
||||
const { isFetching, isPopulated, error, items, sortDirection, sortKey } =
|
||||
indexers;
|
||||
|
||||
@@ -134,7 +132,6 @@ function createAddIndexersSelector() {
|
||||
indexers: indexerList,
|
||||
sortKey,
|
||||
sortDirection,
|
||||
isSmallScreen: dimensions.isSmallScreen,
|
||||
};
|
||||
}
|
||||
);
|
||||
@@ -148,15 +145,8 @@ interface AddIndexerModalContentProps {
|
||||
function AddIndexerModalContent(props: AddIndexerModalContentProps) {
|
||||
const { onSelectIndexer, onModalClose } = props;
|
||||
|
||||
const {
|
||||
isFetching,
|
||||
isPopulated,
|
||||
error,
|
||||
indexers,
|
||||
sortKey,
|
||||
sortDirection,
|
||||
isSmallScreen,
|
||||
} = useSelector(createAddIndexersSelector());
|
||||
const { isFetching, isPopulated, error, indexers, sortKey, sortDirection } =
|
||||
useSelector(createAddIndexersSelector());
|
||||
const dispatch = useDispatch();
|
||||
|
||||
const [filter, setFilter] = useState('');
|
||||
@@ -164,7 +154,7 @@ function AddIndexerModalContent(props: AddIndexerModalContentProps) {
|
||||
const [filterLanguages, setFilterLanguages] = useState<string[]>([]);
|
||||
const [filterPrivacyLevels, setFilterPrivacyLevels] = useState<string[]>([]);
|
||||
const [filterCategories, setFilterCategories] = useState<number[]>([]);
|
||||
const [isFiltersCollapsed, setIsFiltersCollapsed] = useState(isSmallScreen);
|
||||
const [isFiltersCollapsed, setIsFiltersCollapsed] = useState(true);
|
||||
|
||||
useEffect(
|
||||
() => {
|
||||
|
||||
@@ -426,6 +426,12 @@ namespace NzbDrone.Core.Indexers.Definitions.Cardigann
|
||||
{
|
||||
((TorrentInfo)c).InfoHash = MagnetLinkBuilder.GetInfoHashFromMagnet(((TorrentInfo)c).MagnetUrl);
|
||||
}
|
||||
|
||||
// Add Internal flag if description starts with Internal
|
||||
if (c.Description.IsNotNullOrWhiteSpace() && c.Description.StartsWith("Internal"))
|
||||
{
|
||||
c.IndexerFlags.Add(IndexerFlag.Internal);
|
||||
}
|
||||
});
|
||||
|
||||
_logger.Trace("Cardigann ({0}): Got {1} releases", _definition.Id, releases.Count);
|
||||
|
||||
@@ -11,10 +11,17 @@ namespace NzbDrone.Core.Indexers.Definitions.FileList;
|
||||
public class FileList : TorrentIndexerBase<FileListSettings>
|
||||
{
|
||||
public override string Name => "FileList.io";
|
||||
public override string[] IndexerUrls => new[] { "https://filelist.io/" };
|
||||
public override string[] IndexerUrls => new[]
|
||||
{
|
||||
"https://filelist.io/",
|
||||
"https://thefl.org/",
|
||||
};
|
||||
public override string[] LegacyUrls => new[]
|
||||
{
|
||||
"https://filelist.io",
|
||||
"https://filelist.ro/",
|
||||
"http://filelist.ro/",
|
||||
"http://flro.org/",
|
||||
"https://flro.org/"
|
||||
};
|
||||
public override string Description => "FileList (FL) is a ROMANIAN Private Torrent Tracker for 0DAY / GENERAL";
|
||||
@@ -105,6 +112,7 @@ public class FileList : TorrentIndexerBase<FileListSettings>
|
||||
caps.Categories.AddCategoryMapping(27, NewznabStandardCategory.TVUHD, "Seriale 4K");
|
||||
caps.Categories.AddCategoryMapping(28, NewznabStandardCategory.MoviesForeign, "RO Dubbed");
|
||||
caps.Categories.AddCategoryMapping(28, NewznabStandardCategory.TVForeign, "RO Dubbed");
|
||||
caps.Categories.AddCategoryMapping(31, NewznabStandardCategory.TVForeign, "K-Drama");
|
||||
|
||||
return caps;
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ namespace NzbDrone.Core.Indexers.Newznab
|
||||
yield return GetDefinition("Miatrix", GetSettings("https://www.miatrix.com"), categories: new[] { 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000 });
|
||||
yield return GetDefinition("Newz69", GetSettings("https://newz69.keagaming.com"), categories: new[] { 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000 });
|
||||
yield return GetDefinition("NinjaCentral", GetSettings("https://ninjacentral.co.za"), categories: new[] { 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000 });
|
||||
yield return GetDefinition("Nzb.su", GetSettings("https://api.nzb.su"), categories: new[] { 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000 });
|
||||
yield return GetDefinition("Nzb.life", GetSettings("https://api.nzb.life"), categories: new[] { 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000 });
|
||||
yield return GetDefinition("NZBCat", GetSettings("https://nzb.cat"), categories: new[] { 1000, 2000, 3000, 4000, 5000, 6000, 7000 });
|
||||
yield return GetDefinition("NZBFinder", GetSettings("https://nzbfinder.ws"), categories: new[] { 2000, 3000, 5000, 6000, 7000 });
|
||||
yield return GetDefinition("NZBgeek", GetSettings("https://api.nzbgeek.info"), categories: new[] { 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000 });
|
||||
|
||||
@@ -9,10 +9,10 @@ namespace NzbDrone.Core.Indexers.Newznab
|
||||
{
|
||||
public class NewznabSettingsValidator : AbstractValidator<NewznabSettings>
|
||||
{
|
||||
private static readonly string[] ApiKeyWhiteList =
|
||||
private static readonly string[] ApiKeyAllowList =
|
||||
{
|
||||
"nzbs.org",
|
||||
"nzb.su",
|
||||
"nzb.life",
|
||||
"dognzb.cr",
|
||||
"nzbplanet.net",
|
||||
"nzbid.org",
|
||||
@@ -22,7 +22,7 @@ namespace NzbDrone.Core.Indexers.Newznab
|
||||
|
||||
private static bool ShouldHaveApiKey(NewznabSettings settings)
|
||||
{
|
||||
return settings.BaseUrl != null && ApiKeyWhiteList.Any(c => settings.BaseUrl.ToLowerInvariant().Contains(c));
|
||||
return settings.BaseUrl != null && ApiKeyAllowList.Any(c => settings.BaseUrl.ToLowerInvariant().Contains(c));
|
||||
}
|
||||
|
||||
private static readonly Regex AdditionalParametersRegex = new Regex(@"(&.+?\=.+?)+", RegexOptions.Compiled);
|
||||
|
||||
@@ -11,11 +11,11 @@ namespace NzbDrone.Core.Indexers.Torznab
|
||||
{
|
||||
public class TorznabSettingsValidator : AbstractValidator<TorznabSettings>
|
||||
{
|
||||
private static readonly string[] ApiKeyWhiteList = Array.Empty<string>();
|
||||
private static readonly string[] ApiKeyAllowList = Array.Empty<string>();
|
||||
|
||||
private static bool ShouldHaveApiKey(TorznabSettings settings)
|
||||
{
|
||||
return settings.BaseUrl != null && ApiKeyWhiteList.Any(c => settings.BaseUrl.ToLowerInvariant().Contains(c));
|
||||
return settings.BaseUrl != null && ApiKeyAllowList.Any(c => settings.BaseUrl.ToLowerInvariant().Contains(c));
|
||||
}
|
||||
|
||||
private static readonly Regex AdditionalParametersRegex = new Regex(@"(&.+?\=.+?)+", RegexOptions.Compiled);
|
||||
|
||||
@@ -491,7 +491,7 @@
|
||||
"EnableRssHelpText": "Povolit kanál RSS pro indexer",
|
||||
"DeleteApplication": "Odstranit aplikaci",
|
||||
"DeleteSelectedApplications": "Odstranit vybrané aplikace",
|
||||
"DeleteSelectedIndexers": "Odstranit vybrané indexery",
|
||||
"DeleteSelectedIndexers": "Smazat vybrané indexery",
|
||||
"DevelopmentSettings": "Nastavení pro vývoj",
|
||||
"DisabledUntil": "Zakázáno do",
|
||||
"DownloadClientCategory": "Kategorie klienta pro stahování",
|
||||
@@ -639,5 +639,10 @@
|
||||
"DownloadClientUTorrentProviderMessage": "uTorrent má historii zahrnování kryptoměnových těžařů, malwaru a reklam, důrazně vám doporučujeme zvolit jiného klienta.",
|
||||
"IndexerSettingsBaseUrlHelpText": "Vyberte, jakou základní URL bude {appName} používat pro požadavky na web",
|
||||
"IndexerSettingsPackSeedTimeIndexerHelpText": "Doba, po kterou by měl být balíček (sezóna nebo diskografie) torrentu seedován před zastavením, prázdné pole znamená výchozí nastavení aplikace",
|
||||
"PackSeedTimeHelpText": "Doba, po kterou by měl být balíček (sezóna nebo diskografie) torrentu seedován před zastavením, prázdné pole znamená výchozí nastavení aplikace"
|
||||
"PackSeedTimeHelpText": "Doba, po kterou by měl být balíček (sezóna nebo diskografie) torrentu seedován před zastavením, prázdné pole znamená výchozí nastavení aplikace",
|
||||
"OnApplicationUpdateHelpText": "Při aktualizaci aplikace",
|
||||
"SeedTime": "Doba sdílení",
|
||||
"OnHealthRestoredHelpText": "Při obnovení zdraví",
|
||||
"SeedRatio": "Poměr sdílení",
|
||||
"ThemeHelpText": "Změnit motiv UI, možnost „Auto“ kopíruje nastavení OS pro výběr tmavého nebo světlého režimu. Inspirováno {inspiredBy}."
|
||||
}
|
||||
|
||||
@@ -149,7 +149,7 @@
|
||||
"FullSync": "Volledige synchronisatie",
|
||||
"General": "Algemeen",
|
||||
"GeneralSettings": "Algemene Instellingen",
|
||||
"GeneralSettingsSummary": "Poort, SSL, gebruikersnaam/wachtwoord, proxy, statistieken en updates",
|
||||
"GeneralSettingsSummary": "Poort, SSL, gebruikersnaam/wachtwoord, proxy, analytics en updates",
|
||||
"GrabReleases": "Uitgave Ophalen",
|
||||
"Grabbed": "Opgehaalde",
|
||||
"Grabs": "Gegrepen",
|
||||
|
||||
@@ -146,7 +146,7 @@
|
||||
"FocusSearchBox": "Zaznacz pole wyszukiwania",
|
||||
"Folder": "Teczka",
|
||||
"ForMoreInformationOnTheIndividualDownloadClients": "Aby uzyskać więcej informacji na temat poszczególnych klientów pobierania, kliknij przyciski informacyjne.",
|
||||
"General": "Generał",
|
||||
"General": "Ogólne",
|
||||
"GeneralSettings": "Ustawienia główne",
|
||||
"GeneralSettingsSummary": "Port, SSL, nazwa użytkownika / hasło, proxy, analizy i aktualizacje",
|
||||
"Grabbed": "Złapał",
|
||||
@@ -279,7 +279,7 @@
|
||||
"DeleteTagMessageText": "Czy na pewno chcesz usunąć tag '{label}'?",
|
||||
"Details": "Szczegóły",
|
||||
"Donations": "Darowizny",
|
||||
"DownloadClients": "Pobierz klientów",
|
||||
"DownloadClients": "Klienci pobierania",
|
||||
"DownloadClientSettings": "Pobierz ustawienia klienta",
|
||||
"IncludeHealthWarningsHelpText": "Uwzględnij ostrzeżenia zdrowotne",
|
||||
"Indexer": "Indeksator",
|
||||
|
||||
Reference in New Issue
Block a user