This commit is contained in:
parent
ee0a631cd9
commit
b8e45417b5
11 changed files with 43 additions and 41 deletions
|
|
@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [2.0.41] - 2023-11-14
|
||||||
|
### Changed
|
||||||
|
- Upgraded to .NET8 to see if downloader perf improves.
|
||||||
|
|
||||||
## [2.0.40] - 2023-10-03
|
## [2.0.40] - 2023-10-03
|
||||||
### Changed
|
### Changed
|
||||||
- Symlink downloader fixes.
|
- Symlink downloader fixes.
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ RUN \
|
||||||
RUN ls -FCla /appclient/root
|
RUN ls -FCla /appclient/root
|
||||||
|
|
||||||
# Stage 2 - Build the backend
|
# Stage 2 - Build the backend
|
||||||
FROM mcr.microsoft.com/dotnet/sdk:6.0-bullseye-slim-amd64 AS dotnet-build-env
|
FROM mcr.microsoft.com/dotnet/sdk:8.0-bookworm-slim-amd64 AS dotnet-build-env
|
||||||
ARG TARGETPLATFORM
|
ARG TARGETPLATFORM
|
||||||
ENV TARGETPLATFORM=${TARGETPLATFORM:-linux/amd64}
|
ENV TARGETPLATFORM=${TARGETPLATFORM:-linux/amd64}
|
||||||
ARG BUILDPLATFORM
|
ARG BUILDPLATFORM
|
||||||
|
|
@ -71,7 +71,7 @@ RUN \
|
||||||
echo "**** Install pre-reqs ****" && \
|
echo "**** Install pre-reqs ****" && \
|
||||||
apk add bash icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib && \
|
apk add bash icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib && \
|
||||||
echo "**** Installing dotnet ****" && \
|
echo "**** Installing dotnet ****" && \
|
||||||
apk add aspnetcore6-runtime && \
|
apk add aspnetcore8-runtime && \
|
||||||
echo "**** Setting permissions ****" && \
|
echo "**** Setting permissions ****" && \
|
||||||
chown -R abc:abc /data && \
|
chown -R abc:abc /data && \
|
||||||
rm -rf \
|
rm -rf \
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ This is a web interface to manage your torrents on Real-Debrid, AllDebrid or Pre
|
||||||
- Download all files from Real-Debrid, AllDebrid or Premiumize to your local machine automatically
|
- Download all files from Real-Debrid, AllDebrid or Premiumize to your local machine automatically
|
||||||
- Unpack all files when finished downloading
|
- Unpack all files when finished downloading
|
||||||
- Implements a fake qBittorrent API so you can hook up other applications like Sonarr, Radarr or Couchpotato.
|
- Implements a fake qBittorrent API so you can hook up other applications like Sonarr, Radarr or Couchpotato.
|
||||||
- Built with Angular 15 and .NET 6
|
- Built with Angular 15 and .NET 8
|
||||||
|
|
||||||
**You will need a Premium service at Real-Debrid, AllDebrid or Premiumize!**
|
**You will need a Premium service at Real-Debrid, AllDebrid or Premiumize!**
|
||||||
|
|
||||||
|
|
@ -73,7 +73,7 @@ Replace the paths in `volumes` as in the above step.
|
||||||
Instead of running in Docker you can install it as a service in Windows or Linux.
|
Instead of running in Docker you can install it as a service in Windows or Linux.
|
||||||
## Windows Service
|
## Windows Service
|
||||||
|
|
||||||
1. Make sure you have the ASP.NET Core Runtime 6 installed: [https://dotnet.microsoft.com/download/dotnet/6.0](https://dotnet.microsoft.com/download/dotnet/6.0)
|
1. Make sure you have the ASP.NET Core Runtime 8 installed: [https://dotnet.microsoft.com/download/dotnet/8.0](https://dotnet.microsoft.com/download/dotnet/8.0)
|
||||||
1. Get the latest zip file from the Releases page and extract it to your host.
|
1. Get the latest zip file from the Releases page and extract it to your host.
|
||||||
1. Open the `appsettings.json` file and replace the `LogLevel` `Path` to a path on your host.
|
1. Open the `appsettings.json` file and replace the `LogLevel` `Path` to a path on your host.
|
||||||
1. In `appsettings.json` replace the `Database` `Path` to a path on your host.
|
1. In `appsettings.json` replace the `Database` `Path` to a path on your host.
|
||||||
|
|
@ -92,7 +92,7 @@ Instead of running in Docker you can install it as a service in Linux.
|
||||||
|
|
||||||
```rm packages-microsoft-prod.deb```
|
```rm packages-microsoft-prod.deb```
|
||||||
|
|
||||||
```sudo apt-get update && sudo apt-get install -y dotnet-sdk-6.0```
|
```sudo apt-get update && sudo apt-get install -y dotnet-sdk-8.0```
|
||||||
|
|
||||||
2. Get latest archive from [releases](https://github.com/rogerfar/rdt-client/releases):
|
2. Get latest archive from [releases](https://github.com/rogerfar/rdt-client/releases):
|
||||||
```wget <zip_url>```
|
```wget <zip_url>```
|
||||||
|
|
@ -218,7 +218,7 @@ By default the application runs in the root of your hosted address (i.e. https:/
|
||||||
- NodeJS
|
- NodeJS
|
||||||
- NPM
|
- NPM
|
||||||
- Angular CLI
|
- Angular CLI
|
||||||
- .NET 6
|
- .NET 8
|
||||||
- Visual Studio 2022
|
- Visual Studio 2022
|
||||||
- (optional) Resharper
|
- (optional) Resharper
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@
|
||||||
<a class="navbar-item" routerLink="profile"> Profile </a>
|
<a class="navbar-item" routerLink="profile"> Profile </a>
|
||||||
<a class="navbar-item" (click)="logout()"> Logout </a>
|
<a class="navbar-item" (click)="logout()"> Logout </a>
|
||||||
<hr class="navbar-divider" />
|
<hr class="navbar-divider" />
|
||||||
<a href="https://github.com/rogerfar/rdt-client" target="_blank" class="navbar-item">Version 2.0.40</a>
|
<a href="https://github.com/rogerfar/rdt-client" target="_blank" class="navbar-item">Version 2.0.41</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "rdt-client",
|
"name": "rdt-client",
|
||||||
"version": "2.0.40",
|
"version": "2.0.41",
|
||||||
"description": "This is a web interface to manage your torrents on Real-Debrid.",
|
"description": "This is a web interface to manage your torrents on Real-Debrid.",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,22 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<LangVersion>latest</LangVersion>
|
<LangVersion>latest</LangVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="6.0.21" />
|
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="8.0.0" />
|
||||||
<PackageReference Include="Microsoft.Data.Sqlite" Version="6.0.21" />
|
<PackageReference Include="Microsoft.Data.Sqlite" Version="8.0.0" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.21" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.0" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="6.0.21" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="8.0.0" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.21">
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.0">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Serilog" Version="2.12.0" />
|
<PackageReference Include="Serilog" Version="3.1.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<LangVersion>latest</LangVersion>
|
<LangVersion>latest</LangVersion>
|
||||||
|
|
@ -15,9 +15,9 @@
|
||||||
<PackageReference Include="MonoTorrent" Version="2.0.7" />
|
<PackageReference Include="MonoTorrent" Version="2.0.7" />
|
||||||
<PackageReference Include="Premiumize.NET" Version="1.0.4" />
|
<PackageReference Include="Premiumize.NET" Version="1.0.4" />
|
||||||
<PackageReference Include="RD.NET" Version="2.1.4" />
|
<PackageReference Include="RD.NET" Version="2.1.4" />
|
||||||
<PackageReference Include="Serilog" Version="2.12.0" />
|
<PackageReference Include="Serilog" Version="3.1.1" />
|
||||||
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
|
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
|
||||||
<PackageReference Include="SharpCompress" Version="0.33.0" />
|
<PackageReference Include="SharpCompress" Version="0.34.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -424,22 +424,22 @@ public class QBittorrent
|
||||||
switch (Settings.Get.Integrations.Default.FinishedAction)
|
switch (Settings.Get.Integrations.Default.FinishedAction)
|
||||||
{
|
{
|
||||||
case TorrentFinishedAction.RemoveAllTorrents:
|
case TorrentFinishedAction.RemoveAllTorrents:
|
||||||
_logger.LogDebug($"Removing torrents from Real-Debrid and Real-Debrid Client, no files", torrent);
|
_logger.LogDebug("Removing torrents from Real-Debrid and Real-Debrid Client, no files");
|
||||||
await _torrents.Delete(torrent.TorrentId, true, true, false);
|
await _torrents.Delete(torrent.TorrentId, true, true, false);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TorrentFinishedAction.RemoveRealDebrid:
|
case TorrentFinishedAction.RemoveRealDebrid:
|
||||||
_logger.LogDebug($"Removing torrents from Real-Debrid, no files", torrent);
|
_logger.LogDebug("Removing torrents from Real-Debrid, no files");
|
||||||
await _torrents.Delete(torrent.TorrentId, false, true, false);
|
await _torrents.Delete(torrent.TorrentId, false, true, false);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TorrentFinishedAction.RemoveClient:
|
case TorrentFinishedAction.RemoveClient:
|
||||||
_logger.LogDebug($"Removing torrents from client, no files", torrent);
|
_logger.LogDebug("Removing torrents from client, no files");
|
||||||
await _torrents.Delete(torrent.TorrentId, true, false, false);
|
await _torrents.Delete(torrent.TorrentId, true, false, false);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case TorrentFinishedAction.None:
|
case TorrentFinishedAction.None:
|
||||||
_logger.LogDebug($"Not removing torrents or files", torrent);
|
_logger.LogDebug("Not removing torrents or files");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -237,7 +237,7 @@ public class QBittorrentController : Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
[Authorize(Policy = "AuthSetting")]
|
[Authorize(Policy = "AuthSetting")]
|
||||||
[Route("torrents/topPrio")]
|
[Route("torrents/pause")]
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<ActionResult> TorrentsPausePost([FromForm] QBTorrentsHashesRequest request)
|
public async Task<ActionResult> TorrentsPausePost([FromForm] QBTorrentsHashesRequest request)
|
||||||
{
|
{
|
||||||
|
|
@ -265,7 +265,7 @@ public class QBittorrentController : Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
[Authorize(Policy = "AuthSetting")]
|
[Authorize(Policy = "AuthSetting")]
|
||||||
[Route("torrents/topPrio")]
|
[Route("torrents/resume")]
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<ActionResult> TorrentsResumePost([FromForm] QBTorrentsHashesRequest request)
|
public async Task<ActionResult> TorrentsResumePost([FromForm] QBTorrentsHashesRequest request)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using Microsoft.AspNetCore.Authentication.Cookies;
|
using Microsoft.AspNetCore.Authentication.Cookies;
|
||||||
|
using Microsoft.AspNetCore.Http;
|
||||||
using Microsoft.AspNetCore.Identity;
|
using Microsoft.AspNetCore.Identity;
|
||||||
using Microsoft.Extensions.Hosting.WindowsServices;
|
using Microsoft.Extensions.Hosting.WindowsServices;
|
||||||
using RdtClient.Data.Data;
|
using RdtClient.Data.Data;
|
||||||
|
|
@ -174,14 +175,11 @@ try
|
||||||
app.UseRouting();
|
app.UseRouting();
|
||||||
|
|
||||||
app.UseAuthentication();
|
app.UseAuthentication();
|
||||||
|
|
||||||
app.UseAuthorization();
|
app.UseAuthorization();
|
||||||
|
|
||||||
app.UseEndpoints(endpoints =>
|
app.MapHub<RdtHub>("/hub");
|
||||||
{
|
|
||||||
endpoints.MapHub<RdtHub>("/hub");
|
app.MapControllers();
|
||||||
endpoints.MapControllers();
|
|
||||||
});
|
|
||||||
|
|
||||||
app.MapWhen(x => !x.Request.Path.StartsWithSegments("/api"), routeBuilder =>
|
app.MapWhen(x => !x.Request.Path.StartsWithSegments("/api"), routeBuilder =>
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<UserSecretsId>94c24cba-f03f-4453-a671-3640b517c573</UserSecretsId>
|
<UserSecretsId>94c24cba-f03f-4453-a671-3640b517c573</UserSecretsId>
|
||||||
<Version>2.0.40</Version>
|
<Version>2.0.41</Version>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<LangVersion>latest</LangVersion>
|
<LangVersion>latest</LangVersion>
|
||||||
|
|
@ -29,17 +29,17 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNetCore.SpaServices.Extensions" Version="6.0.21" />
|
<PackageReference Include="Microsoft.AspNetCore.SpaServices.Extensions" Version="8.0.0" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.21" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.0" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="6.0.21" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="8.0.0" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.21">
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.0">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="6.0.1" />
|
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="8.0.0" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Identity.Core" Version="6.0.21" />
|
<PackageReference Include="Microsoft.Extensions.Identity.Core" Version="8.0.0" />
|
||||||
<PackageReference Include="Serilog" Version="2.12.0" />
|
<PackageReference Include="Serilog" Version="3.1.1" />
|
||||||
<PackageReference Include="Serilog.AspNetCore" Version="6.1.0" />
|
<PackageReference Include="Serilog.AspNetCore" Version="7.0.0" />
|
||||||
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
|
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue