Fix empty torrents (#11)

* fixed unwanted deletion of torrents in downloading metadata state

* refactored jobs code

* updated arr test data

* updated gitignore

* updated test configuration and removed dispensable files
This commit is contained in:
Marius Nechifor
2024-11-24 01:01:20 +02:00
committed by GitHub
parent 54cabd98b4
commit 3e0913b437
44 changed files with 208 additions and 1401 deletions
+4 -1
View File
@@ -168,4 +168,7 @@ src/.idea/
**/logs/
**/MediaCover/
**/archive/
**/archive/
**/Backups/
*.fastresume
*.bak
@@ -5,7 +5,7 @@ namespace Domain.Models.Deluge.Response;
public sealed record DelugeContents
{
[JsonPropertyName("contents")]
public Dictionary<string, DelugeFileOrDirectory> Contents { get; set; }
public Dictionary<string, DelugeFileOrDirectory>? Contents { get; set; }
[JsonPropertyName("type")]
public string Type { get; set; } // Always "dir" for the root
@@ -51,15 +51,15 @@ public static class QuartzDI
return;
}
q.AddJob<QueueCleanerJob>(opts =>
q.AddJob<GenericJob<QueueCleaner>>(opts =>
{
opts.WithIdentity(nameof(QueueCleanerJob));
opts.WithIdentity(nameof(QueueCleaner));
});
q.AddTrigger(opts =>
{
opts.ForJob(nameof(QueueCleanerJob))
.WithIdentity($"{nameof(QueueCleanerJob)}-trigger")
opts.ForJob(nameof(QueueCleaner))
.WithIdentity($"{nameof(QueueCleaner)}-trigger")
.WithCronSchedule(trigger, x =>x.WithMisfireHandlingInstructionDoNothing());
});
}
@@ -84,15 +84,15 @@ public static class QuartzDI
return;
}
q.AddJob<ContentBlockerJob>(opts =>
q.AddJob<GenericJob<ContentBlocker>>(opts =>
{
opts.WithIdentity(nameof(ContentBlockerJob));
opts.WithIdentity(nameof(ContentBlocker));
});
q.AddTrigger(opts =>
{
opts.ForJob(nameof(ContentBlockerJob))
.WithIdentity($"{nameof(ContentBlockerJob)}-trigger")
opts.ForJob(nameof(ContentBlocker))
.WithIdentity($"{nameof(ContentBlocker)}-trigger")
.WithCronSchedule(trigger, x =>x.WithMisfireHandlingInstructionDoNothing());
});
}
@@ -15,8 +15,6 @@ public static class ServicesDI
services
.AddTransient<SonarrClient>()
.AddTransient<RadarrClient>()
.AddTransient<QueueCleanerJob>()
.AddTransient<ContentBlockerJob>()
.AddTransient<QueueCleaner>()
.AddTransient<ContentBlocker>()
.AddTransient<FilenameEvaluator>()
-32
View File
@@ -1,32 +0,0 @@
using Infrastructure.Verticals.ContentBlocker;
using Quartz;
namespace Executable.Jobs;
[DisallowConcurrentExecution]
public sealed class ContentBlockerJob : IJob
{
private readonly ILogger<QueueCleanerJob> _logger;
private readonly ContentBlocker _contentBlocker;
public ContentBlockerJob(
ILogger<QueueCleanerJob> logger,
ContentBlocker contentBlocker
)
{
_logger = logger;
_contentBlocker = contentBlocker;
}
public async Task Execute(IJobExecutionContext context)
{
try
{
await _contentBlocker.ExecuteAsync();
}
catch (Exception ex)
{
_logger.LogError(ex, $"{nameof(ContentBlockerJob)} failed");
}
}
}
+31
View File
@@ -0,0 +1,31 @@
using Infrastructure.Verticals.Jobs;
using Quartz;
namespace Executable.Jobs;
[DisallowConcurrentExecution]
public sealed class GenericJob<T> : IJob
where T : GenericHandler
{
private readonly ILogger<GenericJob<T>> _logger;
private readonly T _handler;
public GenericJob(ILogger<GenericJob<T>> logger, T handler)
{
_logger = logger;
_handler = handler;
}
public async Task Execute(IJobExecutionContext context)
{
try
{
await _handler.ExecuteAsync();
}
catch (Exception ex)
{
_logger.LogError(ex, "{name} failed", typeof(T).Name);
}
}
}
-32
View File
@@ -1,32 +0,0 @@
using Infrastructure.Verticals.QueueCleaner;
using Quartz;
namespace Executable.Jobs;
[DisallowConcurrentExecution]
public sealed class QueueCleanerJob : IJob
{
private readonly ILogger<QueueCleanerJob> _logger;
private readonly QueueCleaner _queueCleaner;
public QueueCleanerJob(
ILogger<QueueCleanerJob> logger,
QueueCleaner queueCleaner
)
{
_logger = logger;
_queueCleaner = queueCleaner;
}
public async Task Execute(IJobExecutionContext context)
{
try
{
await _queueCleaner.ExecuteAsync();
}
catch (Exception ex)
{
_logger.LogError(ex, $"{nameof(QueueCleanerJob)} failed");
}
}
}
@@ -3,21 +3,15 @@ using Domain.Arr.Queue;
using Domain.Enums;
using Infrastructure.Verticals.Arr;
using Infrastructure.Verticals.DownloadClient;
using Infrastructure.Verticals.Jobs;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
namespace Infrastructure.Verticals.ContentBlocker;
public sealed class ContentBlocker : IDisposable
public sealed class ContentBlocker : GenericHandler
{
private readonly ILogger<ContentBlocker> _logger;
private readonly SonarrConfig _sonarrConfig;
private readonly RadarrConfig _radarrConfig;
private readonly SonarrClient _sonarrClient;
private readonly RadarrClient _radarrClient;
private readonly ArrQueueIterator _arrArrQueueIterator;
private readonly BlocklistProvider _blocklistProvider;
private readonly IDownloadService _downloadService;
public ContentBlocker(
ILogger<ContentBlocker> logger,
@@ -28,48 +22,18 @@ public sealed class ContentBlocker : IDisposable
ArrQueueIterator arrArrQueueIterator,
BlocklistProvider blocklistProvider,
DownloadServiceFactory downloadServiceFactory
)
) : base(logger, sonarrConfig.Value, radarrConfig.Value, sonarrClient, radarrClient, arrArrQueueIterator, downloadServiceFactory)
{
_logger = logger;
_sonarrConfig = sonarrConfig.Value;
_radarrConfig = radarrConfig.Value;
_sonarrClient = sonarrClient;
_radarrClient = radarrClient;
_arrArrQueueIterator = arrArrQueueIterator;
_blocklistProvider = blocklistProvider;
_downloadService = downloadServiceFactory.CreateDownloadClient();
}
public async Task ExecuteAsync()
public override async Task ExecuteAsync()
{
await _blocklistProvider.LoadBlocklistAsync();
await _downloadService.LoginAsync();
await ProcessArrConfigAsync(_sonarrConfig, InstanceType.Sonarr);
await ProcessArrConfigAsync(_radarrConfig, InstanceType.Radarr);
await base.ExecuteAsync();
}
private async Task ProcessArrConfigAsync(ArrConfig config, InstanceType instanceType)
{
if (!config.Enabled)
{
return;
}
foreach (ArrInstance arrInstance in config.Instances)
{
try
{
await ProcessInstanceAsync(arrInstance, instanceType);
}
catch (Exception exception)
{
_logger.LogError(exception, "failed to block content for {type} instance | {url}", instanceType, arrInstance.Url);
}
}
}
private async Task ProcessInstanceAsync(ArrInstance instance, InstanceType instanceType)
protected override async Task ProcessInstanceAsync(ArrInstance instance, InstanceType instanceType)
{
ArrClient arrClient = GetClient(instanceType);
@@ -101,9 +65,4 @@ public sealed class ContentBlocker : IDisposable
InstanceType.Radarr => _radarrClient,
_ => throw new NotImplementedException($"instance type {type} is not yet supported")
};
public void Dispose()
{
_downloadService.Dispose();
}
}
@@ -49,7 +49,8 @@ public sealed class DelugeService : IDownloadService
_logger.LogDebug(exception, "failed to find torrent {hash} in the download client", hash);
}
if (contents is null)
// if no files found, torrent might be stuck in Downloading metadata
if (contents?.Contents?.Count is null or 0)
{
return false;
}
@@ -53,18 +53,14 @@ public sealed class QBitService : IDownloadService
IReadOnlyList<TorrentContent>? files = await _client.GetTorrentContentsAsync(hash);
if (files is null)
// if no files found, torrent might be stuck in Downloading metadata
if (files?.Count is null or 0)
{
return false;
}
// if all files are marked as skip
if (files.All(x => x.Priority is TorrentContentPriority.Skip))
{
return true;
}
return false;
// if all files are marked as skip
return files.All(x => x.Priority is TorrentContentPriority.Skip);
}
public async Task BlockUnwantedFilesAsync(string hash)
@@ -41,7 +41,8 @@ public sealed class TransmissionService : IDownloadService
{
TorrentInfo? torrent = await GetTorrentAsync(hash);
if (torrent is null)
// if no files found, torrent might be stuck in Downloading metadata
if (torrent?.FileStats?.Length is null or 0)
{
return false;
}
@@ -0,0 +1,90 @@
using Common.Configuration;
using Domain.Arr.Queue;
using Domain.Enums;
using Infrastructure.Verticals.Arr;
using Infrastructure.Verticals.DownloadClient;
using Microsoft.Extensions.Logging;
namespace Infrastructure.Verticals.Jobs;
public abstract class GenericHandler : IDisposable
{
protected readonly ILogger<GenericHandler> _logger;
protected readonly SonarrConfig _sonarrConfig;
protected readonly RadarrConfig _radarrConfig;
protected readonly SonarrClient _sonarrClient;
protected readonly RadarrClient _radarrClient;
protected readonly ArrQueueIterator _arrArrQueueIterator;
protected readonly IDownloadService _downloadService;
protected GenericHandler(
ILogger<GenericHandler> logger,
SonarrConfig sonarrConfig,
RadarrConfig radarrConfig,
SonarrClient sonarrClient,
RadarrClient radarrClient,
ArrQueueIterator arrArrQueueIterator,
DownloadServiceFactory downloadServiceFactory
)
{
_logger = logger;
_sonarrConfig = sonarrConfig;
_radarrConfig = radarrConfig;
_sonarrClient = sonarrClient;
_radarrClient = radarrClient;
_arrArrQueueIterator = arrArrQueueIterator;
_downloadService = downloadServiceFactory.CreateDownloadClient();
}
public virtual async Task ExecuteAsync()
{
await _downloadService.LoginAsync();
await ProcessArrConfigAsync(_sonarrConfig, InstanceType.Sonarr);
await ProcessArrConfigAsync(_radarrConfig, InstanceType.Radarr);
}
public virtual void Dispose()
{
_downloadService.Dispose();
}
protected abstract Task ProcessInstanceAsync(ArrInstance instance, InstanceType instanceType);
protected async Task ProcessArrConfigAsync(ArrConfig config, InstanceType instanceType)
{
if (!config.Enabled)
{
return;
}
foreach (ArrInstance arrInstance in config.Instances)
{
try
{
await ProcessInstanceAsync(arrInstance, instanceType);
}
catch (Exception exception)
{
_logger.LogError(exception, "failed to clean {type} instance | {url}", instanceType, arrInstance.Url);
}
}
}
protected ArrClient GetClient(InstanceType type) =>
type switch
{
InstanceType.Sonarr => _sonarrClient,
InstanceType.Radarr => _radarrClient,
_ => throw new NotImplementedException($"instance type {type} is not yet supported")
};
protected int GetRecordId(InstanceType type, QueueRecord record) =>
type switch
{
// TODO add episode id
InstanceType.Sonarr => record.SeriesId,
InstanceType.Radarr => record.MovieId,
_ => throw new NotImplementedException($"instance type {type} is not yet supported")
};
}
@@ -3,21 +3,14 @@ using Domain.Arr.Queue;
using Domain.Enums;
using Infrastructure.Verticals.Arr;
using Infrastructure.Verticals.DownloadClient;
using Infrastructure.Verticals.Jobs;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
namespace Infrastructure.Verticals.QueueCleaner;
public sealed class QueueCleaner : IDisposable
public sealed class QueueCleaner : GenericHandler
{
private readonly ILogger<QueueCleaner> _logger;
private readonly SonarrConfig _sonarrConfig;
private readonly RadarrConfig _radarrConfig;
private readonly SonarrClient _sonarrClient;
private readonly RadarrClient _radarrClient;
private readonly ArrQueueIterator _arrArrQueueIterator;
private readonly IDownloadService _downloadService;
public QueueCleaner(
ILogger<QueueCleaner> logger,
IOptions<SonarrConfig> sonarrConfig,
@@ -26,48 +19,11 @@ public sealed class QueueCleaner : IDisposable
RadarrClient radarrClient,
ArrQueueIterator arrArrQueueIterator,
DownloadServiceFactory downloadServiceFactory
)
) : base(logger, sonarrConfig.Value, radarrConfig.Value, sonarrClient, radarrClient, arrArrQueueIterator, downloadServiceFactory)
{
_logger = logger;
_sonarrConfig = sonarrConfig.Value;
_radarrConfig = radarrConfig.Value;
_sonarrClient = sonarrClient;
_radarrClient = radarrClient;
_arrArrQueueIterator = arrArrQueueIterator;
_downloadService = downloadServiceFactory.CreateDownloadClient();
}
public async Task ExecuteAsync()
{
await _downloadService.LoginAsync();
await ProcessArrConfigAsync(_sonarrConfig, InstanceType.Sonarr);
await ProcessArrConfigAsync(_radarrConfig, InstanceType.Radarr);
// await _downloadClient.LogoutAsync();
}
private async Task ProcessArrConfigAsync(ArrConfig config, InstanceType instanceType)
{
if (!config.Enabled)
{
return;
}
foreach (ArrInstance arrInstance in config.Instances)
{
try
{
await ProcessInstanceAsync(arrInstance, instanceType);
}
catch (Exception exception)
{
_logger.LogError(exception, "failed to clean {type} instance | {url}", instanceType, arrInstance.Url);
}
}
}
private async Task ProcessInstanceAsync(ArrInstance instance, InstanceType instanceType)
protected override async Task ProcessInstanceAsync(ArrInstance instance, InstanceType instanceType)
{
HashSet<int> itemsToBeRefreshed = [];
ArrClient arrClient = GetClient(instanceType);
@@ -101,26 +57,4 @@ public sealed class QueueCleaner : IDisposable
await arrClient.RefreshItemsAsync(instance, itemsToBeRefreshed);
}
private ArrClient GetClient(InstanceType type) =>
type switch
{
InstanceType.Sonarr => _sonarrClient,
InstanceType.Radarr => _radarrClient,
_ => throw new NotImplementedException($"instance type {type} is not yet supported")
};
private int GetRecordId(InstanceType type, QueueRecord record) =>
type switch
{
// TODO add episode id
InstanceType.Sonarr => record.SeriesId,
InstanceType.Radarr => record.MovieId,
_ => throw new NotImplementedException($"instance type {type} is not yet supported")
};
public void Dispose()
{
_downloadService.Dispose();
}
}
@@ -1,97 +0,0 @@
{
"file": 1,
"format": 1
}{
"add_paused": false,
"allow_remote": false,
"auto_manage_prefer_seeds": false,
"auto_managed": true,
"cache_expiry": 60,
"cache_size": 512,
"copy_torrent_file": false,
"daemon_port": 58846,
"del_copy_torrent_file": false,
"dht": true,
"dont_count_slow_torrents": false,
"download_location": "/downloads",
"download_location_paths_list": [],
"enabled_plugins": [
"Label"
],
"enc_in_policy": 1,
"enc_level": 2,
"enc_out_policy": 1,
"geoip_db_location": "/usr/share/GeoIP/GeoIP.dat",
"ignore_limits_on_local_network": true,
"info_sent": 0.0,
"listen_interface": "",
"listen_ports": [
6882,
6882
],
"listen_random_port": null,
"listen_reuse_port": true,
"listen_use_sys_port": false,
"lsd": true,
"max_active_downloading": 3,
"max_active_limit": 8,
"max_active_seeding": 5,
"max_connections_global": 200,
"max_connections_per_second": 20,
"max_connections_per_torrent": -1,
"max_download_speed": -1.0,
"max_download_speed_per_torrent": -1,
"max_half_open_connections": 50,
"max_upload_slots_global": 4,
"max_upload_slots_per_torrent": -1,
"max_upload_speed": -1.0,
"max_upload_speed_per_torrent": -1,
"move_completed": false,
"move_completed_path": "/downloads",
"move_completed_paths_list": [],
"natpmp": true,
"new_release_check": true,
"outgoing_interface": "",
"outgoing_ports": [
0,
0
],
"path_chooser_accelerator_string": "Tab",
"path_chooser_auto_complete_enabled": true,
"path_chooser_max_popup_rows": 20,
"path_chooser_show_chooser_button_on_localhost": true,
"path_chooser_show_hidden_files": false,
"peer_tos": "0x00",
"plugins_location": "/config/plugins",
"pre_allocate_storage": false,
"prioritize_first_last_pieces": false,
"proxy": {
"anonymous_mode": false,
"force_proxy": false,
"hostname": "",
"password": "",
"port": 8080,
"proxy_hostnames": true,
"proxy_peer_connections": true,
"proxy_tracker_connections": true,
"type": 0,
"username": ""
},
"queue_new_to_top": false,
"random_outgoing_ports": true,
"random_port": false,
"rate_limit_ip_overhead": true,
"remove_seed_at_ratio": false,
"seed_time_limit": 180,
"seed_time_ratio_limit": 7.0,
"send_info": false,
"sequential_download": false,
"share_ratio_limit": 2.0,
"shared": false,
"stop_seed_at_ratio": false,
"stop_seed_ratio": 2.0,
"super_seeding": false,
"torrentfiles_location": "/config/torrents",
"upnp": true,
"utpex": true
}
@@ -1,50 +0,0 @@
{
"file": 1,
"format": 1
}{
"labels": {
"radarr": {
"apply_max": false,
"apply_move_completed": false,
"apply_queue": false,
"auto_add": false,
"auto_add_trackers": [],
"is_auto_managed": false,
"max_connections": -1,
"max_download_speed": -1,
"max_upload_slots": -1,
"max_upload_speed": -1,
"move_completed": false,
"move_completed_path": "",
"prioritize_first_last": false,
"remove_at_ratio": false,
"stop_at_ratio": false,
"stop_ratio": 2.0
},
"tv-sonarr": {
"apply_max": false,
"apply_move_completed": false,
"apply_queue": false,
"auto_add": false,
"auto_add_trackers": [],
"is_auto_managed": false,
"max_connections": -1,
"max_download_speed": -1,
"max_upload_slots": -1,
"max_upload_speed": -1,
"move_completed": false,
"move_completed_path": "",
"prioritize_first_last": false,
"remove_at_ratio": false,
"stop_at_ratio": false,
"stop_ratio": 2.0
}
},
"torrent_labels": {
"59ab2bc053430fe53e06a93e2eadb7acb6a6bf2c": "tv-sonarr",
"5a31d5f1689f5f45fd85c275a37acd2c7b82fde1": "tv-sonarr",
"6c890ff85b5317d5df291c3c23a782774e10e6fe": "radarr",
"a4a1d1dd1db25763caa8f5e4d25ad72ef304094b": "radarr",
"b72541215214be2a1d96ef6b29ca1305f5e5e1f6": "tv-sonarr"
}
}
Binary file not shown.
-565
View File
@@ -16,571 +16,6 @@
"pwd_sha1": "3ac8756d294abe4f6c9dfa084b7fc2c84ce32f68",
"session_timeout": 3600,
"sessions": {
"00390c773fafe30cb393f53a920b48ac353b58ca27ac9ed64a1cbc61d5026677": {
"expires": 1731936939.0,
"level": 10,
"login": "admin"
},
"0379df23e58eb57a0ec781168c5acb1527be9ce1dc48a6dec201905358dbedd8": {
"expires": 1731665164.0,
"level": 10,
"login": "admin"
},
"03d38494090a758cbe3ecc1e8a004986528297c7200e58b36649e197276c95e3": {
"expires": 1731718770.0,
"level": 10,
"login": "admin"
},
"03fe5879beed5c299cd18472b64d31c4c610cd413059d7582312b002bb0eef03": {
"expires": 1731689401.0,
"level": 10,
"login": "admin"
},
"05c8e71ff1e411beb45e278e786fbde8c893854e2906f3111dd48f943082eba5": {
"expires": 1731593711.0,
"level": 10,
"login": "admin"
},
"0cce3c4e10dcdebd921e19905c9ce3c162cefafadbf35b3c64a1932860af0e7d": {
"expires": 1731721234.0,
"level": 10,
"login": "admin"
},
"0d5bce647f6368877290f7be8a0f63f070039dd76027158278143b2ea6078a42": {
"expires": 1731665495.0,
"level": 10,
"login": "admin"
},
"0f95357a4b9994584b429a5facaad735bc1e0adb0f994b7fad82318f589de991": {
"expires": 1731718993.0,
"level": 10,
"login": "admin"
},
"15c8cf06252ea0039bc2569d4121378baa3287594f9148d4fb26e999966e5538": {
"expires": 1731714201.0,
"level": 10,
"login": "admin"
},
"15d5edb14093bb821dbef9080853e00f969860add39bd21e301172ae911713b1": {
"expires": 1731665102.0,
"level": 10,
"login": "admin"
},
"17f7a731a26bdde434e8f4edb6043c4699efa29b982ad1f5df26676747b400a7": {
"expires": 1731658344.0,
"level": 10,
"login": "admin"
},
"1800115899b60e88b29483c4656f9c56c58d38c008d96149bb70fb5e9d26a10c": {
"expires": 1731939230.0,
"level": 10,
"login": "admin"
},
"1970022246cbb41f07d1242920163980e93e4e96f11864ffcf047c8cb5cf9908": {
"expires": 1731706575.0,
"level": 10,
"login": "admin"
},
"19daad7642cf7f056083ff2868c9565ff8b2f6750eae91d5b235989089239bdc": {
"expires": 1731689407.0,
"level": 10,
"login": "admin"
},
"1b525ddd164c645ec47f1b2b58044cdf32f90800bc1973afb7b56a5814b813da": {
"expires": 1731711800.0,
"level": 10,
"login": "admin"
},
"1da54bf8d0c73023d11e1cb91586b088898ef5a37d146c108bfe2a9633499b63": {
"expires": 1731693609.0,
"level": 10,
"login": "admin"
},
"2095c759cb9b9ce96ab3bf3f07301e8dd71de75aeed2d4db957d2227adbc56f5": {
"expires": 1731664924.0,
"level": 10,
"login": "admin"
},
"2185646cfe4fa4f9892ea3df734b02b31ab7dfeb0f0868a6c730f04328b1a87a": {
"expires": 1731716848.0,
"level": 10,
"login": "admin"
},
"2270be625fa3bf61e919e8c495bc6c7868e907709e6b06c533727d0469df61c9": {
"expires": 1731714357.0,
"level": 10,
"login": "admin"
},
"2438a71a5850697dfb99ba24afa21f82a99ca32bf59a05f5dbd8c0f8bf645e4f": {
"expires": 1731691862.0,
"level": 10,
"login": "admin"
},
"24930581ae0aa9a0e0a520f3cccfb71f50308be43b15cb5b0fb3404a7d9a8a2f": {
"expires": 1731617366.0,
"level": 10,
"login": "admin"
},
"28920404a5f4638ebcdb4eb4addad4db19ee0bdd8505457cce7b6f81ba06b363": {
"expires": 1731712508.0,
"level": 10,
"login": "admin"
},
"29f26fc40c0be11ba12209d142e8a662ad3c5f58f4c9e2a4dcb9bf81a9eac0ef": {
"expires": 1731692292.0,
"level": 10,
"login": "admin"
},
"2b4e3dc65d727790957c28d570f474ef0ffacc98bf1372b11ef4c2eacfde585c": {
"expires": 1731711706.0,
"level": 10,
"login": "admin"
},
"2c1d2ff923df8718a46c89e575a2ebbcede10f9c585e5fe2ddb3a4a43ddabafa": {
"expires": 1731719810.0,
"level": 10,
"login": "admin"
},
"2c9235163d9dc1af694609caf5624465e872a9a9efaae9c5dd7de97190911970": {
"expires": 1731592559.0,
"level": 10,
"login": "admin"
},
"2ee0d1c4f504c080441ae4a8e61546077405ef9dce3ec291923d761b69f69586": {
"expires": 1731659695.0,
"level": 10,
"login": "admin"
},
"317679509ed59022afd20bd8a891cc759fadd7ca9c85c88ac0b05cf9b9ea1791": {
"expires": 1731716722.0,
"level": 10,
"login": "admin"
},
"31b14f8de2ba1de58011ecf8dfe7f8681ae4af543928f3903a9c080374a7fb08": {
"expires": 1731692998.0,
"level": 10,
"login": "admin"
},
"337641d938548a3261f67b1b1e295e8d09b248d2c7358a84a2914c803e2c9827": {
"expires": 1731719800.0,
"level": 10,
"login": "admin"
},
"33b864b8ab214816273040e0456297da90a7f2e5bf352368f906e64cc363ccdf": {
"expires": 1731659084.0,
"level": 10,
"login": "admin"
},
"36d3798ad875c70807a02eac3b7fd4279550cb9dfa6ccb530b66c74f0d577a52": {
"expires": 1731939210.0,
"level": 10,
"login": "admin"
},
"3b14137d9b57080d81e0a4532ad703dc91e2542be56415f58feca56231851eb0": {
"expires": 1731714081.0,
"level": 10,
"login": "admin"
},
"3b6c35a4cde25fa4a846a3df5d41562e798089db25eb21b9363cccdba2a3e093": {
"expires": 1731939483.0,
"level": 10,
"login": "admin"
},
"3d7bf91cb3e15eb82297ab54bae4cc6e06a42b54679e5f963a580fdf0d4bcf57": {
"expires": 1731719791.0,
"level": 10,
"login": "admin"
},
"3e7234797204e1672caf4b5b5ef450898f931ee48dcffae0b3b89e138434c036": {
"expires": 1731723178.0,
"level": 10,
"login": "admin"
},
"3e79e3bd1e01d10a6017e61b152151150deeb5185781a6325cd0aa4b9bfec47d": {
"expires": 1731719395.0,
"level": 10,
"login": "admin"
},
"3e9020e47c34087dc02ff6a5b396b7f338cc3249c9812e320490c33d9e7ce245": {
"expires": 1731719545.0,
"level": 10,
"login": "admin"
},
"44c3d9b212384742b7e0ac2a8c9a2bb48cf146a403ba01b6137051f54953a38a": {
"expires": 1731938866.0,
"level": 10,
"login": "admin"
},
"470c34122403b8dec692f9079e892ca92d8bf13cdd6c2814b6d829996e5f8b67": {
"expires": 1731664624.0,
"level": 10,
"login": "admin"
},
"4a47ca4a624fff02d9970d7e8a341ec08b8076cade949348795e45002c18556d": {
"expires": 1731718983.0,
"level": 10,
"login": "admin"
},
"4e88bdb753b76965909d1a2eabcc6ef5c12dab11cb0f32185506a19192f9cae2": {
"expires": 1731935979.0,
"level": 10,
"login": "admin"
},
"51ce01dfe69d8ae6afb019a05046154f4b51ef64569e3424e78a80957a11ba8c": {
"expires": 1731693589.0,
"level": 10,
"login": "admin"
},
"538a9fd86a56727c571da77b70353ac0fa5568442ea17d69a817a579d37679ac": {
"expires": 1731939264.0,
"level": 10,
"login": "admin"
},
"566fe0345702f6e2f30effef42ef664c46ac0e7f21aa3d2b414a1f290230fba6": {
"expires": 1731664385.0,
"level": 10,
"login": "admin"
},
"57df9cb450fd2dd9717b9ab03bbce3492603188c11f5e83af8d1bb38ab36ed01": {
"expires": 1731938872.0,
"level": 10,
"login": "admin"
},
"587362acb21285d814a9861a93b3f0e017ee9efb1bfe63343c13c09e7ea80f91": {
"expires": 1731716759.0,
"level": 10,
"login": "admin"
},
"58f7b011411dbad96eadc573eb164e1cdb6f96d52febbb8d4adb2cdda6ed80ef": {
"expires": 1731936289.0,
"level": 10,
"login": "admin"
},
"5cb4123b4b425f1d8a6accf4c02386feea7f20bf6171291f715c2cd99bfb02c0": {
"expires": 1731665482.0,
"level": 10,
"login": "admin"
},
"5d9819c229e5f79b767a88db9c78b24998b424a66e8a7ba0039553b7c54051ec": {
"expires": 1731617370.0,
"level": 10,
"login": "admin"
},
"5e6cb57d0f9d97aa3ed75fefd40c8060a085c04727886511f0e7db126b203d43": {
"expires": 1731721196.0,
"level": 10,
"login": "admin"
},
"5e74fdaca0c6c7e7afec714793677646ff89d00ae35908a7125d6cf50ea0702c": {
"expires": 1731603184.0,
"level": 10,
"login": "admin"
},
"5fbe1b057086c9f17b5a4d7d9fd9f41eab0305ea89b5b1de2ca633b0b38aab50": {
"expires": 1731937913.0,
"level": 10,
"login": "admin"
},
"644aae458bd0a092fe342d1f020d4b7eccff9cf6cfc0677fe0d9531754edaff0": {
"expires": 1731692249.0,
"level": 10,
"login": "admin"
},
"653493a22274078fc44d52acb337b56bcd4084de2f0a1b6b79be186550a30cb3": {
"expires": 1731591365.0,
"level": 10,
"login": "admin"
},
"66618b25addefa9f12946c5afb65e8d690c5a871fff3d03fb796751a9eee0d41": {
"expires": 1731591683.0,
"level": 10,
"login": "admin"
},
"684613e83cfde35d79917108a4091de4c585e1ff627eee0d904920759dc3ea53": {
"expires": 1731712313.0,
"level": 10,
"login": "admin"
},
"68ecec112a27957857622d4c0ba02824f5e03981db6f51fa01c0be8ac893c6f1": {
"expires": 1731591683.0,
"level": 10,
"login": "admin"
},
"69d6aa5b5eae433a357dc92fe12bbfb7fd29629425f0edbe55e0ac4e8df112aa": {
"expires": 1731718574.0,
"level": 10,
"login": "admin"
},
"6ade7fdf14f334646e2ad2f6b627146a69e0b896d0930a996b4f9df7bc4cf28e": {
"expires": 1731939300.0,
"level": 10,
"login": "admin"
},
"6c19cb32acd64f6c1543bf07dba3aee5ca5d3ba71f754e1e95acc3da5dc6aa27": {
"expires": 1731718629.0,
"level": 10,
"login": "admin"
},
"71c8d2cf33b22285f43c5855bdabd9ea25a18b177cfe28056c8bed41776d0ced": {
"expires": 1731664874.0,
"level": 10,
"login": "admin"
},
"745592d9be94482df01bc76010f58844175050e2bb7c0974de4e1f852a589554": {
"expires": 1731689116.0,
"level": 10,
"login": "admin"
},
"82ee9a0b4fde768d0580e85633012235fdf4683c0115ec121ba17282075483e7": {
"expires": 1731708818.0,
"level": 10,
"login": "admin"
},
"8346f9faa70bd614131a9115bcb33168ae9af221be0270e967c01e9c1c58129e": {
"expires": 1731693061.0,
"level": 10,
"login": "admin"
},
"861dbf07e0df2c29fedc8fcd5a346b4dcb1a0ece0f741befc3c72d3fadc82268": {
"expires": 1731722565.0,
"level": 10,
"login": "admin"
},
"870afa2ad6a0832fb19680b3bbf0bfd99de377c9cbaaff3cf6bf5a633fe541c3": {
"expires": 1731933969.0,
"level": 10,
"login": "admin"
},
"88be8381b68afe4c56b949c2588dec6b57f2dbe5ae20faacb06c37b7cbdc8a8b": {
"expires": 1731718780.0,
"level": 10,
"login": "admin"
},
"8a010b80566da20d356b77df700e2444292eea50a928eb7613bc874462436f36": {
"expires": 1731602951.0,
"level": 10,
"login": "admin"
},
"8be44833b5b32f8ed1eb2e6dba5ec7aa49fc4307dbd18d03859c96d227a9058b": {
"expires": 1731658179.0,
"level": 10,
"login": "admin"
},
"8d5c74abebafb8bfc72a3c33c17195d8e6a52c4505b1ccff9eda1a81f9a74ef7": {
"expires": 1731939423.0,
"level": 10,
"login": "admin"
},
"8e2e998fabc8429ef4ba385a4d4ed401fbe2508192b65dc72280cdfc086948e0": {
"expires": 1731692291.0,
"level": 10,
"login": "admin"
},
"8e8ed10c9cb8ced98d7736a81b68990fff019ca2b32dd9093209b132906b68c3": {
"expires": 1731692267.0,
"level": 10,
"login": "admin"
},
"8fbfaad4b9fc517f848b6f052be51b3a2cd494247078bf053460f8b80e53065a": {
"expires": 1731595963.0,
"level": 10,
"login": "admin"
},
"8fddab944e5a0d45750d5da5b78230387228e12f27ad040316394a4d6b166b5d": {
"expires": 1731939300.0,
"level": 10,
"login": "admin"
},
"9364816c6b2e739b647c43ad27b2d52593c2d59a5181aefcda12d04ea31d9fc6": {
"expires": 1731718765.0,
"level": 10,
"login": "admin"
},
"9a29ef6e50f415e5ccd36140eeab85a4409ae271470c1d51a32e0791c75ea588": {
"expires": 1731658513.0,
"level": 10,
"login": "admin"
},
"9ac87d5bf293ab9dc0bb5dcefe1e65eb7e166c4b3f5a162529683d5d866d7f9f": {
"expires": 1731937503.0,
"level": 10,
"login": "admin"
},
"9b266dafeef7c956bb4d9e987791975b64e7333de860a0d9173e211524cc8540": {
"expires": 1731591553.0,
"level": 10,
"login": "admin"
},
"9c03a8e39a5ff42c889c73ad9d4d5d84e76747322dfdf714ccb74a0d37923682": {
"expires": 1731719394.0,
"level": 10,
"login": "admin"
},
"9d1df8609ca6ada923c85b2721c0b3e606b92372478b5ca943cb52a7b8886951": {
"expires": 1731939230.0,
"level": 10,
"login": "admin"
},
"9f9de499b714f5c7dcb873f1141ad463a34e7c34eaa62cc988167505e4f5ac54": {
"expires": 1731939220.0,
"level": 10,
"login": "admin"
},
"a484b99afebac4ce74b6f52cad90448496fb80f2d8756e503776072739748a57": {
"expires": 1731938872.0,
"level": 10,
"login": "admin"
},
"a48e673783b5c56edfd5b5bc73b1f9c527dc1ca6da3aef82f61692b40095b39c": {
"expires": 1731939445.0,
"level": 10,
"login": "admin"
},
"a7ba418572d761f89d13fd7a11d682a3c821406ccd29f3e6d683966d0fb3d3ab": {
"expires": 1731720041.0,
"level": 10,
"login": "admin"
},
"a7cc53afae41ab5e800893c7271acf272f34b604f7e1ace8c3f0232606d01e2b": {
"expires": 1731719810.0,
"level": 10,
"login": "admin"
},
"a8c19794aaac3afd733588d42d7ffddc5f8de336d4bd8aa5cf9c1ff36cc9d590": {
"expires": 1731933957.0,
"level": 10,
"login": "admin"
},
"aa301c95f4890c38baa814503e940f28143304ad55dbfaea2db8aaec90169031": {
"expires": 1731599734.0,
"level": 10,
"login": "admin"
},
"ac98337f159cdc03b4865b80c78d53ab39502291fa19cc0b60233209e1d92bb7": {
"expires": 1731689363.0,
"level": 10,
"login": "admin"
},
"adf9d353a020d93e54b32b14c28525a7e6f33fd735144d7b778a4e517192b7c5": {
"expires": 1731691941.0,
"level": 10,
"login": "admin"
},
"ae14e4adfe0504f8dfb3fcb575606e67f57e950cdf88f00ca76e0af215c2b413": {
"expires": 1731935980.0,
"level": 10,
"login": "admin"
},
"ae48fe0ecea0704704bc6327b6bf3258de377b08fa4d76b4f69b8470852960c6": {
"expires": 1731591544.0,
"level": 10,
"login": "admin"
},
"ae967211fa06ac26d96e3207e67c136efc6367acc92d608e52e1f204b5bd3da4": {
"expires": 1731664535.0,
"level": 10,
"login": "admin"
},
"b0f55c6cad8bc2230754fd1bbeebfedd31ba244eac96e8d02be6d6a33b542b4f": {
"expires": 1731592529.0,
"level": 10,
"login": "admin"
},
"b689520f2e3ccf2164da5dba4bac111d4cbc6d3bdcf44361127baa0068623cd0": {
"expires": 1731717015.0,
"level": 10,
"login": "admin"
},
"bb92c09264296d8c12fac5d2abed2224b25a85d5a46d87f4a4351da76d00566e": {
"expires": 1731720040.0,
"level": 10,
"login": "admin"
},
"bbba0f20f9c1639ebfcaedb54a87d4b968bc953f72b06105f6d995f5eee9bff7": {
"expires": 1731591455.0,
"level": 10,
"login": "admin"
},
"c1a50b58a364f294755666d0e748ba2a06fbe55de758453180920774525214c8": {
"expires": 1731719336.0,
"level": 10,
"login": "admin"
},
"c6af2f6a6627cbbf18696f1b8b904346726800d05b137d251ee28b699fbd858c": {
"expires": 1731665294.0,
"level": 10,
"login": "admin"
},
"c86527a0aae330a71fc324a233ad876d420a54d387794374d126e7d6a0f19f92": {
"expires": 1731692356.0,
"level": 10,
"login": "admin"
},
"cd65741faf869e193c4e2a51e9454cf88598f58987b2ce559ef3d6bfa98e7605": {
"expires": 1731591572.0,
"level": 10,
"login": "admin"
},
"cdb4f2d14ab7de91b8be1261be40bf59f2bfa0e5e6327166ffa08cfa74eb357a": {
"expires": 1731692237.0,
"level": 10,
"login": "admin"
},
"d0f2c477a500bffcdcfbc56907df1b322200d9f7a801285bbe5440e5bca5e8c4": {
"expires": 1731711859.0,
"level": 10,
"login": "admin"
},
"d3a9186f1c2c81d8085d86c09ddd4fc5e205f61f25f3cabbc1ee379e52304c77": {
"expires": 1731718780.0,
"level": 10,
"login": "admin"
},
"d74ba4649e1a5a098d42c2f62472c94d4484f43b0979cbbd48b464ac5f20e49b": {
"expires": 1731716625.0,
"level": 10,
"login": "admin"
},
"d769dedd53059553cb54961641c0cbdf818533db06764fbcd5557a7200247c28": {
"expires": 1731718992.0,
"level": 10,
"login": "admin"
},
"d95d211a839a71c0bb00d2504f18deb81af2d0ab7183478543a5d28654a37197": {
"expires": 1731658629.0,
"level": 10,
"login": "admin"
},
"da6f45956cf8b0b4a5552166dfe1372437b25179e0d24bfbeaba745d28febb53": {
"expires": 1731937514.0,
"level": 10,
"login": "admin"
},
"df84bacd66f8dbf2d1f150d839029e11b3ce56c0536183fd33656685bd446c44": {
"expires": 1731719340.0,
"level": 10,
"login": "admin"
},
"e8be12b35aa13a67bc7d3332d373b4117493319625c1ed87e3335ab8d09b9054": {
"expires": 1731686353.0,
"level": 10,
"login": "admin"
},
"f04dce449eb7dc69f7973906564c4aa224ff20595a3f2a3bfedbcd23ffaa9117": {
"expires": 1731658418.0,
"level": 10,
"login": "admin"
},
"f4472d087a796ef1f431c44d4f6e9d46ecfe88acce21368a7d85fc31e1efc1e9": {
"expires": 1731711611.0,
"level": 10,
"login": "admin"
},
"f62a451ea2933e56ff9dae2299e374477adb54d8c8285ea59d2ab15b9a80bd13": {
"expires": 1731712500.0,
"level": 10,
"login": "admin"
}
},
"show_session_speed": false,
"show_sidebar": true,
-480
View File
@@ -1,480 +0,0 @@
{
"file": 2,
"format": 1
}{
"base": "/",
"cert": "ssl/daemon.cert",
"default_daemon": "",
"enabled_plugins": [],
"first_login": false,
"https": false,
"interface": "0.0.0.0",
"language": "",
"pkey": "ssl/daemon.pkey",
"port": 8112,
"pwd_salt": "2bc0ed67acc6876dda1a1632594090478fdeab60",
"pwd_sha1": "3ac8756d294abe4f6c9dfa084b7fc2c84ce32f68",
"session_timeout": 3600,
"sessions": {
"0379df23e58eb57a0ec781168c5acb1527be9ce1dc48a6dec201905358dbedd8": {
"expires": 1731665164.0,
"level": 10,
"login": "admin"
},
"03d38494090a758cbe3ecc1e8a004986528297c7200e58b36649e197276c95e3": {
"expires": 1731718770.0,
"level": 10,
"login": "admin"
},
"03fe5879beed5c299cd18472b64d31c4c610cd413059d7582312b002bb0eef03": {
"expires": 1731689401.0,
"level": 10,
"login": "admin"
},
"05c8e71ff1e411beb45e278e786fbde8c893854e2906f3111dd48f943082eba5": {
"expires": 1731593711.0,
"level": 10,
"login": "admin"
},
"0cce3c4e10dcdebd921e19905c9ce3c162cefafadbf35b3c64a1932860af0e7d": {
"expires": 1731721234.0,
"level": 10,
"login": "admin"
},
"0d5bce647f6368877290f7be8a0f63f070039dd76027158278143b2ea6078a42": {
"expires": 1731665495.0,
"level": 10,
"login": "admin"
},
"0f95357a4b9994584b429a5facaad735bc1e0adb0f994b7fad82318f589de991": {
"expires": 1731718993.0,
"level": 10,
"login": "admin"
},
"15c8cf06252ea0039bc2569d4121378baa3287594f9148d4fb26e999966e5538": {
"expires": 1731714201.0,
"level": 10,
"login": "admin"
},
"15d5edb14093bb821dbef9080853e00f969860add39bd21e301172ae911713b1": {
"expires": 1731665102.0,
"level": 10,
"login": "admin"
},
"17f7a731a26bdde434e8f4edb6043c4699efa29b982ad1f5df26676747b400a7": {
"expires": 1731658344.0,
"level": 10,
"login": "admin"
},
"1970022246cbb41f07d1242920163980e93e4e96f11864ffcf047c8cb5cf9908": {
"expires": 1731706575.0,
"level": 10,
"login": "admin"
},
"19daad7642cf7f056083ff2868c9565ff8b2f6750eae91d5b235989089239bdc": {
"expires": 1731689407.0,
"level": 10,
"login": "admin"
},
"1b525ddd164c645ec47f1b2b58044cdf32f90800bc1973afb7b56a5814b813da": {
"expires": 1731711800.0,
"level": 10,
"login": "admin"
},
"1da54bf8d0c73023d11e1cb91586b088898ef5a37d146c108bfe2a9633499b63": {
"expires": 1731693609.0,
"level": 10,
"login": "admin"
},
"2095c759cb9b9ce96ab3bf3f07301e8dd71de75aeed2d4db957d2227adbc56f5": {
"expires": 1731664924.0,
"level": 10,
"login": "admin"
},
"2185646cfe4fa4f9892ea3df734b02b31ab7dfeb0f0868a6c730f04328b1a87a": {
"expires": 1731716848.0,
"level": 10,
"login": "admin"
},
"2270be625fa3bf61e919e8c495bc6c7868e907709e6b06c533727d0469df61c9": {
"expires": 1731714357.0,
"level": 10,
"login": "admin"
},
"2438a71a5850697dfb99ba24afa21f82a99ca32bf59a05f5dbd8c0f8bf645e4f": {
"expires": 1731691862.0,
"level": 10,
"login": "admin"
},
"24930581ae0aa9a0e0a520f3cccfb71f50308be43b15cb5b0fb3404a7d9a8a2f": {
"expires": 1731617366.0,
"level": 10,
"login": "admin"
},
"28920404a5f4638ebcdb4eb4addad4db19ee0bdd8505457cce7b6f81ba06b363": {
"expires": 1731712508.0,
"level": 10,
"login": "admin"
},
"29f26fc40c0be11ba12209d142e8a662ad3c5f58f4c9e2a4dcb9bf81a9eac0ef": {
"expires": 1731692292.0,
"level": 10,
"login": "admin"
},
"2b4e3dc65d727790957c28d570f474ef0ffacc98bf1372b11ef4c2eacfde585c": {
"expires": 1731711706.0,
"level": 10,
"login": "admin"
},
"2c1d2ff923df8718a46c89e575a2ebbcede10f9c585e5fe2ddb3a4a43ddabafa": {
"expires": 1731719810.0,
"level": 10,
"login": "admin"
},
"2c9235163d9dc1af694609caf5624465e872a9a9efaae9c5dd7de97190911970": {
"expires": 1731592559.0,
"level": 10,
"login": "admin"
},
"2ee0d1c4f504c080441ae4a8e61546077405ef9dce3ec291923d761b69f69586": {
"expires": 1731659695.0,
"level": 10,
"login": "admin"
},
"317679509ed59022afd20bd8a891cc759fadd7ca9c85c88ac0b05cf9b9ea1791": {
"expires": 1731716722.0,
"level": 10,
"login": "admin"
},
"31b14f8de2ba1de58011ecf8dfe7f8681ae4af543928f3903a9c080374a7fb08": {
"expires": 1731692998.0,
"level": 10,
"login": "admin"
},
"337641d938548a3261f67b1b1e295e8d09b248d2c7358a84a2914c803e2c9827": {
"expires": 1731719800.0,
"level": 10,
"login": "admin"
},
"33b864b8ab214816273040e0456297da90a7f2e5bf352368f906e64cc363ccdf": {
"expires": 1731659084.0,
"level": 10,
"login": "admin"
},
"3b14137d9b57080d81e0a4532ad703dc91e2542be56415f58feca56231851eb0": {
"expires": 1731714081.0,
"level": 10,
"login": "admin"
},
"3d7bf91cb3e15eb82297ab54bae4cc6e06a42b54679e5f963a580fdf0d4bcf57": {
"expires": 1731719791.0,
"level": 10,
"login": "admin"
},
"3e7234797204e1672caf4b5b5ef450898f931ee48dcffae0b3b89e138434c036": {
"expires": 1731723178.0,
"level": 10,
"login": "admin"
},
"3e79e3bd1e01d10a6017e61b152151150deeb5185781a6325cd0aa4b9bfec47d": {
"expires": 1731719395.0,
"level": 10,
"login": "admin"
},
"3e9020e47c34087dc02ff6a5b396b7f338cc3249c9812e320490c33d9e7ce245": {
"expires": 1731719545.0,
"level": 10,
"login": "admin"
},
"470c34122403b8dec692f9079e892ca92d8bf13cdd6c2814b6d829996e5f8b67": {
"expires": 1731664624.0,
"level": 10,
"login": "admin"
},
"4a47ca4a624fff02d9970d7e8a341ec08b8076cade949348795e45002c18556d": {
"expires": 1731718983.0,
"level": 10,
"login": "admin"
},
"51ce01dfe69d8ae6afb019a05046154f4b51ef64569e3424e78a80957a11ba8c": {
"expires": 1731693589.0,
"level": 10,
"login": "admin"
},
"566fe0345702f6e2f30effef42ef664c46ac0e7f21aa3d2b414a1f290230fba6": {
"expires": 1731664385.0,
"level": 10,
"login": "admin"
},
"587362acb21285d814a9861a93b3f0e017ee9efb1bfe63343c13c09e7ea80f91": {
"expires": 1731716759.0,
"level": 10,
"login": "admin"
},
"5cb4123b4b425f1d8a6accf4c02386feea7f20bf6171291f715c2cd99bfb02c0": {
"expires": 1731665482.0,
"level": 10,
"login": "admin"
},
"5d9819c229e5f79b767a88db9c78b24998b424a66e8a7ba0039553b7c54051ec": {
"expires": 1731617370.0,
"level": 10,
"login": "admin"
},
"5e6cb57d0f9d97aa3ed75fefd40c8060a085c04727886511f0e7db126b203d43": {
"expires": 1731721196.0,
"level": 10,
"login": "admin"
},
"5e74fdaca0c6c7e7afec714793677646ff89d00ae35908a7125d6cf50ea0702c": {
"expires": 1731603184.0,
"level": 10,
"login": "admin"
},
"644aae458bd0a092fe342d1f020d4b7eccff9cf6cfc0677fe0d9531754edaff0": {
"expires": 1731692249.0,
"level": 10,
"login": "admin"
},
"653493a22274078fc44d52acb337b56bcd4084de2f0a1b6b79be186550a30cb3": {
"expires": 1731591365.0,
"level": 10,
"login": "admin"
},
"66618b25addefa9f12946c5afb65e8d690c5a871fff3d03fb796751a9eee0d41": {
"expires": 1731591683.0,
"level": 10,
"login": "admin"
},
"684613e83cfde35d79917108a4091de4c585e1ff627eee0d904920759dc3ea53": {
"expires": 1731712313.0,
"level": 10,
"login": "admin"
},
"68ecec112a27957857622d4c0ba02824f5e03981db6f51fa01c0be8ac893c6f1": {
"expires": 1731591683.0,
"level": 10,
"login": "admin"
},
"69d6aa5b5eae433a357dc92fe12bbfb7fd29629425f0edbe55e0ac4e8df112aa": {
"expires": 1731718574.0,
"level": 10,
"login": "admin"
},
"6c19cb32acd64f6c1543bf07dba3aee5ca5d3ba71f754e1e95acc3da5dc6aa27": {
"expires": 1731718629.0,
"level": 10,
"login": "admin"
},
"71c8d2cf33b22285f43c5855bdabd9ea25a18b177cfe28056c8bed41776d0ced": {
"expires": 1731664874.0,
"level": 10,
"login": "admin"
},
"745592d9be94482df01bc76010f58844175050e2bb7c0974de4e1f852a589554": {
"expires": 1731689116.0,
"level": 10,
"login": "admin"
},
"82ee9a0b4fde768d0580e85633012235fdf4683c0115ec121ba17282075483e7": {
"expires": 1731708818.0,
"level": 10,
"login": "admin"
},
"8346f9faa70bd614131a9115bcb33168ae9af221be0270e967c01e9c1c58129e": {
"expires": 1731693061.0,
"level": 10,
"login": "admin"
},
"861dbf07e0df2c29fedc8fcd5a346b4dcb1a0ece0f741befc3c72d3fadc82268": {
"expires": 1731722565.0,
"level": 10,
"login": "admin"
},
"88be8381b68afe4c56b949c2588dec6b57f2dbe5ae20faacb06c37b7cbdc8a8b": {
"expires": 1731718780.0,
"level": 10,
"login": "admin"
},
"8a010b80566da20d356b77df700e2444292eea50a928eb7613bc874462436f36": {
"expires": 1731602951.0,
"level": 10,
"login": "admin"
},
"8be44833b5b32f8ed1eb2e6dba5ec7aa49fc4307dbd18d03859c96d227a9058b": {
"expires": 1731658179.0,
"level": 10,
"login": "admin"
},
"8e2e998fabc8429ef4ba385a4d4ed401fbe2508192b65dc72280cdfc086948e0": {
"expires": 1731692291.0,
"level": 10,
"login": "admin"
},
"8e8ed10c9cb8ced98d7736a81b68990fff019ca2b32dd9093209b132906b68c3": {
"expires": 1731692267.0,
"level": 10,
"login": "admin"
},
"8fbfaad4b9fc517f848b6f052be51b3a2cd494247078bf053460f8b80e53065a": {
"expires": 1731595963.0,
"level": 10,
"login": "admin"
},
"9364816c6b2e739b647c43ad27b2d52593c2d59a5181aefcda12d04ea31d9fc6": {
"expires": 1731718765.0,
"level": 10,
"login": "admin"
},
"9a29ef6e50f415e5ccd36140eeab85a4409ae271470c1d51a32e0791c75ea588": {
"expires": 1731658513.0,
"level": 10,
"login": "admin"
},
"9b266dafeef7c956bb4d9e987791975b64e7333de860a0d9173e211524cc8540": {
"expires": 1731591553.0,
"level": 10,
"login": "admin"
},
"9c03a8e39a5ff42c889c73ad9d4d5d84e76747322dfdf714ccb74a0d37923682": {
"expires": 1731719394.0,
"level": 10,
"login": "admin"
},
"a7ba418572d761f89d13fd7a11d682a3c821406ccd29f3e6d683966d0fb3d3ab": {
"expires": 1731720041.0,
"level": 10,
"login": "admin"
},
"a7cc53afae41ab5e800893c7271acf272f34b604f7e1ace8c3f0232606d01e2b": {
"expires": 1731719810.0,
"level": 10,
"login": "admin"
},
"aa301c95f4890c38baa814503e940f28143304ad55dbfaea2db8aaec90169031": {
"expires": 1731599734.0,
"level": 10,
"login": "admin"
},
"ac98337f159cdc03b4865b80c78d53ab39502291fa19cc0b60233209e1d92bb7": {
"expires": 1731689363.0,
"level": 10,
"login": "admin"
},
"adf9d353a020d93e54b32b14c28525a7e6f33fd735144d7b778a4e517192b7c5": {
"expires": 1731691941.0,
"level": 10,
"login": "admin"
},
"ae48fe0ecea0704704bc6327b6bf3258de377b08fa4d76b4f69b8470852960c6": {
"expires": 1731591544.0,
"level": 10,
"login": "admin"
},
"ae967211fa06ac26d96e3207e67c136efc6367acc92d608e52e1f204b5bd3da4": {
"expires": 1731664535.0,
"level": 10,
"login": "admin"
},
"b0f55c6cad8bc2230754fd1bbeebfedd31ba244eac96e8d02be6d6a33b542b4f": {
"expires": 1731592529.0,
"level": 10,
"login": "admin"
},
"b689520f2e3ccf2164da5dba4bac111d4cbc6d3bdcf44361127baa0068623cd0": {
"expires": 1731717015.0,
"level": 10,
"login": "admin"
},
"bb92c09264296d8c12fac5d2abed2224b25a85d5a46d87f4a4351da76d00566e": {
"expires": 1731720040.0,
"level": 10,
"login": "admin"
},
"bbba0f20f9c1639ebfcaedb54a87d4b968bc953f72b06105f6d995f5eee9bff7": {
"expires": 1731591455.0,
"level": 10,
"login": "admin"
},
"c1a50b58a364f294755666d0e748ba2a06fbe55de758453180920774525214c8": {
"expires": 1731719336.0,
"level": 10,
"login": "admin"
},
"c6af2f6a6627cbbf18696f1b8b904346726800d05b137d251ee28b699fbd858c": {
"expires": 1731665294.0,
"level": 10,
"login": "admin"
},
"c86527a0aae330a71fc324a233ad876d420a54d387794374d126e7d6a0f19f92": {
"expires": 1731692356.0,
"level": 10,
"login": "admin"
},
"cd65741faf869e193c4e2a51e9454cf88598f58987b2ce559ef3d6bfa98e7605": {
"expires": 1731591572.0,
"level": 10,
"login": "admin"
},
"cdb4f2d14ab7de91b8be1261be40bf59f2bfa0e5e6327166ffa08cfa74eb357a": {
"expires": 1731692237.0,
"level": 10,
"login": "admin"
},
"d0f2c477a500bffcdcfbc56907df1b322200d9f7a801285bbe5440e5bca5e8c4": {
"expires": 1731711859.0,
"level": 10,
"login": "admin"
},
"d3a9186f1c2c81d8085d86c09ddd4fc5e205f61f25f3cabbc1ee379e52304c77": {
"expires": 1731718780.0,
"level": 10,
"login": "admin"
},
"d74ba4649e1a5a098d42c2f62472c94d4484f43b0979cbbd48b464ac5f20e49b": {
"expires": 1731716625.0,
"level": 10,
"login": "admin"
},
"d769dedd53059553cb54961641c0cbdf818533db06764fbcd5557a7200247c28": {
"expires": 1731718992.0,
"level": 10,
"login": "admin"
},
"d95d211a839a71c0bb00d2504f18deb81af2d0ab7183478543a5d28654a37197": {
"expires": 1731658629.0,
"level": 10,
"login": "admin"
},
"df84bacd66f8dbf2d1f150d839029e11b3ce56c0536183fd33656685bd446c44": {
"expires": 1731719340.0,
"level": 10,
"login": "admin"
},
"e8be12b35aa13a67bc7d3332d373b4117493319625c1ed87e3335ab8d09b9054": {
"expires": 1731686353.0,
"level": 10,
"login": "admin"
},
"f04dce449eb7dc69f7973906564c4aa224ff20595a3f2a3bfedbcd23ffaa9117": {
"expires": 1731658418.0,
"level": 10,
"login": "admin"
},
"f4472d087a796ef1f431c44d4f6e9d46ecfe88acce21368a7d85fc31e1efc1e9": {
"expires": 1731711611.0,
"level": 10,
"login": "admin"
},
"f62a451ea2933e56ff9dae2299e374477adb54d8c8285ea59d2ab15b9a80bd13": {
"expires": 1731712500.0,
"level": 10,
"login": "admin"
}
},
"show_session_speed": false,
"show_sidebar": true,
"sidebar_multiple_filters": true,
"sidebar_show_zero": false,
"theme": "gray"
}
@@ -0,0 +1,25 @@
<rss version="2.0">
<channel>
<title>Test feed</title>
<link>http://nginx/custom/sonarr_bad_stuck_metadata.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>Top.Gear.S23E01.720p.x265.HDTV.HEVC.-.YSTEAM</title>
<description>Test</description>
<size>4138858110</size>
<link>magnet:?xt=urn:btih:cf82cf859b110af0ad3d94b846e006828417b193&amp;dn=TPG.2301.720p.x265.yourserie.com.mkv</link>
<guid isPermaLink="false">
174674a88c8947f6f9057ac3f81efde384ed216cade43564ec450f2cb4677554
</guid>
<pubDate>Sat, 24 Sep 2022 22:02:13 -0300</pubDate>
</item>
</channel>
</rss>
@@ -0,0 +1,25 @@
<rss version="2.0">
<channel>
<title>Test feed</title>
<link>http://nginx/custom/sonarr_bad_stuck_metadata.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>Top.Gear.S23E01.720p.x265.HDTV.HEVC.-.YSTEAM</title>
<description>Test</description>
<size>4138858110</size>
<link>http://nginx/custom/sonarr_bad_stuck_stalled.torrent</link>
<guid isPermaLink="false">
174674a88c8947f6f9057ac3f81efde384ed216cade43564ec450f2cb4677554
</guid>
<pubDate>Sat, 24 Sep 2022 22:02:13 -0300</pubDate>
</item>
</channel>
</rss>
@@ -1,2 +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\0Z\xd2\x1b\0\0\0\x12\0\x41\0l\0l\0t\0i\0m\0\x65\0U\0L\0\0\0\x4\0\0\0\0\0\x90\xf9\xfc)
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\x61La\0\0\0\x12\0\x41\0l\0l\0t\0i\0m\0\x65\0U\0L\0\0\0\x4\0\0\0\0\0\x9bGV)
@@ -1 +1 @@
de6996481f4e318e7baff03b4043929c585a7c4e
cf82cf859b110af0ad3d94b846e006828417b193
@@ -1,2 +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\x1e\xc7?\0\0\0\x12\0\x41\0l\0l\0t\0i\0m\0\x65\0U\0L\0\0\0\x4\0\0\0\0\0+1q)
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!\x9d\x8e\0\0\0\x12\0\x41\0l\0l\0t\0i\0m\0\x65\0U\0L\0\0\0\x4\0\0\0\0\0.\xe6I)
@@ -1 +1 @@
{"update":{"sid":"3e34254f4ee14bf4bec2d0359c3f8ee4","did":"92eba3c5-a8d0-44d5-836d-25bc4aa81a85","init":true,"started":"2024-11-18T17:39:31.1848496+00:00","timestamp":"2024-11-18T17:39:31.1852902+00:00","seq":0,"duration":0,"errors":0,"attrs":{"release":"Radarr@5.14.0.9383-master","environment":"master"}}}
{"update":{"sid":"87056ff6106c4bcf8fc90506d02be642","did":"92eba3c5-a8d0-44d5-836d-25bc4aa81a85","init":true,"started":"2024-11-20T08:51:02.9022577+00:00","timestamp":"2024-11-20T08:51:02.902865+00:00","seq":0,"duration":0,"errors":0,"attrs":{"release":"Radarr@5.14.0.9383-master","environment":"master"}}}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
{"update":{"sid":"8d0da7a51b3942d9802c68e3c503f356","did":"1df9f2cc-17dc-4130-9753-9b694f82f1b5","init":true,"started":"2024-11-18T17:39:30.2546247+00:00","timestamp":"2024-11-18T17:39:30.255075+00:00","seq":0,"duration":0,"errors":0,"attrs":{"release":"4.0.10.2544-main","environment":"main"}}}
{"update":{"sid":"726ab1cef3114e11a386851d89cb6de4","did":"1df9f2cc-17dc-4130-9753-9b694f82f1b5","init":true,"started":"2024-11-20T08:51:02.5386604+00:00","timestamp":"2024-11-20T08:51:02.5393706+00:00","seq":0,"duration":0,"errors":0,"attrs":{"release":"4.0.10.2544-main","environment":"main"}}}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
146
145