// If you find yourself always using the same command-line flag, you can set it // here as a default. For a complete guide on configuration, please visit: // https://www.cross-seed.org module.exports = { /** * WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! * * THE NEXT 8 OPTIONS CONTAIN POTENTIALLY SENSITIVE INFORMATION * THERE IS A NOTE WHERE YOU WILL WANT TO START COPYING FROM * IF YOU ARE TRYING TO SHARE YOUR CONFIGURATION SETTINGS! * * WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! **/ /** * Provide your own API key here to override the autogenerated one. * Not recommended - prefer using the autogenerated API key via * `cross-seed api-key`. * Must be 24+ characters. */ apiKey: undefined, /** * List of Torznab URLs. * For Jackett, click "Copy RSS feed". * For Prowlarr, click on the indexer name and copy the Torznab Url, then * append "?apikey=YOUR_PROWLARR_API_KEY". Wrap each URL in quotation marks * and separate them with commas, and surround the entire set in brackets. * https://www.cross-seed.org/docs/basics/getting-started#3-edit-the-config-file */ torznab: [], /** * URL(s) to your Sonarr instance(s). For benefits and usage, please read: * https://www.cross-seed.org/docs/tutorials/id-searching * * You should order these in most likely to match -> the least likely order. * They are searched sequentially as they are listed. */ sonarr: [], /** * URL(s) to your Radarr instance(s). For benefits and usage, please read: * https://www.cross-seed.org/docs/tutorials/id-searching * * You should order these in most likely to match -> the least likely order. * They are searched sequentially as they are listed. */ radarr: [], /** * Bind to a specific host address. Do not change without a good reason. * Example: "127.0.0.1" * Default is "0.0.0.0" */ host: "0.0.0.0", /** * The port you wish to listen on for daemon mode. */ port: 2468, /** * cross-seed will send caronc/apprise POST requests to these urls * with a JSON payload of: * https://www.cross-seed.org/docs/basics/options#notificationwebhookurls */ notificationWebhookUrls: [], /** * The urls of your torrent clients' web interfaces prefixed by their type. * You may need to urlencode your username and password if they contain special characters: * https://www.cross-seed.org/docs/basics/faq-troubleshooting#can-i-use-special-characters-in-my-urls * * torrentClients: ["qbittorrent:http://username:password@localhost:8080"] * If using Automatic Torrent Management, please read: * https://www.cross-seed.org/docs/v6-migration#new-folder-structure-for-links * * torrentClients: ["rtorrent:http://username:password@localhost:1234/RPC2"] * * torrentClients: ["transmission:http://username:password@localhost:9091/transmission/rpc"] * * torrentClients: ["deluge:http://:password@localhost:8112/json"] * Deluge with Docker can have a desyncing issue with the WebUI daemon after prolonged uptime * with useClientTorrents, if you notice strange behavior you may need to use torrentDir instead. * * You can optionally add readonly: after the prefix to use a client as a * source for finding cross seeds but not for injecting. * e.g. "qbittorrent:readonly:http://username:password@localhost:8080" * https://www.cross-seed.org/docs/basics/options#torrentclients */ torrentClients: [], /** * END OF POTENTIALLY SENSITIVE CONFIGURATION OPTIONS */ /** * Use the torrents already in your torrent client to find matches. * This is the preferred method of cross-seeding, only set to false * if you want to EXCLUSIVELY use dataDirs. * * Deluge with Docker can have a desyncing issue with the WebUI daemon after prolonged uptime * with useClientTorrents, if you notice strange behavior you may need to use torrentDir instead. */ useClientTorrents: true, /** * Pause at least this many seconds in between each search. Higher is safer * for you and friendlier for trackers. * Minimum value of 30. */ delay: 30, /** * Find matches based on the data in these directories, this may not be * necessary for your setup. * * PLEASE READ THE FOLLOWING DOCUMENTATION BEFORE SETTING THIS UP: * https://www.cross-seed.org/docs/tutorials/data-based-matching */ dataDirs: [], /** * Defines what qBittorrent or Deluge category to set on linked torrents * * qBittorrent: If you have linking enabled, all torrents will be injected * to this category. * * Default is "cross-seed-link". */ linkCategory: "cross-seed-link", /** * cross-seed will create links to matched files in the specified directories. * This is necessary for the best cross seeding experience. * * PLEASE READ THE FOLLOWING DOCUMENTATION BEFORE SETTING THIS UP: * https://www.cross-seed.org/docs/tutorials/linking */ linkDirs: [], /** * cross-seed will use links of this type to inject matches into your client. * Options: "symlink", "hardlink", "reflink". * * https://www.cross-seed.org/docs/tutorials/linking#hardlinks-vs-symlinks-vs-reflinks */ linkType: "hardlink", /** * Enabling this will link files using v5's flat folder style, not recommended. * * Each individual Torznab tracker's cross-seeds, otherwise, will have its * own folder with the tracker's name and it's links within it. * * If using Automatic Torrent Management in qBittorrent, please read: * https://www.cross-seed.org/docs/v6-migration#new-folder-structure-for-links * * Default: false. */ flatLinking: false, /** * Determines flexibility of the matching algorithm, all options are equally safe. * Using "partial" is recommended as it will match all possible cross seeds. * Options: "strict", "flexible", "partial". * * "strict" requires all file names to match exactly (required if not linking). * * "flexible" allows for file renames or inconsistencies. * * "partial" is like "flexible" but allows matches even if they are missing small * files like .nfo/.srt. * * We recommend reading the following entries: * https://www.cross-seed.org/docs/tutorials/partial-matching * https://www.cross-seed.org/docs/basics/faq-troubleshooting#my-partial-matches-from-related-searches-are-missing-the-same-data-how-can-i-only-download-it-once */ matchMode: "flexible", /** * Skip rechecking on injection if unnecessary. Certain matches, such as partial, * will always be rechecked. Set to false to recheck all torrents before resuming. */ skipRecheck: true, /** * The maximum size in bytes remaining for a torrent to be resumed. * Must be in the range of 0 to 52428800 (50 MiB). * https://www.cross-seed.org/docs/basics/faq-troubleshooting#my-partial-matches-from-related-searches-are-missing-the-same-data-how-can-i-only-download-it-once */ autoResumeMaxDownload: 52428800, /** * If set to `true` and the amount remaining is above autoResumeMaxDownload, * resume if accumulated size of the missing files is less than the * accumulated size of the known-irrelevant files such as nfo, sample, txt, * subs, proofs, and bonus/commentary files present in the torrent. * https://www.cross-seed.org/docs/basics/faq-troubleshooting#my-partial-matches-from-related-searches-are-missing-the-same-data-how-can-i-only-download-it-once */ ignoreNonRelevantFilesToResume: false, /** * Determines how deep into the specified dataDirs to go to generate new * searchees. * * PLEASE READ THE FOLLOWING DOCUMENTATION BEFORE CHANGING THIS VALUE: * https://www.cross-seed.org/docs/tutorials/data-based-matching#setting-up-data-based-matching */ maxDataDepth: 2, /** * Directory containing your client's internal .torrent files. * This is unnecessary with useClientTorrents. * * PLEASE READ THE FOLLOWING DOCUMENTATION BEFORE SETTING THIS UP: * https://www.cross-seed.org/docs/basics/options#torrentdir */ torrentDir: null, /** * With action: "inject", cross-seed will use this directory to retry * injections. This directory will be empty nearly all the time. * https://www.cross-seed.org/docs/v6-migration#failed-injection-saved-retry * If you are using action: "save", this will be the directory where the * .torrent files are saved. * * DO NOT USE THIS DIRECTORY AS A WATCH FOLDER FOR YOUR TORRENT CLIENT * * You do not need to change this from null. It will map into your cross-seed * config directory: https://www.cross-seed.org/docs/basics/options#outputdir */ outputDir: null, /** * Whether to include single episode torrents in search/webhook/rss. * * This setting does not affect matching episodes from announce. Read more about usage: * https://www.cross-seed.org/docs/v6-migration#updated-includesingleepisodes-behavior */ includeSingleEpisodes: false, /** * Include torrents/data that are mainly comprised of non-video files. * * If this option is set to false, any folders or torrents whose * totalNonVideoFilesSize / totalSize > fuzzySizeThreshold * will be excluded. * * For example, if you have .srt or .nfo files inside a torrent, using * false will still allow the torrent to be considered for cross-seeding * while disallowing torrents that are music, games, books, etc. * For full disc based folders (not .ISO) you may wish to set this as true. */ includeNonVideos: false, /** * Match season packs from the individual episodes you already have. * https://www.cross-seed.org/docs/basics/faq-troubleshooting#my-partial-matches-from-related-searches-are-missing-the-same-data-how-can-i-only-download-it-once * * null - disabled (required if not linking) * 1 - must have all episodes (values below 1 requires matchMode: "partial") * 0.8 - must have at least 80% of the episodes */ seasonFromEpisodes: 1, /** * You should NOT modify this unless you have good reason. * The following option is the preliminary value to compare sizes of * releases for further comparison. * * decimal value (0.02 = 2%) */ fuzzySizeThreshold: 0.02, /** * Time based options below use the following format: * https://github.com/vercel/ms */ /** * Exclude torrents or data first seen by cross-seed more than this long ago. * Examples: * "2 weeks" - if you want to search multiple times quickly * "450 days" - if you rather spread out the searches over a long period * * This value must be in the range of 2-5 times your excludeRecentSearch */ excludeOlder: "2 weeks", /** * Exclude torrents or data which has been searched more recently than this * long ago. Previously failed searches ignore this value per tracker. * * Examples: * "3 days" - if you want to search multiple times quickly * "90 days" - if you rather spread out the searches over a long period * * This value must be 2-5x less than excludeOlder. */ excludeRecentSearch: "3 days", /** * Which action to take upon a match being found. * Options: "save", "inject". * * https://www.cross-seed.org/docs/tutorials/injection */ action: "inject", /** * qBittorrent and Deluge specific. * Whether to inject using the same labels/categories as the original * torrent. * * qBittorrent (linking): The category will always be linkCategory. * If set to true, a tag of category.cross-seed will be added. * * Example (Non-Linking): if you have an original label/category called * "Movies", this will automatically inject cross-seeds to * "Movies.cross-seed". */ duplicateCategories: false, /** * Run rss scans on a schedule. Set to undefined or null to disable. * Minimum of 10 minutes. * * Examples: * "30 minutes" * "1 hour" * * To cross seed new releases as soon as they are uploaded, use announce: * https://www.cross-seed.org/docs/tutorials/announce */ rssCadence: "30 minutes", /** * Run searches on a schedule. Set to undefined or null to disable. * Minimum of 1 day. * * Examples: * "1 day" - there is not much value in setting this above "1 day" * * This value must be at least 3x less than your excludeRecentSearch. * To trigger a search on download completion, use webhook: * https://www.cross-seed.org/docs/tutorials/triggering-searches */ searchCadence: "1 day", /** * Fail snatch requests that haven't responded after this long. * Set to null for an infinite timeout. * * Examples: * "30 seconds" * null */ snatchTimeout: "30 seconds", /** * Fail search requests that haven't responded after this long. * Set to null for an infinite timeout. * * Examples: * "2 minutes" * null */ searchTimeout: "2 minutes", /** * The number of searches (unique queries) to make in one run/batch per indexer. * If more than this many searches are queued, * "searchCadence" will determine how long until the next batch. * * Combine this with "excludeRecentSearch" and "searchCadence" to smooth * long-term API usage patterns. * * Set to null for no limit. */ searchLimit: 400, /** * Ignore torrents or data containing these properties: * https://www.cross-seed.org/docs/basics/options#blocklist */ blockList: [], };