0 5 ‐ General Settings
Elwador edited this page 2026-05-15 09:39:45 +02:00

Settings Interface

ui_settings The Settings interface contains app-wide options for history tracking, downloads, Sonarr integration, proxy usage, FlareSolverr, tray behavior, appearance, and troubleshooting.

Most settings are saved automatically when changed. Some connection-related settings, especially proxy and FlareSolverr options, should be followed by an app restart so the internal HTTP client is recreated with the new configuration.

History

Settings_History

The History section controls whether Crunchy Downloader records downloaded series and episodes, and how missing or new episodes are detected.

  • Enable History: Enables or disables the history feature. Enabling history also allows Sonarr-related history features to be used.
  • History Language: Sets the language used for history metadata and episode fetching. If you use Sonarr, it is recommended to use the same language as your Sonarr setup.
  • History count Missing: Counts all missing episodes in the orange missing/new indicator, not only newly released episodes.
  • History Include CR Artists: Adds Crunchyroll music artists to the history.
  • Remove Missing History Episodes: During a history refresh, removes episodes that are no longer available on the streaming service. Seasons with no episodes left are removed as well.
  • History Add Specials: Includes special episodes when detecting missing episodes and when adding missing episodes to the queue.
  • History Missing/New Count from Sonarr: Uses Sonarr's missing episode data for the orange missing/new count.
  • History Skip Sonarr Unmonitored: Skips unmonitored Sonarr episodes when counting missing/new episodes.
  • Auto History Refresh: Automatically refreshes the history after a configured interval. Set the interval to 0 to disable automatic refresh.

Auto History Refresh Modes

  • Default All: Refreshes the full history using the default refresh method.
  • Default Active: Refreshes the history using the default method, but only includes active entries.
  • Fast New Releases: Uses the faster refresh method, similar to the custom calendar, focused on newly released episodes.

Download Settings

Settings_Download

Download Settings control queue behavior, download speed, retry handling, folders, and actions that run after the queue finishes.

  • Persist queue: Saves the current download queue on exit and restores it on the next start.
  • Enable New Download Method: Enables the updated download handling logic. This may improve performance and stability.
  • Allow early start of next download: Starts the next download as soon as the previous file has finished downloading, even if the previous file is still being finalized, muxed, or moved.
  • Skip Episodes Missing Selected Languages: Only adds an episode to the queue if every selected audio and subtitle language is available.
  • Max Download Speed: Sets the maximum download speed in KB/s. If set to 0, the full available download speed is used.
  • Show download speed in bits/s (Mbps): Shows download speed as Mbps instead of MB/s.
  • Download Retry: Sets how often a download is retried and how long CRD waits between retry attempts. Retry attempts are limited to 1-10; retry delay is limited to 1-30 seconds.
  • Use Temp Download Folder: Downloads files into a temporary folder first, then moves completed files to the final download folder.
  • Download Folder: Chooses the default folder where downloads are saved, unless overridden by another workflow such as history-specific handling.
  • Parallel Downloads: Sets how many downloads may run at the same time.
  • Parallel Processing Jobs: Sets how many completed downloads may be processed at the same time, for example muxing, encoding, or moving. This option is shown when early start is enabled.
  • Play completion sound: Plays a selected audio file when all downloads have finished.
  • Execute on completion: Runs a selected file when all downloads have finished.

Notifications

Settings_G_Notifications.png

Notifications allow Crunchy Downloader to react to queue or app events by playing a sound, executing a file, or sending a webhook request.

  • Sound notification: Plays a selected audio file when the full queue finishes processing. Supported file picker filters include mp3, wav, ogg, flac, and aac. You can test and clear the selected file from the settings page.
  • Execute file: Runs a selected file when the full queue finishes processing.
  • Webhook: Sends an HTTP request when selected events occur.
  • Webhook URL: Target URL for the webhook request.
  • Method: HTTP method used for the webhook. If left empty, CRD uses POST.
  • Content type: Content type sent with the webhook. If left empty, CRD uses application/json.
  • Headers: Optional headers, one per line, in the format Name: Value.
  • Body template: Optional custom request body template. Leave it empty to send the default JSON payload.

Webhook Events

