mirror of
https://github.com/Cleanuparr/Cleanuparr.git
synced 2026-06-24 05:30:19 -04:00
Add option to remove malware if any file is blocked (#621)
This commit is contained in:
@@ -105,6 +105,7 @@ export class DocumentationService {
|
||||
'ignorePrivate': 'ignore-private',
|
||||
'deletePrivate': 'delete-private',
|
||||
'processNoContentId': 'process-downloads-with-no-content-id',
|
||||
'deleteIfAnyFileBlocked': 'delete-if-any-file-is-blocked',
|
||||
'sonarr.enabled': 'enable-blocklist',
|
||||
'sonarr.blocklistPath': 'blocklist-path',
|
||||
'sonarr.blocklistType': 'blocklist-type',
|
||||
|
||||
@@ -33,6 +33,9 @@
|
||||
<app-toggle label="Process downloads with no content ID" [(checked)]="processNoContentId"
|
||||
hint="Process downloads from the queue that are not linked to any content in the arr app. Cleanuparr will not be able to trigger a search for a replacement when this happens."
|
||||
helpKey="malware-blocker:processNoContentId" />
|
||||
<app-toggle label="Delete if any file is blocked" [(checked)]="deleteIfAnyFileBlocked"
|
||||
hint="When enabled, the entire download will be removed if any file in it matches the blocklist. When disabled, the download is only removed when all of its files match."
|
||||
helpKey="malware-blocker:deleteIfAnyFileBlocked" />
|
||||
|
||||
<div class="form-divider"></div>
|
||||
|
||||
|
||||
@@ -63,6 +63,7 @@ export class MalwareBlockerComponent implements OnInit, HasPendingChanges {
|
||||
readonly ignorePrivate = signal(false);
|
||||
readonly deletePrivate = signal(false);
|
||||
readonly processNoContentId = signal(false);
|
||||
readonly deleteIfAnyFileBlocked = signal(false);
|
||||
readonly arrExpanded = signal(false);
|
||||
|
||||
readonly scheduleIntervalOptions = computed(() => {
|
||||
@@ -165,6 +166,7 @@ export class MalwareBlockerComponent implements OnInit, HasPendingChanges {
|
||||
this.ignorePrivate.set(config.ignorePrivate);
|
||||
this.deletePrivate.set(config.deletePrivate);
|
||||
this.processNoContentId.set(config.processNoContentId);
|
||||
this.deleteIfAnyFileBlocked.set(config.deleteIfAnyFileBlocked);
|
||||
|
||||
const blocklists: Record<string, any> = {};
|
||||
for (const name of ARR_NAMES) {
|
||||
@@ -221,6 +223,7 @@ export class MalwareBlockerComponent implements OnInit, HasPendingChanges {
|
||||
ignorePrivate: this.ignorePrivate(),
|
||||
deletePrivate: this.deletePrivate(),
|
||||
processNoContentId: this.processNoContentId(),
|
||||
deleteIfAnyFileBlocked: this.deleteIfAnyFileBlocked(),
|
||||
sonarr: { enabled: blocklists['sonarr'].enabled, blocklistPath: blocklists['sonarr'].blocklistPath, blocklistType: blocklists['sonarr'].blocklistType as BlocklistType },
|
||||
radarr: { enabled: blocklists['radarr'].enabled, blocklistPath: blocklists['radarr'].blocklistPath, blocklistType: blocklists['radarr'].blocklistType as BlocklistType },
|
||||
lidarr: { enabled: blocklists['lidarr'].enabled, blocklistPath: blocklists['lidarr'].blocklistPath, blocklistType: blocklists['lidarr'].blocklistType as BlocklistType },
|
||||
@@ -257,6 +260,7 @@ export class MalwareBlockerComponent implements OnInit, HasPendingChanges {
|
||||
ignorePrivate: this.ignorePrivate(),
|
||||
deletePrivate: this.deletePrivate(),
|
||||
processNoContentId: this.processNoContentId(),
|
||||
deleteIfAnyFileBlocked: this.deleteIfAnyFileBlocked(),
|
||||
arrBlocklists: this.arrBlocklists(),
|
||||
});
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ export interface MalwareBlockerConfig {
|
||||
ignorePrivate: boolean;
|
||||
deletePrivate: boolean;
|
||||
processNoContentId: boolean;
|
||||
deleteIfAnyFileBlocked: boolean;
|
||||
sonarr: BlocklistSettings;
|
||||
radarr: BlocklistSettings;
|
||||
lidarr: BlocklistSettings;
|
||||
|
||||
Reference in New Issue
Block a user