---
sidebar_position: 2
---

import {
  ConfigSection,
  Important,
  Warning,
  ElementNavigator,
  SectionTitle,
  styles
} from '@site/src/components/documentation';

# Malware Blocker

The Malware Blocker automatically blocks or removes downloads from your download client based on configurable blocklists. This helps prevent unwanted content from being downloaded and manages content filtering across your *arr applications.

<ElementNavigator />

<div className={styles.documentationPage}>

<Important>
These settings need a download client to be configured.
</Important>

<div className={styles.section}>

<ConfigSection
  title="Enable Malware Blocker"
  icon="🔄"
>

When enabled, the Malware Blocker will run according to the configured schedule to automatically block or remove downloads based on the configured blocklists.

</ConfigSection>

<ConfigSection
  title="Scheduling Mode"
  icon="📅"
>

Choose how to configure the Malware Blocker schedule:
- **Basic**: Simple interval-based scheduling (every X minutes/hours/seconds)
- **Advanced**: Full cron expression control for complex schedules

</ConfigSection>

<ConfigSection
  title="Cron Expression"
  icon="⏲️"
>

Enter a valid Quartz.NET cron expression to control when the Malware Blocker runs.

**Common Cron Examples:**
- `0 0/5 * ? * * *` - Every 5 minutes
- `0 0 * ? * * *` - Every hour
- `0 0 */6 ? * * *` - Every 6 hours

</ConfigSection>

<ConfigSection
  title="Ignored Downloads"
  icon="🚫"
>

Downloads matching these patterns will be ignored by Malware Blocker. Patterns can match any of these:
- torrent hash
- qBittorrent tag or category
- Deluge label
- Transmission category (last directory from the save location)
- µTorrent label
- torrent tracker domain

**Examples:**
```
fa800a7d7c443a2c3561d1f8f393c089036dade1
tv-sonarr
qbit-tag
mytracker.com
```

</ConfigSection>

<ConfigSection
  title="Ignore Private"
  icon="🔒"
>

When enabled, private torrents will be skipped from being processed during content blocking.

</ConfigSection>

<ConfigSection
  title="Delete Private"
  icon="🗑️"
>

When enabled, private torrents that match blocklist criteria will be deleted from the download client. Use with extreme caution as this permanently removes the download.

<Warning>
Setting this to true means private torrents will be permanently deleted, potentially affecting your private tracker account by receiving H&R if the seeding requirements are not met.
</Warning>

</ConfigSection>

<ConfigSection
  title="Delete Known Malware"
  icon="🦠"
>

When enabled, downloads that match known malware patterns will be automatically deleted from the download client.

**Malware Detection Source:**
- List is automatically fetched from: `https://cleanuparr.pages.dev/static/known_malware_file_name_patterns`
- Updates automatically every **5 minutes**
- Contains filename patterns known to be associated with malware

<Warning>
This feature permanently deletes downloads that match malware patterns. While the patterns are carefully curated, false positives are possible. Monitor logs carefully when first enabling this feature.
</Warning>

</ConfigSection>

</div>

<div className={styles.section}>

<SectionTitle icon="📋">Arr Service Settings</SectionTitle>

<p className={styles.sectionDescription}>
  Configure blocklists for each *arr application. Each service can have its own blocklist configuration.
</p>

<ConfigSection
  title="Enable Blocklist"
  icon="✅"
>

When enabled, the Malware Blocker will use the configured blocklist to filter content.

</ConfigSection>

<ConfigSection
  title="Blocklist Path"
  icon="📂"
>

Path to the blocklist file or URL. This can be a local file path or a remote URL that will be fetched automatically.

**Examples:** 
- `/config/sonarr-blocklist.txt`
- `https://example.com/blocklist.txt`

**Automatic Reload Intervals:**
- **Cleanuparr Official Lists** (`cleanuparr.pages.dev`): Every **5 minutes**
- **Other Remote URLs**: Every **4 hours**
- **Local Files**: Every **5 minutes**

The blocklists support the following types of patterns:
```
*example            // file name ends with "example"
example*            // file name starts with "example"
*example*           // file name has "example" in the name
example             // file name is exactly the word "example"
regex:<ANY_REGEX>   // regex that needs to be marked at the start of the line with "regex:"
```

:::tip
Available blocklists that can be used with Sonarr and Radarr:
- `https://cleanuparr.pages.dev/static/blacklist`
- `https://cleanuparr.pages.dev/static/blacklist_permissive`
- `https://cleanuparr.pages.dev/static/whitelist`
- `https://cleanuparr.pages.dev/static/whitelist_with_subtitles`
:::

</ConfigSection>

<ConfigSection
  title="Blocklist Type"
  icon="🎭"
>

Controls how the blocklist is interpreted:
- **Blacklist**: Files matching any pattern in the list will be blocked.
- **Whitelist**: Only files matching patterns in the list will be allowed.

</ConfigSection>

</div>

</div>