Webhook notifications can be enabled independently for these events:

  • Queue finished: Sent when all queued downloads have finished processing.
  • Download finished: Sent when a single queued item has finished processing.
  • Download failed: Sent when a queued item fails.
  • Tracked series episode released: Sent when CRD's tracked-series release check finds an episode from the Crunchyroll release feed that belongs to a series already present in History.
  • Login expired: Sent when the saved Crunchyroll user session can no longer be refreshed and manual login is required.
  • Update available: Sent when CRD detects a newer application version.

Tracked Series Episode Released

This event is intentionally not based on "all missing history episodes".

It uses Crunchyroll's new-release feed and only notifies when all of these are true:

  • the series is already present in History
  • the episode appears in the current release feed window
  • the release timestamp falls within the tracked notification scan window
  • the episode has not already been notified before

Default Webhook Payload

If Body template is left empty, CRD sends JSON in this shape:

{
  "eventType": "DownloadFinished",
  "title": "Download finished",
  "message": "Finished processing Example Series.",
  "timestampUtc": "2026-05-14T18:30:00.0000000+00:00",
  "metadata": {
    "seriesTitle": "Example Series",
    "seriesId": "G6ABC1234",
    "seasonTitle": "Season 1",
    "seasonId": "G6ABCSEASON1",
    "seasonNumber": "1",
    "episodeTitle": "Episode Title",
    "episodeId": "G6ABCEP001",
    "episodeNumber": "1"
  }
}

Body Templates

If Body template is set, CRD does not send the default JSON body. Instead it replaces placeholders inside the template.

Supported placeholder sources:

  • top-level notification fields:
    • {{eventType}}
    • {{title}}
    • {{message}}
    • {{timestampUtc}}
  • every key in metadata

Example:

{
  "content": "{{eventType}}: {{seriesTitle}} - {{episodeTitle}}"
}

Missing or not-applicable metadata values are replaced with empty strings.

Common Metadata Fields

These fields are commonly useful across multiple events. Some may be empty depending on the event.

  • seriesTitle
  • seriesId
  • seasonId
  • seasonNumber
  • episodeTitle
  • episodeId
  • episodeNumber
  • description
  • episodeUrl
  • imageUrl

Download Event Metadata

DownloadFinished and DownloadFailed can include these fields:

  • seriesTitle
  • seriesId
  • seasonTitle
  • seasonId
  • seasonNumber
  • episodeTitle
  • episodeId
  • episodeNumber
  • description
  • episodeUrl
  • imageUrl
  • imageUrlLarge
  • downloadPath
  • downloadSubs
  • downloadDubs
  • hardsub
  • error

Queue Finished Metadata

QueueFinished currently sends an empty metadata object.

Tracked Release Metadata

TrackedSeriesEpisodeReleased can include these fields:

  • seriesTitle
  • seriesId
  • seasonId
  • seasonNumber
  • episodeTitle
  • episodeId
  • episodeNumber
  • releaseDate
  • premiumAvailableDate
  • episodeUrl
  • imageUrl
  • description
  • durationMs
  • availableDubs
  • availableSubs

Login Expired Metadata

LoginExpired includes:

  • username
  • endpoint

This event is deduplicated so repeated failed refresh attempts do not continuously spam notifications until a successful login or refresh resets the state.

Update Available Metadata

UpdateAvailable includes:

  • currentVersion
  • latestVersion
  • platform
  • downloadUrl

This event is deduplicated per detected target version.

Testing Webhooks

The simplest way to test webhook delivery is the built-in Send selected test events button in the Notifications settings.

To use it:

  • enable Webhook
  • set the target Webhook URL
  • select one or more webhook event checkboxes
  • click Send selected test events

CRD will send one example payload for each selected event using the current webhook URL, method, headers, content type, and body template.

Sonarr Settings

Settings_Sonarr

Sonarr Settings connect Crunchy Downloader to a Sonarr instance. This allows CRD to match history entries with Sonarr series, use Sonarr numbering, and use Sonarr data for missing episode tracking.

  • Host: Hostname or IP address of the Sonarr server, for example localhost or a server IP.
  • Port: Port number of the Sonarr server. The default Sonarr port is usually 8989.
  • API Key: API key from Sonarr.
  • Use SSL: Uses https:// instead of http:// when connecting to Sonarr.
  • Use Sonarr Numbering: Uses Sonarr's season and episode numbering if it matches the Crunchyroll episode.

