mirror of
https://github.com/Cleanuparr/Cleanuparr.git
synced 2026-01-15 17:28:26 -05:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6587014e8d | ||
|
|
36a07b251a | ||
|
|
c48eed7f77 | ||
|
|
48f3c3b35b |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -165,3 +165,6 @@ src/.idea/
|
||||
|
||||
# Ignore Jetbrains IntelliJ Workspace Directories
|
||||
.idea/
|
||||
|
||||
**/logs/
|
||||
**/MediaCover/
|
||||
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2024 Flaminel
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -39,11 +39,11 @@ docker run -d \
|
||||
| QBITTORRENT__URL | Yes | qBittorrent instance url | http://localhost:8080 |
|
||||
| QBITTORRENT__USERNAME | Yes | qBittorrent user | empty |
|
||||
| QBITTORRENT__PASSWORD | Yes | qBittorrent password | empty |
|
||||
|
|
||||
|||||
|
||||
| SONARR__ENABLED | No | Whether Sonarr cleanup is enabled or not | true |
|
||||
| SONARR__INSTANCES__0__URL | Yes | First Sonarr instance url | http://localhost:8989 |
|
||||
| SONARR__INSTANCES__0__APIKEY | Yes | First Sonarr instance API key | empty |
|
||||
|
|
||||
|||||
|
||||
| RADARR__ENABLED | No | Whether Radarr cleanup is enabled or not | false |
|
||||
| RADARR__INSTANCES__0__URL | Yes | First Radarr instance url | http://localhost:8989 |
|
||||
| RADARR__INSTANCES__0__APIKEY | Yes | First Radarr instance API key | empty |
|
||||
|
||||
@@ -96,7 +96,7 @@ public sealed class QueueCleanerHandler
|
||||
if (torrent is not { CompletionOn: not null, Downloaded: null or 0 })
|
||||
{
|
||||
_logger.LogInformation("skip | {torrent}", record.Title);
|
||||
return;
|
||||
continue;
|
||||
}
|
||||
|
||||
itemsToBeRefreshed.Add(GetRecordId(instanceType, record));
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<key id="73140dfd-12c2-49d9-93d6-94dd1f0bc538" version="1">
|
||||
<creationDate>2024-11-12T08:27:40.5991235Z</creationDate>
|
||||
<activationDate>2024-11-12T08:27:40.5870855Z</activationDate>
|
||||
<expirationDate>2025-02-10T08:27:40.5870855Z</expirationDate>
|
||||
<descriptor deserializerType="Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60">
|
||||
<descriptor>
|
||||
<encryption algorithm="AES_256_CBC" />
|
||||
<validation algorithm="HMACSHA256" />
|
||||
<masterKey p4:requiresEncryption="true" xmlns:p4="http://schemas.asp.net/2015/03/dataProtection">
|
||||
<!-- Warning: the key below is in an unencrypted form. -->
|
||||
<value>FJN9+ak89dkr+ZPZD/LymeCCwH/UI3kNdaMqxSnY6G8bui1yNjGtLpQQOJJlTOAdAyZvHUyPUvv99F70uZF7qg==</value>
|
||||
</masterKey>
|
||||
</descriptor>
|
||||
</descriptor>
|
||||
</key>
|
||||
BIN
code/test/data/lidarr/config/lidarr.db
Normal file
BIN
code/test/data/lidarr/config/lidarr.db
Normal file
Binary file not shown.
1
code/test/data/lidarr/config/lidarr.pid
Normal file
1
code/test/data/lidarr/config/lidarr.pid
Normal file
@@ -0,0 +1 @@
|
||||
146
|
||||
BIN
code/test/data/lidarr/config/logs.db
Normal file
BIN
code/test/data/lidarr/config/logs.db
Normal file
Binary file not shown.
BIN
code/test/data/lidarr/config/logs.db-shm
Normal file
BIN
code/test/data/lidarr/config/logs.db-shm
Normal file
Binary file not shown.
BIN
code/test/data/lidarr/config/logs.db-wal
Normal file
BIN
code/test/data/lidarr/config/logs.db-wal
Normal file
Binary file not shown.
1
code/test/data/nginx/radarr_bad.torrent
Normal file
1
code/test/data/nginx/radarr_bad.torrent
Normal file
@@ -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:<3A>J<EFBFBD><4A>̱<EFBFBD><CCB1>Lsӑ釘/<2F><>ee
|
||||
25
code/test/data/nginx/radarr_bad.xml
Normal file
25
code/test/data/nginx/radarr_bad.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<rss version="2.0">
|
||||
<channel>
|
||||
<title>Test feed</title>
|
||||
<link>http://nginx/custom/radarr_bad.xml</link>
|
||||
<description>
|
||||
Test
|
||||
</description>
|
||||
<language>en-CA</language>
|
||||
<copyright> Test </copyright>
|
||||
<pubDate>Tue, 5 Nov 2024 22:02:13 -0400</pubDate>
|
||||
<lastBuildDate>Tue, 5 Nov 2024 22:02:13 -0400</lastBuildDate>
|
||||
<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
|
||||
<ttl>30</ttl>
|
||||
<item>
|
||||
<title>Speak.No.Evil.2024.2160p.MA.WEB-DL.DDP5.1.Atmos.H.265-HHWEB</title>
|
||||
<description>Test</description>
|
||||
<size>4138858110</size>
|
||||
<link>http://nginx/custom/radarr_bad.torrent</link>
|
||||
<guid isPermaLink="false">
|
||||
174674a88c8947f6f9057ac3f81efde384ed216cade43564ec450f2cb4677554
|
||||
</guid>
|
||||
<pubDate>Sat, 24 Sep 2022 22:02:13 -0300</pubDate>
|
||||
</item>
|
||||
</channel>
|
||||
</rss>
|
||||
1
code/test/data/nginx/sonarr_bad.torrent
Normal file
1
code/test/data/nginx/sonarr_bad.torrent
Normal file
@@ -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<>"<22>nvº<76><C2BA><EFBFBD><EFBFBD><13><><EFBFBD><7F>ee
|
||||
25
code/test/data/nginx/sonarr_bad.xml
Normal file
25
code/test/data/nginx/sonarr_bad.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<rss version="2.0">
|
||||
<channel>
|
||||
<title>Test feed</title>
|
||||
<link>http://nginx/custom/sonarr_bad.xml</link>
|
||||
<description>
|
||||
Test
|
||||
</description>
|
||||
<language>en-CA</language>
|
||||
<copyright> Test </copyright>
|
||||
<pubDate>Tue, 5 Nov 2024 22:02:13 -0400</pubDate>
|
||||
<lastBuildDate>Tue, 5 Nov 2024 22:02:13 -0400</lastBuildDate>
|
||||
<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
|
||||
<ttl>30</ttl>
|
||||
<item>
|
||||
<title>Agatha.All.Along.S01E01.Seekest.Thou.the.Road.2160p.APPS.WEB-DL.DDP5.1.Atmos.H.265-VARYG</title>
|
||||
<description>Test</description>
|
||||
<size>4138858110</size>
|
||||
<link>http://nginx/custom/sonarr_bad.torrent</link>
|
||||
<guid isPermaLink="false">
|
||||
174674a88c8947f6f9057ac3f81efde384ed216cade43564ec450f2cb4677554
|
||||
</guid>
|
||||
<pubDate>Sat, 24 Sep 2022 22:02:13 -0300</pubDate>
|
||||
</item>
|
||||
</channel>
|
||||
</rss>
|
||||
28
code/test/data/qbittorrent-bad/config/.bash_history
Normal file
28
code/test/data/qbittorrent-bad/config/.bash_history
Normal file
@@ -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
|
||||
Binary file not shown.
@@ -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<>"<22>nvº<76><C2BA><EFBFBD><EFBFBD><13><><EFBFBD><7F>ee
|
||||
Binary file not shown.
@@ -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:<3A>J<EFBFBD><4A>̱<EFBFBD><CCB1>Lsӑ釘/<2F><>ee
|
||||
@@ -0,0 +1 @@
|
||||
c132c8bf59f25af11cf00c08ab61476fbc72b2c6
|
||||
Binary file not shown.
@@ -0,0 +1,2 @@
|
||||
{
|
||||
}
|
||||
@@ -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?%)
|
||||
@@ -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})"
|
||||
@@ -0,0 +1,2 @@
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
test
|
||||
@@ -0,0 +1 @@
|
||||
test
|
||||
@@ -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:<3A>J<EFBFBD><4A>̱<EFBFBD><CCB1>Lsӑ釘/<2F><>ee
|
||||
@@ -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<>"<22>nvº<76><C2BA><EFBFBD><EFBFBD><13><><EFBFBD><7F>ee
|
||||
7
code/test/data/qbittorrent/config/.ash_history
Normal file
7
code/test/data/qbittorrent/config/.ash_history
Normal file
@@ -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
|
||||
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"radarr": {
|
||||
"save_path": ""
|
||||
},
|
||||
"tv-sonarr": {
|
||||
"save_path": ""
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
@@ -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})"
|
||||
@@ -0,0 +1,2 @@
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
92eba3c5-a8d0-44d5-836d-25bc4aa81a85
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<key id="729140b3-0296-4e14-8afa-60275fd797ca" version="1">
|
||||
<creationDate>2024-11-12T08:27:39.8894479Z</creationDate>
|
||||
<activationDate>2024-11-12T08:27:39.879535Z</activationDate>
|
||||
<expirationDate>2025-02-10T08:27:39.879535Z</expirationDate>
|
||||
<descriptor deserializerType="Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60">
|
||||
<descriptor>
|
||||
<encryption algorithm="AES_256_CBC" />
|
||||
<validation algorithm="HMACSHA256" />
|
||||
<masterKey p4:requiresEncryption="true" xmlns:p4="http://schemas.asp.net/2015/03/dataProtection">
|
||||
<!-- Warning: the key below is in an unencrypted form. -->
|
||||
<value>aq0fbIABPzsLl4bnZllVq2NhmsOrjc5zPeiGbBSTc5DMPm8n5C86DzCTPX0HJtZFUgaVoc+3qjFQJ4UB0J31rA==</value>
|
||||
</masterKey>
|
||||
</descriptor>
|
||||
</descriptor>
|
||||
</key>
|
||||
BIN
code/test/data/radarr/config/logs.db
Normal file
BIN
code/test/data/radarr/config/logs.db
Normal file
Binary file not shown.
BIN
code/test/data/radarr/config/logs.db-shm
Normal file
BIN
code/test/data/radarr/config/logs.db-shm
Normal file
Binary file not shown.
BIN
code/test/data/radarr/config/logs.db-wal
Normal file
BIN
code/test/data/radarr/config/logs.db-wal
Normal file
Binary file not shown.
BIN
code/test/data/radarr/config/radarr.db
Normal file
BIN
code/test/data/radarr/config/radarr.db
Normal file
Binary file not shown.
1
code/test/data/radarr/config/radarr.pid
Normal file
1
code/test/data/radarr/config/radarr.pid
Normal file
@@ -0,0 +1 @@
|
||||
145
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<key id="7e009a79-6fb8-4487-a701-c71768df1f34" version="1">
|
||||
<creationDate>2024-11-12T08:29:09.621896Z</creationDate>
|
||||
<activationDate>2024-11-12T08:29:09.6125365Z</activationDate>
|
||||
<expirationDate>2025-02-10T08:29:09.6125365Z</expirationDate>
|
||||
<descriptor deserializerType="Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60">
|
||||
<descriptor>
|
||||
<encryption algorithm="AES_256_CBC" />
|
||||
<validation algorithm="HMACSHA256" />
|
||||
<masterKey p4:requiresEncryption="true" xmlns:p4="http://schemas.asp.net/2015/03/dataProtection">
|
||||
<!-- Warning: the key below is in an unencrypted form. -->
|
||||
<value>4XVtakA4x+z0lkubqw0sO0dANs6WlDqehgdJUaaf0W9u/lIIq404B1HhVEs+fOpiBuyJDBpjbauLC9KlAfj8NA==</value>
|
||||
</masterKey>
|
||||
</descriptor>
|
||||
</descriptor>
|
||||
</key>
|
||||
BIN
code/test/data/readarr/config/cache.db
Normal file
BIN
code/test/data/readarr/config/cache.db
Normal file
Binary file not shown.
BIN
code/test/data/readarr/config/logs.db
Normal file
BIN
code/test/data/readarr/config/logs.db
Normal file
Binary file not shown.
BIN
code/test/data/readarr/config/logs.db-shm
Normal file
BIN
code/test/data/readarr/config/logs.db-shm
Normal file
Binary file not shown.
BIN
code/test/data/readarr/config/logs.db-wal
Normal file
BIN
code/test/data/readarr/config/logs.db-wal
Normal file
Binary file not shown.
BIN
code/test/data/readarr/config/readarr.db
Normal file
BIN
code/test/data/readarr/config/readarr.db
Normal file
Binary file not shown.
1
code/test/data/readarr/config/readarr.pid
Normal file
1
code/test/data/readarr/config/readarr.pid
Normal file
@@ -0,0 +1 @@
|
||||
145
|
||||
@@ -0,0 +1 @@
|
||||
1df9f2cc-17dc-4130-9753-9b694f82f1b5
|
||||
@@ -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"}}}
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<key id="460837be-4d61-409f-95f8-b78f2a65ed81" version="1">
|
||||
<creationDate>2024-11-10T19:27:03.0013963Z</creationDate>
|
||||
<activationDate>2024-11-10T19:27:02.9916656Z</activationDate>
|
||||
<expirationDate>2025-02-08T19:27:02.9916656Z</expirationDate>
|
||||
<descriptor deserializerType="Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60">
|
||||
<descriptor>
|
||||
<encryption algorithm="AES_256_CBC" />
|
||||
<validation algorithm="HMACSHA256" />
|
||||
<masterKey p4:requiresEncryption="true" xmlns:p4="http://schemas.asp.net/2015/03/dataProtection">
|
||||
<!-- Warning: the key below is in an unencrypted form. -->
|
||||
<value>N6KEU+20is+M3ZH+mi+TYVIjTes0zQ8MJHE7npaP3B8FM8jN+5tMp3SKnu6II2jdWybEvBjAvoycoaRDRsDnZQ==</value>
|
||||
</masterKey>
|
||||
</descriptor>
|
||||
</descriptor>
|
||||
</key>
|
||||
BIN
code/test/data/sonarr/config/logs.db
Normal file
BIN
code/test/data/sonarr/config/logs.db
Normal file
Binary file not shown.
BIN
code/test/data/sonarr/config/logs.db-shm
Normal file
BIN
code/test/data/sonarr/config/logs.db-shm
Normal file
Binary file not shown.
BIN
code/test/data/sonarr/config/logs.db-wal
Normal file
BIN
code/test/data/sonarr/config/logs.db-wal
Normal file
Binary file not shown.
BIN
code/test/data/sonarr/config/sonarr.db
Normal file
BIN
code/test/data/sonarr/config/sonarr.db
Normal file
Binary file not shown.
BIN
code/test/data/sonarr/config/sonarr.db-shm
Normal file
BIN
code/test/data/sonarr/config/sonarr.db-shm
Normal file
Binary file not shown.
BIN
code/test/data/sonarr/config/sonarr.db-wal
Normal file
BIN
code/test/data/sonarr/config/sonarr.db-wal
Normal file
Binary file not shown.
1
code/test/data/sonarr/config/sonarr.pid
Normal file
1
code/test/data/sonarr/config/sonarr.pid
Normal file
@@ -0,0 +1 @@
|
||||
145
|
||||
148
code/test/docker-compose.yml
Normal file
148
code/test/docker-compose.yml
Normal file
@@ -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
|
||||
Reference in New Issue
Block a user