Skip to content

cralexns/Traktor

Repository files navigation

Traktor

Sync local library with Trakt.tv

Commandline parameters

  • interval=<TimeSpan> (how often should Traktor query trakt for updates)
  • --urls "binding" (Set a URL and port to bind web interface, if absent web interface is disabled.)

appsettings.json (auto generated with default settings on first run)

Name Type Description Default
SynchronizeCollection bool If media is removed from collection on trakt, remove it locally. (Only removes media originally fetched by Traktor) true
ScoutFrequency TimeSpan How often to scout media on indexers. "00:30:00"
MaximumCalendarLookbackDays int The maximum amount of days in the past Traktor is allowed to query the calendar. (Only matters on first run or if script is run very irregularly) 30
IgnoreSpecialSeasons bool Ignore special seasons on shows (0), special episodes are usually categorized as season 0. true
ExcludeUnwatchedShowsFromCalendar bool If you've collected a single episode of a show on trakt, it will appear on your calendar - with this setting enabled shows will be ignored unless you've watched at least one episode. true
EnsureDownloadIntegrity bool ?? false
FetchImages string Fetch posters for movies and episodes for display in the web interface. Possible values: Never, ExcludeCollection, All "ExcludeCollection"
RenameFilePattern Dictionary(string, string) Rename files according to trakt data and the specified format. (Movie and Episode) "Episode": "{ShowTitle} - {Season}x{Number:00} - {Title}"
RemoveWatchedMoviesAfter TimeSpan How long to wait after watching a movie before automatically removing it from library. (Disabled if null) null
RemoveWatchedSeasonsAfter TimeSpan How long to wait after watching a full season before automatically removing it from library. (Disabled if null) null
RemoveWatchedEpisodesAfter TimeSpan How long to wait after watching an episode before automatically removing it from library. (Disabled if null) null
Configuration section for the built-in torrent client (MonoTorrent)
Download.Path string Relative or full path to download location. "Downloads"
Download.Port int Port used primarily for DHT connectivity? 3333
Download.MaximumDownloadSpeedKb int Maximum download speed in Kilobytes. 5120
Download.MaximumUploadSpeedKb int Maximum upload speed in Kilobytes. 100
Download.MaxConcurrent int Maximum concurrent downloads. 3
Configuration section for filehandling, what to do with files after they're downloaded.
File.MediaDestinations Dictionary(string, string) List of locations to relocate media types. (Movie and Episode) "Episode": "Episodes",
"Movie": "Movies"
File.CleanUpSource bool Delete any leftover files and folders in the download location after moving media. true
File.IncludeSubs bool In addition to media, also move any .sub files. true
File.MediaTypes string[] File types to consider as media files and move to MediaDestinations "mkv",
"mp4",
"mpeg",
"avi",
"wmv",
"rm",
"divx",
"webm"

Configuration section for scouting media on indexers.

Scout.Requirements is a list of requirement objects detailing how to search for torrents and what parameters they must meet to be accepted as valid sources.

Scout.Requirements[].MediaType string What type of media this requirement is for. (Movie/Episode) "Episode"/"Movie"
Scout.Requirements[].ReleaseDateDeadlineTime TimeSpan On release day, never wait longer than this time of the day, overrules patience setting but only on release date. null/null
Scout.Requirements[].Delay TimeSpan Minimum time to wait from release before delivering candidates. null/"1.00:00:00"
Scout.Requirements[].Timeout TimeSpan Maximum time to wait from release for suitable candidates before abandoning item. "7.00:00:00"/null
Scout.Requirements[].NoResultThrottle TimeSpan Time to wait before scouting media again after finding no results. null/"1.00:00:00"
Scout.Requirements[].Parameters Array

Parameters torrent must met

LUL

Parameter objects

Name Type Description
Category string
  • Resolution
  • Audio
  • Source
  • Tag
  • Group
  • SizeMb
  • FreeText
  • Peers
Comparison string
  • Equal
  • NotEqual
  • Minimum
  • Maximum
Definition string[]

If Category is Resolution

  • HD_720p
  • FHD_1080p
  • UHD_2160p

If Category is Audio/Source/Tag

  • AAC
  • DTS
  • DTS_HD
  • DTS_HD_MA
  • AC7_1
  • AC5_1
  • Atmos
  • WEB_DL
  • BluRay
  • PROPER
  • REPACK

If Category is Group/FreeText then name of a release group or whatever you want to be in the name of the torrent.

If Category is SizeMb then a size in megabytes.

If Category is Peers then specify a number of peers, Seeders/Leechers can be targeted specifically by appending S or L to the number.

Patience TimeSpan How long the scouter will wait for a source that meets this parameter, set to "00:00:00" to make it a preference only or null to make it a hard requirement.
Weight int Set how heavy this parameter should be weighted when comparing potential sources.

StartTraktorWithVPN.bat

cls
rasdial|find /I "ExpressVPN"

if %errorlevel% neq 0 (rasdial "<VPN name>" <user> <pass>) if %errorlevel% neq 0 (rasdial "<VPN name (secondary)>" <user> <pass>) Traktor.exe loglevel=Debug --urls "http://*:5000" --environment "Development" if %errorlevel% neq 0 exit /b %errorlevel%