Note: This integration does not allow Crunchy Downloader to connect to Sonarr in a way that automatically triggers downloads from Sonarr. Instead, it enables the use of Sonarr's season and episode numbering to improve episode matching. Additionally, you can import your existing Sonarr series into Crunchy Downloader's history for easier tracking. The History section in the settings includes options that apply specifically when a Sonarr server is connected.

Within the History view, you can:

  • Filter series that have missing episodes in your Sonarr library
  • Filter series that are continuing in your Sonarr library
  • Use buttons such as "Download Missing from Sonarr"

Proxy Settings

Settings_Proxy

Proxy Settings allow Crunchy Downloader to route its HTTP requests through a proxy server. This can be useful when using a specific network route, a VPN proxy, a region-specific proxy, or a local debugging proxy.

  • Use Proxy: Enables the custom proxy configuration. If disabled, CRD uses its normal connection behavior.
  • Use Socks5 Proxy: Uses a SOCKS5 proxy instead of an HTTP proxy.
  • Host: Hostname or IP address of the proxy server, for example 127.0.0.1 or proxy.example.com.
  • Port: Port number of the proxy server, for example 7890, 8080, or 1080.
  • Username: Optional username for proxy authentication.
  • Password: Optional password for proxy authentication.

When Use Socks5 Proxy is disabled, CRD creates the proxy URL as:

http://HOST:PORT

When Use Socks5 Proxy is enabled, CRD creates the proxy URL as:

socks5://HOST:PORT

If both username and password are set, CRD sends them as proxy credentials.

Note: After changing proxy settings, restart Crunchy Downloader to make sure all requests use the new proxy configuration.

Flare Solverr Settings

Settings_G_FlareSolverr FlareSolverr settings are used for Cloudflare challenge handling. In CRD, this is mainly used for the Calendar path. A running FlareSolverr instance is required for these options to work.

  • Use Flare Solverr: Enables FlareSolverr support.
  • Host: Hostname or IP address of the FlareSolverr instance. The default is usually localhost.
  • Port: Port number of the FlareSolverr instance. The common default is 8191.
  • Use SSL: Uses https:// instead of http:// when connecting to FlareSolverr.
  • Use Mitm Flare Solverr: Routes FlareSolverr requests through a MITM proxy.
  • Mitm Host: Hostname or IP address of the MITM proxy. This is only shown when MITM FlareSolverr is enabled.
  • Mitm Port: Port number of the MITM proxy. The default is usually 8080.
  • Use SSL for Mitm: Uses SSL for the MITM proxy connection.

The MITM proxy is required for requests that need custom headers to be preserved. Standard FlareSolverr requests are enough for simpler requests, but requests that depend on specific headers should use the MITM proxy path.

For setup details, see the additional guide: FlareSolverr MITM Proxy.

Note: After changing FlareSolverr settings, restart Crunchy Downloader to make sure the new connection settings are used.

General Settings

Settings_G_General General Settings control how Crunchy Downloader behaves in the system tray.

  • Show tray icon: Shows or hides the tray icon.
  • Start minimized to tray: Starts Crunchy Downloader in the tray without opening the main window.
  • Minimize to tray: Hides the window and removes it from the taskbar when the app is minimized.
  • Close to tray: Hides the app in the tray when clicking the window close button instead of exiting.

The tray menu also provides quick actions, including history refresh options and an exit command.

App Appearance

Settings_Appearance

  • App Theme: Change the theme of the application between system, light, and dark modes. The app is primarily developed in dark mode.
  • App Background image: This option allows you to set a custom background image for the application. Additionally, you can adjust the opacity and blur radius of the background image to customize its appearance.
  • App Accent Color: Change the accent color within the application.

Debug

Settings_Debug Debug settings help troubleshoot connection and runtime issues.

  • Log Mode: Enables error logging for troubleshooting issues that do not fully crash the app.
  • IP Check: Displays the public IP address used by the downloader. This is useful to verify whether CRD is using the expected proxy or VPN route.

Note: After enabling a VPN or changing VPN/proxy location, restart Crunchy Downloader before checking Crunchyroll behavior. Otherwise, existing sessions or connections may still reflect the old route.