diff --git a/.gitignore b/.gitignore index d172095..a2672ab 100644 --- a/.gitignore +++ b/.gitignore @@ -165,3 +165,6 @@ src/.idea/ # Ignore Jetbrains IntelliJ Workspace Directories .idea/ + +**/logs/ +**/MediaCover/ \ No newline at end of file diff --git a/code/test/data/lidarr/config/asp/key-73140dfd-12c2-49d9-93d6-94dd1f0bc538.xml b/code/test/data/lidarr/config/asp/key-73140dfd-12c2-49d9-93d6-94dd1f0bc538.xml new file mode 100644 index 0000000..dee749d --- /dev/null +++ b/code/test/data/lidarr/config/asp/key-73140dfd-12c2-49d9-93d6-94dd1f0bc538.xml @@ -0,0 +1,16 @@ + + + 2024-11-12T08:27:40.5991235Z + 2024-11-12T08:27:40.5870855Z + 2025-02-10T08:27:40.5870855Z + + + + + + + FJN9+ak89dkr+ZPZD/LymeCCwH/UI3kNdaMqxSnY6G8bui1yNjGtLpQQOJJlTOAdAyZvHUyPUvv99F70uZF7qg== + + + + \ No newline at end of file diff --git a/code/test/data/lidarr/config/lidarr.db b/code/test/data/lidarr/config/lidarr.db new file mode 100644 index 0000000..198d8e5 Binary files /dev/null and b/code/test/data/lidarr/config/lidarr.db differ diff --git a/code/test/data/lidarr/config/lidarr.pid b/code/test/data/lidarr/config/lidarr.pid new file mode 100644 index 0000000..bc768da --- /dev/null +++ b/code/test/data/lidarr/config/lidarr.pid @@ -0,0 +1 @@ +146 \ No newline at end of file diff --git a/code/test/data/lidarr/config/logs.db b/code/test/data/lidarr/config/logs.db new file mode 100644 index 0000000..cf4a911 Binary files /dev/null and b/code/test/data/lidarr/config/logs.db differ diff --git a/code/test/data/lidarr/config/logs.db-shm b/code/test/data/lidarr/config/logs.db-shm new file mode 100644 index 0000000..691b815 Binary files /dev/null and b/code/test/data/lidarr/config/logs.db-shm differ diff --git a/code/test/data/lidarr/config/logs.db-wal b/code/test/data/lidarr/config/logs.db-wal new file mode 100644 index 0000000..f7a5c5a Binary files /dev/null and b/code/test/data/lidarr/config/logs.db-wal differ diff --git a/code/test/data/nginx/radarr_bad.torrent b/code/test/data/nginx/radarr_bad.torrent new file mode 100644 index 0000000..5d27c09 --- /dev/null +++ b/code/test/data/nginx/radarr_bad.torrent @@ -0,0 +1 @@ +d8:announce28:http://tracker:6969/announce10:created by26:Enhanced-CTorrent/dnh3.3.213:creation datei1731398141e4:infod6:lengthi4e4:name68:Speak.No.Evil.2024.2160p.MA.WEB-DL.DDP5.1.Atmos.H.265-HHWEB.mkv.zipx12:piece lengthi262144e6:pieces20:J̱Lsӑ釘/ee \ No newline at end of file diff --git a/code/test/data/nginx/radarr_bad.xml b/code/test/data/nginx/radarr_bad.xml new file mode 100644 index 0000000..c484f90 --- /dev/null +++ b/code/test/data/nginx/radarr_bad.xml @@ -0,0 +1,25 @@ + + + Test feed + http://nginx/custom/radarr_bad.xml + + Test + + en-CA + Test + Tue, 5 Nov 2024 22:02:13 -0400 + Tue, 5 Nov 2024 22:02:13 -0400 + https://validator.w3.org/feed/docs/rss2.html + 30 + + Speak.No.Evil.2024.2160p.MA.WEB-DL.DDP5.1.Atmos.H.265-HHWEB + Test + 4138858110 + http://nginx/custom/radarr_bad.torrent + + 174674a88c8947f6f9057ac3f81efde384ed216cade43564ec450f2cb4677554 + + Sat, 24 Sep 2022 22:02:13 -0300 + + + \ No newline at end of file diff --git a/code/test/data/nginx/sonarr_bad.torrent b/code/test/data/nginx/sonarr_bad.torrent new file mode 100644 index 0000000..a8f6a95 --- /dev/null +++ b/code/test/data/nginx/sonarr_bad.torrent @@ -0,0 +1 @@ +d8:announce28:http://tracker:6969/announce10:created by26:Enhanced-CTorrent/dnh3.3.213:creation datei1731357387e4:infod6:lengthi5e4:name93:Agatha.All.Along.S01E01.Seekest.Thou.the.Road.2160p.APPS.WEB-DL.DDP5.1.Atmos.H.265-VARYG.zipx12:piece lengthi262144e6:pieces20:NC"nvºee \ No newline at end of file diff --git a/code/test/data/nginx/sonarr_bad.xml b/code/test/data/nginx/sonarr_bad.xml new file mode 100644 index 0000000..7485927 --- /dev/null +++ b/code/test/data/nginx/sonarr_bad.xml @@ -0,0 +1,25 @@ + + + Test feed + http://nginx/custom/sonarr_bad.xml + + Test + + en-CA + Test + Tue, 5 Nov 2024 22:02:13 -0400 + Tue, 5 Nov 2024 22:02:13 -0400 + https://validator.w3.org/feed/docs/rss2.html + 30 + + Agatha.All.Along.S01E01.Seekest.Thou.the.Road.2160p.APPS.WEB-DL.DDP5.1.Atmos.H.265-VARYG + Test + 4138858110 + http://nginx/custom/sonarr_bad.torrent + + 174674a88c8947f6f9057ac3f81efde384ed216cade43564ec450f2cb4677554 + + Sat, 24 Sep 2022 22:02:13 -0300 + + + \ No newline at end of file diff --git a/code/test/data/qbittorrent-bad/config/.bash_history b/code/test/data/qbittorrent-bad/config/.bash_history new file mode 100644 index 0000000..84e7495 --- /dev/null +++ b/code/test/data/qbittorrent-bad/config/.bash_history @@ -0,0 +1,28 @@ +apt install ctorrent +apt-get +yum +apk +apk search ctorrent +apk add ctorrent +apk update +apk add ctorrent +exit +apt +apk +apk update +apk search ctorrent +apk add ctorrent +apk install apt +apk add ctorrent-dnh +apk search ctorrent +apk search torrent +apk search transmission +apk install transmission-cli +apk add transmission-cli +transmission-create -o bad.torrent -t http://tracker:6969/announce /downloads/Agatha.All.Along.S01E01.Seekest.Thou.the.Road.2160p.APPS.WEB-DL.DDP5.1.Atmos.H.265-VARYG.mkv.zipx +transmission-cli +apk add transmission-create +transmission-create +apk add transmission +transmission-create -o bad.torrent -t http://tracker:6969/announce /downloads/Agatha.All.Along.S01E01.Seekest.Thou.the.Road.2160p.APPS.WEB-DL.DDP5.1.Atmos.H.265-VARYG.mkv.zipx +exit diff --git a/code/test/data/qbittorrent-bad/config/qBittorrent/BT_backup/62a60318cd50e0597689d950627ecd971c33e6a8.fastresume b/code/test/data/qbittorrent-bad/config/qBittorrent/BT_backup/62a60318cd50e0597689d950627ecd971c33e6a8.fastresume new file mode 100644 index 0000000..d043491 Binary files /dev/null and b/code/test/data/qbittorrent-bad/config/qBittorrent/BT_backup/62a60318cd50e0597689d950627ecd971c33e6a8.fastresume differ diff --git a/code/test/data/qbittorrent-bad/config/qBittorrent/BT_backup/62a60318cd50e0597689d950627ecd971c33e6a8.torrent b/code/test/data/qbittorrent-bad/config/qBittorrent/BT_backup/62a60318cd50e0597689d950627ecd971c33e6a8.torrent new file mode 100644 index 0000000..bcd0021 --- /dev/null +++ b/code/test/data/qbittorrent-bad/config/qBittorrent/BT_backup/62a60318cd50e0597689d950627ecd971c33e6a8.torrent @@ -0,0 +1 @@ +d10:created by26:Enhanced-CTorrent/dnh3.3.213:creation datei1731357387e4:infod6:lengthi5e4:name93:Agatha.All.Along.S01E01.Seekest.Thou.the.Road.2160p.APPS.WEB-DL.DDP5.1.Atmos.H.265-VARYG.zipx12:piece lengthi262144e6:pieces20:NC"nvºee \ No newline at end of file diff --git a/code/test/data/qbittorrent-bad/config/qBittorrent/BT_backup/c132c8bf59f25af11cf00c08ab61476fbc72b2c6.fastresume b/code/test/data/qbittorrent-bad/config/qBittorrent/BT_backup/c132c8bf59f25af11cf00c08ab61476fbc72b2c6.fastresume new file mode 100644 index 0000000..7b22a71 Binary files /dev/null and b/code/test/data/qbittorrent-bad/config/qBittorrent/BT_backup/c132c8bf59f25af11cf00c08ab61476fbc72b2c6.fastresume differ diff --git a/code/test/data/qbittorrent-bad/config/qBittorrent/BT_backup/c132c8bf59f25af11cf00c08ab61476fbc72b2c6.torrent b/code/test/data/qbittorrent-bad/config/qBittorrent/BT_backup/c132c8bf59f25af11cf00c08ab61476fbc72b2c6.torrent new file mode 100644 index 0000000..d187333 --- /dev/null +++ b/code/test/data/qbittorrent-bad/config/qBittorrent/BT_backup/c132c8bf59f25af11cf00c08ab61476fbc72b2c6.torrent @@ -0,0 +1 @@ +d10:created by26:Enhanced-CTorrent/dnh3.3.213:creation datei1731398141e4:infod6:lengthi4e4:name68:Speak.No.Evil.2024.2160p.MA.WEB-DL.DDP5.1.Atmos.H.265-HHWEB.mkv.zipx12:piece lengthi262144e6:pieces20:J̱Lsӑ釘/ee \ No newline at end of file diff --git a/code/test/data/qbittorrent-bad/config/qBittorrent/BT_backup/queue b/code/test/data/qbittorrent-bad/config/qBittorrent/BT_backup/queue new file mode 100644 index 0000000..58d02b1 --- /dev/null +++ b/code/test/data/qbittorrent-bad/config/qBittorrent/BT_backup/queue @@ -0,0 +1 @@ +c132c8bf59f25af11cf00c08ab61476fbc72b2c6 diff --git a/code/test/data/qbittorrent-bad/config/qBittorrent/GeoDB/dbip-country-lite.mmdb b/code/test/data/qbittorrent-bad/config/qBittorrent/GeoDB/dbip-country-lite.mmdb new file mode 100644 index 0000000..5e65de0 Binary files /dev/null and b/code/test/data/qbittorrent-bad/config/qBittorrent/GeoDB/dbip-country-lite.mmdb differ diff --git a/code/test/data/qbittorrent-bad/config/qBittorrent/categories.json b/code/test/data/qbittorrent-bad/config/qBittorrent/categories.json new file mode 100644 index 0000000..2c63c08 --- /dev/null +++ b/code/test/data/qbittorrent-bad/config/qBittorrent/categories.json @@ -0,0 +1,2 @@ +{ +} diff --git a/code/test/data/qbittorrent-bad/config/qBittorrent/qBittorrent-data.conf b/code/test/data/qbittorrent-bad/config/qBittorrent/qBittorrent-data.conf new file mode 100644 index 0000000..5f2cb62 --- /dev/null +++ b/code/test/data/qbittorrent-bad/config/qBittorrent/qBittorrent-data.conf @@ -0,0 +1,2 @@ +[Stats] +AllStats=@Variant(\0\0\0\x1c\0\0\0\x2\0\0\0\x12\0\x41\0l\0l\0t\0i\0m\0\x65\0\x44\0L\0\0\0\x4\0\0\0\0\0\x3\xae\x61\0\0\0\x12\0\x41\0l\0l\0t\0i\0m\0\x65\0U\0L\0\0\0\x4\0\0\0\0\0\x5?%) diff --git a/code/test/data/qbittorrent-bad/config/qBittorrent/qBittorrent.conf b/code/test/data/qbittorrent-bad/config/qBittorrent/qBittorrent.conf new file mode 100644 index 0000000..d2c44ba --- /dev/null +++ b/code/test/data/qbittorrent-bad/config/qBittorrent/qBittorrent.conf @@ -0,0 +1,56 @@ +[Application] +FileLogger\Age=1 +FileLogger\AgeType=1 +FileLogger\Backup=true +FileLogger\DeleteOld=true +FileLogger\Enabled=true +FileLogger\MaxSizeBytes=66560 +FileLogger\Path=/config/qBittorrent/logs + +[AutoRun] +enabled=false +program= + +[BitTorrent] +Session\AddTorrentStopped=false +Session\DefaultSavePath=/downloads/ +Session\ExcludedFileNames= +Session\Port=6881 +Session\QueueingSystemEnabled=true +Session\SSL\Port=65325 +Session\ShareLimitAction=Stop +Session\TempPath=/downloads/incomplete/ + +[Core] +AutoDeleteAddedTorrentFile=Never + +[LegalNotice] +Accepted=true + +[Meta] +MigrationVersion=6 + +[Network] +Cookies=@Invalid() +PortForwardingEnabled=false +Proxy\HostnameLookupEnabled=false +Proxy\Profiles\BitTorrent=true +Proxy\Profiles\Misc=true +Proxy\Profiles\RSS=true + +[Preferences] +Connection\PortRangeMin=6881 +Connection\UPnP=false +Downloads\SavePath=/downloads/ +Downloads\TempPath=/downloads/incomplete/ +General\Locale=en +MailNotification\req_auth=true +WebUI\Address=* +WebUI\Password_PBKDF2="@ByteArray(Y5qTn9Ckjd9EGunzNdr3fg==:i+l/UB3dqYrL5SbdbCjPcPUCehLb/w1nXr3oM7PgJI3d3KTISz0rWGS29mURaBC9kfuMrG3WEhR/kM2ykvcn3Q==)" +WebUI\Port=8081 +WebUI\ServerDomains=* +WebUI\Username=test + +[RSS] +AutoDownloader\DownloadRepacks=true +AutoDownloader\SmartEpisodeFilter=s(\\d+)e(\\d+), (\\d+)x(\\d+), "(\\d{4}[.\\-]\\d{1,2}[.\\-]\\d{1,2})", "(\\d{1,2}[.\\-]\\d{1,2}[.\\-]\\d{4})" diff --git a/code/test/data/qbittorrent-bad/config/qBittorrent/rss/feeds.json b/code/test/data/qbittorrent-bad/config/qBittorrent/rss/feeds.json new file mode 100644 index 0000000..2c63c08 --- /dev/null +++ b/code/test/data/qbittorrent-bad/config/qBittorrent/rss/feeds.json @@ -0,0 +1,2 @@ +{ +} diff --git a/code/test/data/qbittorrent-bad/config/qBittorrent/watched_folders.json b/code/test/data/qbittorrent-bad/config/qBittorrent/watched_folders.json new file mode 100644 index 0000000..2c63c08 --- /dev/null +++ b/code/test/data/qbittorrent-bad/config/qBittorrent/watched_folders.json @@ -0,0 +1,2 @@ +{ +} diff --git a/code/test/data/qbittorrent-bad/downloads/Agatha.All.Along.S01E01.Seekest.Thou.the.Road.2160p.APPS.WEB-DL.DDP5.1.Atmos.H.265-VARYG.zipx b/code/test/data/qbittorrent-bad/downloads/Agatha.All.Along.S01E01.Seekest.Thou.the.Road.2160p.APPS.WEB-DL.DDP5.1.Atmos.H.265-VARYG.zipx new file mode 100644 index 0000000..9daeafb --- /dev/null +++ b/code/test/data/qbittorrent-bad/downloads/Agatha.All.Along.S01E01.Seekest.Thou.the.Road.2160p.APPS.WEB-DL.DDP5.1.Atmos.H.265-VARYG.zipx @@ -0,0 +1 @@ +test diff --git a/code/test/data/qbittorrent-bad/downloads/Speak.No.Evil.2024.2160p.MA.WEB-DL.DDP5.1.Atmos.H.265-HHWEB.mkv.zipx b/code/test/data/qbittorrent-bad/downloads/Speak.No.Evil.2024.2160p.MA.WEB-DL.DDP5.1.Atmos.H.265-HHWEB.mkv.zipx new file mode 100644 index 0000000..30d74d2 --- /dev/null +++ b/code/test/data/qbittorrent-bad/downloads/Speak.No.Evil.2024.2160p.MA.WEB-DL.DDP5.1.Atmos.H.265-HHWEB.mkv.zipx @@ -0,0 +1 @@ +test \ No newline at end of file diff --git a/code/test/data/qbittorrent-bad/downloads/radarr_bad.torrent b/code/test/data/qbittorrent-bad/downloads/radarr_bad.torrent new file mode 100644 index 0000000..5d27c09 --- /dev/null +++ b/code/test/data/qbittorrent-bad/downloads/radarr_bad.torrent @@ -0,0 +1 @@ +d8:announce28:http://tracker:6969/announce10:created by26:Enhanced-CTorrent/dnh3.3.213:creation datei1731398141e4:infod6:lengthi4e4:name68:Speak.No.Evil.2024.2160p.MA.WEB-DL.DDP5.1.Atmos.H.265-HHWEB.mkv.zipx12:piece lengthi262144e6:pieces20:J̱Lsӑ釘/ee \ No newline at end of file diff --git a/code/test/data/qbittorrent-bad/downloads/sonarr_bad.torrent b/code/test/data/qbittorrent-bad/downloads/sonarr_bad.torrent new file mode 100644 index 0000000..a8f6a95 --- /dev/null +++ b/code/test/data/qbittorrent-bad/downloads/sonarr_bad.torrent @@ -0,0 +1 @@ +d8:announce28:http://tracker:6969/announce10:created by26:Enhanced-CTorrent/dnh3.3.213:creation datei1731357387e4:infod6:lengthi5e4:name93:Agatha.All.Along.S01E01.Seekest.Thou.the.Road.2160p.APPS.WEB-DL.DDP5.1.Atmos.H.265-VARYG.zipx12:piece lengthi262144e6:pieces20:NC"nvºee \ No newline at end of file diff --git a/code/test/data/qbittorrent/config/.ash_history b/code/test/data/qbittorrent/config/.ash_history new file mode 100644 index 0000000..88f13da --- /dev/null +++ b/code/test/data/qbittorrent/config/.ash_history @@ -0,0 +1,7 @@ +wget http://nginx:8082/bad.torrent +wget http://nginx:80 +wget http://nginx:80/bad.torrent +wget http://nginx:80/bad.rss +wget http://nginx:80/custom/bad.rss +cat bad.rss +exit diff --git a/code/test/data/qbittorrent/config/qBittorrent/BT_backup/queue b/code/test/data/qbittorrent/config/qBittorrent/BT_backup/queue new file mode 100644 index 0000000..e69de29 diff --git a/code/test/data/qbittorrent/config/qBittorrent/GeoDB/dbip-country-lite.mmdb b/code/test/data/qbittorrent/config/qBittorrent/GeoDB/dbip-country-lite.mmdb new file mode 100644 index 0000000..5e65de0 Binary files /dev/null and b/code/test/data/qbittorrent/config/qBittorrent/GeoDB/dbip-country-lite.mmdb differ diff --git a/code/test/data/qbittorrent/config/qBittorrent/categories.json b/code/test/data/qbittorrent/config/qBittorrent/categories.json new file mode 100644 index 0000000..19e2935 --- /dev/null +++ b/code/test/data/qbittorrent/config/qBittorrent/categories.json @@ -0,0 +1,8 @@ +{ + "radarr": { + "save_path": "" + }, + "tv-sonarr": { + "save_path": "" + } +} diff --git a/code/test/data/qbittorrent/config/qBittorrent/qBittorrent-data.conf b/code/test/data/qbittorrent/config/qBittorrent/qBittorrent-data.conf new file mode 100644 index 0000000..9a2e9da --- /dev/null +++ b/code/test/data/qbittorrent/config/qBittorrent/qBittorrent-data.conf @@ -0,0 +1,2 @@ +[Stats] +AllStats=@Variant(\0\0\0\x1c\0\0\0\x2\0\0\0\x12\0\x41\0l\0l\0t\0i\0m\0\x65\0\x44\0L\0\0\0\x4\0\0\0\0\0\x6\xe4\xdd\0\0\0\x12\0\x41\0l\0l\0t\0i\0m\0\x65\0U\0L\0\0\0\x4\0\0\0\0\0\b\xc3\xde) diff --git a/code/test/data/qbittorrent/config/qBittorrent/qBittorrent.conf b/code/test/data/qbittorrent/config/qBittorrent/qBittorrent.conf new file mode 100644 index 0000000..3393d25 --- /dev/null +++ b/code/test/data/qbittorrent/config/qBittorrent/qBittorrent.conf @@ -0,0 +1,56 @@ +[Application] +FileLogger\Age=1 +FileLogger\AgeType=1 +FileLogger\Backup=true +FileLogger\DeleteOld=true +FileLogger\Enabled=true +FileLogger\MaxSizeBytes=66560 +FileLogger\Path=/config/qBittorrent/logs + +[AutoRun] +enabled=false +program= + +[BitTorrent] +ExcludedFileNamesEnabled=true +Session\AddTorrentStopped=false +Session\DefaultSavePath=/downloads/ +Session\ExcludedFileNames=*.apk, *.bat, *.bin, *.bmp, *.cmd, *.com, *.db, *.diz, *.dll, *.dmg, *.etc, *.exe, *.gif, *.htm, *.html, *.ico, *.ini, *.iso, *.jar, *.jpg, *.js, *.link, *.lnk, *.msi, *.nfo, *.perl, *.php, *.pl, *.png, *.ps1, *.psc1, *.psd1, *.psm1, *.py, *.pyd, *.rb, *.readme, *.reg, *.run, *.scr, *.sh, *.sql, *.text, *.thumb, *.torrent, *.txt, *.url, *.vbs, *.wsf, *.xml, *.zipx, *.7z, *.bdjo, *.bdmv, *.bin, *.bmp, *.cci, *.clpi, *.crt, *.dll, *.exe, *.html, *.idx, *.inf, *.jar, *.jpeg, *.jpg, *.lnk, *.m4a, *.mpls, *.msi, *.nfo, *.pdf, *.png, *.rar, *(sample).*, *sample.mkv, *sample.mp4, *.sfv, *.srt, *.sub, *.tbl, Trailer.*, *.txt, *.url, *.xig, *.xml, *.xrt, *.zip, *.zipx, *.Lnk +Session\Port=6881 +Session\QueueingSystemEnabled=true +Session\SSL\Port=15561 +Session\ShareLimitAction=Stop +Session\TempPath=/downloads/incomplete/ + +[Core] +AutoDeleteAddedTorrentFile=Never + +[LegalNotice] +Accepted=true + +[Meta] +MigrationVersion=6 + +[Network] +Cookies=@Invalid() +PortForwardingEnabled=false +Proxy\HostnameLookupEnabled=false +Proxy\Profiles\BitTorrent=true +Proxy\Profiles\Misc=true +Proxy\Profiles\RSS=true + +[Preferences] +Connection\PortRangeMin=6881 +Connection\UPnP=false +Downloads\SavePath=/downloads/ +Downloads\TempPath=/downloads/incomplete/ +General\Locale=en +MailNotification\req_auth=true +WebUI\Address=* +WebUI\Password_PBKDF2="@ByteArray(yhRK9ENcAXgJ5b0HJ1ASwg==:ucqSEDxil3NqJlug8G4PjBXAz37Azo42jx8Vh3RtNkCYEK4RgjRmMeiUaIN9k4Pqxi7D1aBBVFOQ9vQJZMfUIQ==)" +WebUI\ServerDomains=* +WebUI\Username=test + +[RSS] +AutoDownloader\DownloadRepacks=true +AutoDownloader\SmartEpisodeFilter=s(\\d+)e(\\d+), (\\d+)x(\\d+), "(\\d{4}[.\\-]\\d{1,2}[.\\-]\\d{1,2})", "(\\d{1,2}[.\\-]\\d{1,2}[.\\-]\\d{4})" diff --git a/code/test/data/qbittorrent/config/qBittorrent/rss/feeds.json b/code/test/data/qbittorrent/config/qBittorrent/rss/feeds.json new file mode 100644 index 0000000..2c63c08 --- /dev/null +++ b/code/test/data/qbittorrent/config/qBittorrent/rss/feeds.json @@ -0,0 +1,2 @@ +{ +} diff --git a/code/test/data/qbittorrent/config/qBittorrent/watched_folders.json b/code/test/data/qbittorrent/config/qBittorrent/watched_folders.json new file mode 100644 index 0000000..2c63c08 --- /dev/null +++ b/code/test/data/qbittorrent/config/qBittorrent/watched_folders.json @@ -0,0 +1,2 @@ +{ +} diff --git a/code/test/data/radarr/config/Sentry/E052B02F117E6BB423BE301CDA607148F4B3F8F6/.installation b/code/test/data/radarr/config/Sentry/E052B02F117E6BB423BE301CDA607148F4B3F8F6/.installation new file mode 100644 index 0000000..65b5fcb --- /dev/null +++ b/code/test/data/radarr/config/Sentry/E052B02F117E6BB423BE301CDA607148F4B3F8F6/.installation @@ -0,0 +1 @@ +92eba3c5-a8d0-44d5-836d-25bc4aa81a85 \ No newline at end of file diff --git a/code/test/data/radarr/config/asp/key-729140b3-0296-4e14-8afa-60275fd797ca.xml b/code/test/data/radarr/config/asp/key-729140b3-0296-4e14-8afa-60275fd797ca.xml new file mode 100644 index 0000000..627eafa --- /dev/null +++ b/code/test/data/radarr/config/asp/key-729140b3-0296-4e14-8afa-60275fd797ca.xml @@ -0,0 +1,16 @@ + + + 2024-11-12T08:27:39.8894479Z + 2024-11-12T08:27:39.879535Z + 2025-02-10T08:27:39.879535Z + + + + + + + aq0fbIABPzsLl4bnZllVq2NhmsOrjc5zPeiGbBSTc5DMPm8n5C86DzCTPX0HJtZFUgaVoc+3qjFQJ4UB0J31rA== + + + + \ No newline at end of file diff --git a/code/test/data/radarr/config/logs.db b/code/test/data/radarr/config/logs.db new file mode 100644 index 0000000..4295d29 Binary files /dev/null and b/code/test/data/radarr/config/logs.db differ diff --git a/code/test/data/radarr/config/logs.db-shm b/code/test/data/radarr/config/logs.db-shm new file mode 100644 index 0000000..572e6c9 Binary files /dev/null and b/code/test/data/radarr/config/logs.db-shm differ diff --git a/code/test/data/radarr/config/logs.db-wal b/code/test/data/radarr/config/logs.db-wal new file mode 100644 index 0000000..3c247e0 Binary files /dev/null and b/code/test/data/radarr/config/logs.db-wal differ diff --git a/code/test/data/radarr/config/radarr.db b/code/test/data/radarr/config/radarr.db new file mode 100644 index 0000000..9f94391 Binary files /dev/null and b/code/test/data/radarr/config/radarr.db differ diff --git a/code/test/data/radarr/config/radarr.pid b/code/test/data/radarr/config/radarr.pid new file mode 100644 index 0000000..aca544d --- /dev/null +++ b/code/test/data/radarr/config/radarr.pid @@ -0,0 +1 @@ +145 \ No newline at end of file diff --git a/code/test/data/readarr/config/asp/key-7e009a79-6fb8-4487-a701-c71768df1f34.xml b/code/test/data/readarr/config/asp/key-7e009a79-6fb8-4487-a701-c71768df1f34.xml new file mode 100644 index 0000000..3a89c0d --- /dev/null +++ b/code/test/data/readarr/config/asp/key-7e009a79-6fb8-4487-a701-c71768df1f34.xml @@ -0,0 +1,16 @@ + + + 2024-11-12T08:29:09.621896Z + 2024-11-12T08:29:09.6125365Z + 2025-02-10T08:29:09.6125365Z + + + + + + + 4XVtakA4x+z0lkubqw0sO0dANs6WlDqehgdJUaaf0W9u/lIIq404B1HhVEs+fOpiBuyJDBpjbauLC9KlAfj8NA== + + + + \ No newline at end of file diff --git a/code/test/data/readarr/config/cache.db b/code/test/data/readarr/config/cache.db new file mode 100644 index 0000000..e055db8 Binary files /dev/null and b/code/test/data/readarr/config/cache.db differ diff --git a/code/test/data/readarr/config/logs.db b/code/test/data/readarr/config/logs.db new file mode 100644 index 0000000..ea25ff0 Binary files /dev/null and b/code/test/data/readarr/config/logs.db differ diff --git a/code/test/data/readarr/config/logs.db-shm b/code/test/data/readarr/config/logs.db-shm new file mode 100644 index 0000000..41cbb47 Binary files /dev/null and b/code/test/data/readarr/config/logs.db-shm differ diff --git a/code/test/data/readarr/config/logs.db-wal b/code/test/data/readarr/config/logs.db-wal new file mode 100644 index 0000000..2360a6a Binary files /dev/null and b/code/test/data/readarr/config/logs.db-wal differ diff --git a/code/test/data/readarr/config/readarr.db b/code/test/data/readarr/config/readarr.db new file mode 100644 index 0000000..45c5b98 Binary files /dev/null and b/code/test/data/readarr/config/readarr.db differ diff --git a/code/test/data/readarr/config/readarr.pid b/code/test/data/readarr/config/readarr.pid new file mode 100644 index 0000000..aca544d --- /dev/null +++ b/code/test/data/readarr/config/readarr.pid @@ -0,0 +1 @@ +145 \ No newline at end of file diff --git a/code/test/data/sonarr/config/Sentry/07ADDC43B5669C4F6DB64F2EF2B23B3FEEDFE865/.installation b/code/test/data/sonarr/config/Sentry/07ADDC43B5669C4F6DB64F2EF2B23B3FEEDFE865/.installation new file mode 100644 index 0000000..5f7b114 --- /dev/null +++ b/code/test/data/sonarr/config/Sentry/07ADDC43B5669C4F6DB64F2EF2B23B3FEEDFE865/.installation @@ -0,0 +1 @@ +1df9f2cc-17dc-4130-9753-9b694f82f1b5 \ No newline at end of file diff --git a/code/test/data/sonarr/config/Sentry/07ADDC43B5669C4F6DB64F2EF2B23B3FEEDFE865/.session b/code/test/data/sonarr/config/Sentry/07ADDC43B5669C4F6DB64F2EF2B23B3FEEDFE865/.session new file mode 100644 index 0000000..d7092f4 --- /dev/null +++ b/code/test/data/sonarr/config/Sentry/07ADDC43B5669C4F6DB64F2EF2B23B3FEEDFE865/.session @@ -0,0 +1 @@ +{"update":{"sid":"e87df0117b134d64b99f5b878e652b49","did":"1df9f2cc-17dc-4130-9753-9b694f82f1b5","init":true,"started":"2024-11-12T08:27:39.2729256+00:00","timestamp":"2024-11-12T08:27:39.2735692+00:00","seq":0,"duration":0,"errors":0,"attrs":{"release":"4.0.10.2544-main","environment":"main"}}} \ No newline at end of file diff --git a/code/test/data/sonarr/config/asp/key-460837be-4d61-409f-95f8-b78f2a65ed81.xml b/code/test/data/sonarr/config/asp/key-460837be-4d61-409f-95f8-b78f2a65ed81.xml new file mode 100644 index 0000000..ad96c2b --- /dev/null +++ b/code/test/data/sonarr/config/asp/key-460837be-4d61-409f-95f8-b78f2a65ed81.xml @@ -0,0 +1,16 @@ + + + 2024-11-10T19:27:03.0013963Z + 2024-11-10T19:27:02.9916656Z + 2025-02-08T19:27:02.9916656Z + + + + + + + N6KEU+20is+M3ZH+mi+TYVIjTes0zQ8MJHE7npaP3B8FM8jN+5tMp3SKnu6II2jdWybEvBjAvoycoaRDRsDnZQ== + + + + \ No newline at end of file diff --git a/code/test/data/sonarr/config/logs.db b/code/test/data/sonarr/config/logs.db new file mode 100644 index 0000000..76bc534 Binary files /dev/null and b/code/test/data/sonarr/config/logs.db differ diff --git a/code/test/data/sonarr/config/logs.db-shm b/code/test/data/sonarr/config/logs.db-shm new file mode 100644 index 0000000..44a7d06 Binary files /dev/null and b/code/test/data/sonarr/config/logs.db-shm differ diff --git a/code/test/data/sonarr/config/logs.db-wal b/code/test/data/sonarr/config/logs.db-wal new file mode 100644 index 0000000..bcdb626 Binary files /dev/null and b/code/test/data/sonarr/config/logs.db-wal differ diff --git a/code/test/data/sonarr/config/sonarr.db b/code/test/data/sonarr/config/sonarr.db new file mode 100644 index 0000000..31e7a08 Binary files /dev/null and b/code/test/data/sonarr/config/sonarr.db differ diff --git a/code/test/data/sonarr/config/sonarr.db-shm b/code/test/data/sonarr/config/sonarr.db-shm new file mode 100644 index 0000000..2a0d5e2 Binary files /dev/null and b/code/test/data/sonarr/config/sonarr.db-shm differ diff --git a/code/test/data/sonarr/config/sonarr.db-wal b/code/test/data/sonarr/config/sonarr.db-wal new file mode 100644 index 0000000..77455da Binary files /dev/null and b/code/test/data/sonarr/config/sonarr.db-wal differ diff --git a/code/test/data/sonarr/config/sonarr.pid b/code/test/data/sonarr/config/sonarr.pid new file mode 100644 index 0000000..aca544d --- /dev/null +++ b/code/test/data/sonarr/config/sonarr.pid @@ -0,0 +1 @@ +145 \ No newline at end of file diff --git a/code/test/docker-compose.yml b/code/test/docker-compose.yml new file mode 100644 index 0000000..e4dfcc3 --- /dev/null +++ b/code/test/docker-compose.yml @@ -0,0 +1,148 @@ + +# user: test +# pass: testing + +# use this to create torrent files +# docker run --rm -it -v $(pwd)/data/qbittorrent-bad/downloads:/downloads --name debian debian:bookworm-slim +# apt update && apt install ctorrent +# ctorrent -t -u "http://tracker:6969/announce" -s example.torrent file_name + +# api keys +# sonarr: 96736c3eb3144936b8f1d62d27be8cee +# radarr: 705b553732ab4167ab23909305d60600 +# lidarr: 4bd467b8702a4ecf94f737922dac6481 +# readarr: 51c053efbea34bad90120d5c2237aa85 + +services: + qbittorrent: + image: lscr.io/linuxserver/qbittorrent:4.6.7-libtorrentv1 + container_name: qbittorrent + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/London + - WEBUI_PORT=8080 + volumes: + - ./data/qbittorrent/config:/config + - ./data/qbittorrent/downloads:/downloads + ports: + - 8080:8080 + - 6881:6881 + - 6881:6881/udp + restart: unless-stopped + + qbittorrent-bad: + image: lscr.io/linuxserver/qbittorrent:4.6.7-libtorrentv1 + container_name: qbittorrent-bad + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/London + - WEBUI_PORT=8081 + volumes: + - ./data/qbittorrent-bad/config:/config + - ./data/qbittorrent-bad/downloads:/downloads + ports: + - 8081:8081 + - 6882:6881 + - 6882:6881/udp + restart: unless-stopped + + tracker: + image: wiltonsr/opentracker:open + container_name: opentracker + ports: + - 6969:6969/tcp + - 6969:6969/udp + restart: unless-stopped + + nginx: + image: nginx:latest + container_name: nginx + volumes: + - ./data/nginx:/usr/share/nginx/html/custom + ports: + - 8082:80 + restart: unless-stopped + + sonarr: + image: lscr.io/linuxserver/sonarr:latest + container_name: sonarr + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/London + volumes: + - ./data/sonarr/config:/config + - ./data/sonarr/tv:/tv + - ./data/qbittorrent/downloads:/downloads + ports: + - 8989:8989 + restart: unless-stopped + + radarr: + image: lscr.io/linuxserver/radarr:latest + container_name: radarr + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/London + volumes: + - ./data/radarr/config:/config + - ./data/radarr/movies:/movies + - ./data/qbittorrent/downloads:/downloads + ports: + - 7878:7878 + restart: unless-stopped + + lidarr: + image: lscr.io/linuxserver/lidarr:latest + container_name: lidarr + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/London + volumes: + - ./data/lidarr/config:/config + - ./data/lidarr/music:/music + - ./data/qbittorrent/downloads:/downloads + ports: + - 8686:8686 + restart: unless-stopped + + readarr: + image: lscr.io/linuxserver/readarr:develop + container_name: readarr + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/London + volumes: + - ./data/readarr/config:/config + - ./data/readarr/books:/books + - ./data/qbittorrent/downloads:/downloads + ports: + - 8787:8787 + restart: unless-stopped + + cleanuperr: + image: flaminel/cleanuperr:1.1.0 + container_name: cleanuperr + environment: + - TRIGGERS__QUEUECLEANER=0/30 * * * * ? + - QBITTORRENT__URL=http://qbittorrent:8080 + - QBITTORRENT__USERNAME=test + - QBITTORRENT__PASSWORD=testing + - SONARR__ENABLED=true + - SONARR__INSTANCES__0__URL=http://sonarr:8989 + - SONARR__INSTANCES__0__APIKEY=96736c3eb3144936b8f1d62d27be8cee + - RADARR__ENABLED=true + - RADARR__INSTANCES__0__URL=http://radarr:7878 + - RADARR__INSTANCES__0__APIKEY=705b553732ab4167ab23909305d60600 + restart: unless-stopped + depends_on: + - qbittorrent + - sonarr + - radarr + - lidarr + - readarr \ No newline at end of file