Skip to content

Commit

Permalink
Version updated to v.0.5.440
Browse files Browse the repository at this point in the history
  • Loading branch information
DamianMorozov committed Jan 25, 2025
1 parent 1eafbc3 commit d193b2f
Show file tree
Hide file tree
Showing 282 changed files with 838 additions and 519 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -405,3 +405,4 @@ FodyWeavers.xsd
/Clients/TgDownloaderConsole/TgDownloader.session
/Clients/TgDownloaderConsole/TgDownloader.xml
/Core/TgStorage/Domain/TgDevContext.cs
/Presentation/TgDownloaderConsole/TgDownloader.session
4 changes: 2 additions & 2 deletions Core/TgDownloaderDesktop.Core/TgDownloaderDesktop.Core.csproj
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net9.0</TargetFramework>
<RootNamespace>TgDownloaderDesktop.Core</RootNamespace>
<Platforms>AnyCPU;x64;x86</Platforms>
<Platforms>x86;x64;arm64;AnyCPU</Platforms>
<ImplicitUsings>enable</ImplicitUsings>
<Version>0.5.410.0</Version>
<Version>0.5.440.0</Version>
</PropertyGroup>

<ItemGroup>
Expand Down
11 changes: 11 additions & 0 deletions Core/TgInfrastructure/Enums/TgEnumLicenseType.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// This is an independent project of an individual developer. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: http://www.viva64.com

namespace TgInfrastructure.Enums;

public enum TgEnumLicenseType
{
Free,
Paid,
Premium
}
26 changes: 20 additions & 6 deletions Core/TgInfrastructure/Helpers/TgLicenseManagerHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,32 @@ public void ActivateLicense(string licenseKey = "", string licenseFreeDescriptio
{
if (licenseKey.StartsWith("PAID"))
{
CurrentLicense = new TgLicensePaid { LicenseKey = licenseKey, ExpirationDate = DateTime.Now.AddYears(1) };
CurrentLicense.Description = licensePaidDescription;
CurrentLicense = new TgLicensePaid
{
LicenseKey = licenseKey,
LicenseType = TgEnumLicenseType.Paid,
ExpirationDate = DateTime.Now.AddYears(1),
Description = licensePaidDescription
};
return;
}
if (licenseKey.StartsWith("PREMIUM"))
{
CurrentLicense = new TgLicensePremium { LicenseKey = licenseKey, ExpirationDate = DateTime.Now.AddYears(1), PrioritySupport = true };
CurrentLicense.Description = licensePremiumDescription;
CurrentLicense = new TgLicensePremium
{
LicenseKey = licenseKey,
LicenseType = TgEnumLicenseType.Premium,
ExpirationDate = DateTime.Now.AddYears(1),
PrioritySupport = true,
Description = licensePremiumDescription
};
return;
}
CurrentLicense = new TgLicenseFree { LicenseKey = licenseKey };
CurrentLicense.Description = licenseFreeDescription;
CurrentLicense = new TgLicenseFree
{
LicenseKey = licenseKey,
Description = licenseFreeDescription
};
}

public bool IsLicenseValid() => CurrentLicense.IsValid();
Expand Down
4 changes: 3 additions & 1 deletion Core/TgInfrastructure/License/TgLicense.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ public abstract partial class TgLicense : ObservableRecipient

[ObservableProperty]
public partial string Description { get; set; } = "Empty license";
public string LicenseKey { get; set; } = "";
[ObservableProperty]
public partial string LicenseKey { get; set; } = "";
public TgEnumLicenseType LicenseType { get; set; } = TgEnumLicenseType.Free;

#endregion

Expand Down
6 changes: 3 additions & 3 deletions Core/TgInfrastructure/TgInfrastructure.csproj
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Platforms>AnyCPU;x86;x64</Platforms>
<Version>0.5.410.0</Version>
<Version>0.5.440.0</Version>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DebugType>none</DebugType>
Expand All @@ -20,6 +20,6 @@
<PackageReference Include="CodingSeb.Localization.JsonFileLoader" Version="1.3.1" />
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.0" />
<PackageReference Include="WTelegramBot" Version="8.2.1" />
<PackageReference Include="WTelegramClient" Version="4.2.7" />
<PackageReference Include="WTelegramClient" Version="4.2.8" />
</ItemGroup>
</Project>
16 changes: 8 additions & 8 deletions Core/TgStorage/TgStorage.csproj
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Version>0.5.410.0</Version>
<Version>0.5.440.0</Version>
<Platforms>AnyCPU;x64;x86</Platforms>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
Expand All @@ -18,20 +18,20 @@
<ItemGroup>
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.0" />
<PackageReference Include="FluentValidation" Version="11.11.0" />
<PackageReference Include="Microsoft.Data.Sqlite" Version="9.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.0">
<PackageReference Include="Microsoft.Data.Sqlite" Version="9.0.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.0">
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="ProxyLib" Version="1.0.2" />
<PackageReference Include="sqlite-net-pcl" Version="1.9.172" />
<PackageReference Include="WTelegramClient" Version="4.2.7" />
<PackageReference Include="WTelegramClient" Version="4.2.8" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\TgInfrastructure\TgInfrastructure.csproj" />
Expand Down
17 changes: 14 additions & 3 deletions Docs/CHANGELOG-RUS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,28 @@
и этот проект придерживается [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Нереализовано]

## [0.5.440] - 2025-01-25
### Исправлено
- Исправлены проверки файлов для TgDownloaderDesktop
### Изменено
- Обновлена страница подключения в TgDownloaderDesktop
### Изменено
- Обновлена таблица приложений в TgStorage
- Обновлён образ TgDownloaderConsole Docker
### Добавлено
- Добавлен Velopack инсталлятор для TgDownloaderDesktop
- Добавлен фильтр чатов для TgDownloaderDesktop
- Добавлена страница подробностей чата для TgDownloaderDesktop
- Добавлен запуск скачивания чата на странице подробностей для TgDownloaderDesktop
- Добавлен останов скачивания чата на странице подробностей для TgDownloaderDesktop
- Исправлены проверки файлов для TgDownloaderDesktop

## [0.5.430] - 2025-01-23
### Исправлено
- Исправления для TgStorage
- Исправления для TgDownloaderConsole
### Изменено
- Обновлена таблица приложений в TgStorage
- Обновлены NuGet пакеты
- Обновлена версия .NET с 8.0 на 9.0

## [0.5.410] - 2025-01-18
### Исправлено
Expand Down
23 changes: 18 additions & 5 deletions Docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,34 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.5.440] - 2025-01-25
### Fixed
- Fixed file checks for TgDownloaderDesktop
### Changed
- Updated connection page in TgDownloaderDesktop
### Cganged
- Updated apps table for TgStorage
- Updated TgDownloaderConsole Docker image
### Added
- Added Velopack installer for TgDownloaderDesktop
- Added chat filter to TgDownloaderDesktop
- Added page of chat details to TgDownloaderDesktop
- Added launching download chat on the details page to TgDownloaderDesktop
- Added chat download stop on the details page to TgDownloaderDesktop
- Fixed file checks for TgDownloaderDesktop

## [0.5.430] - 2025-01-23
### Fixed
- Fixed bugs for TgStorage
- Fixed bugs for TgDownloaderConsole
### Changed
- Updated apps table for TgStorage
- Updated NuGet packages
- Updated .NET version from 8.0 to 9.0

## [0.5.410] - 2025-01-18
### Fixed
- Fixed chat connection check to TgDownloaderConsole
### Changed
- Updated apps table for TgStorage
### Added
- Added Velopack installer for TgDownloaderConsole
- Added update menu for TgDownloaderConsole
Expand All @@ -34,7 +47,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed
- Fixed `Sequence contains more than one element` error to TgDownloaderConsole
- Fixed `Access to the path ...\TgDownloader.xml is denied` error when connecting to the server to TgDownloaderDesktop
### Cganged
### Changed
- Updated contacts page to TgDownloaderDesktop
- Updated filters page to TgDownloaderDesktop
- Updated sources page to TgDownloaderDesktop
Expand All @@ -46,7 +59,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [0.5.300] - 2025-01-03
### Fixed
- Connecting to Telegram server to TgDownloaderDesktop
### Cganged
### Changed
- Updated contacts page to TgDownloaderConsole
- Updated home page to TgDownloaderDesktop
- Updated sources page to TgDownloaderConsole
Expand Down
12 changes: 12 additions & 0 deletions Docs/GUIDE-SETUP-CONSOLE-RUS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Руководство по настройке Консольной версии

## Установка и запуск TgDownloaderConsole под ОС Windows
- Скачайте и запустите инсталлятор [TgDownloaderConsole-win-x64-Setup.exe](https://github.com/DamianMorozov/TgDownloader/releases)
- Нажмите кнопку `Старт`, затем наберите и выполните `TgDownloaderConsole`

## Быстрый старт
- Application -> Locate the storage file
- Connection -> Connect the client to TG server

## Настройки по умолчанию для TgDownloaderConsole
- Удалите файл `TgDownloader.xml`
12 changes: 12 additions & 0 deletions Docs/GUIDE-SETUP-CONSOLE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Guide to setup the Console version

## Setup and run TgDownloaderConsole under Windows OS
- Download and run the installer [TgDownloaderConsole-win-x64-Setup.exe](https://github.com/DamianMorozov/TgDownloader/releases)
- Click the `Start` button, then type and execute `TgDownloaderConsole`
-
## Quick Start
- Application -> Locate the storage file
- Connection -> Connect the client to TG server

## Default settings for TgDownloaderConsole
- Delete the file `TgDownloader.xml`
16 changes: 5 additions & 11 deletions Docs/GUIDE-SETUP-DESKTOP-RUS.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,10 @@
# Руководство по настройке десктоп версии
# Руководство по настройке Десктоп версии

## Запуск TgDownloaderDesktop под ОС Windows
- Скачать файл `TgDownloaderDesktop-Installing.ps1` в `c:\TgDownloader-Releases`
- Запустить `PowerShell` с правами администратора
- Выдать временные права доступа на установку `Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass`
- Запустить файл `TgDownloaderDesktop-Installing.ps1` в `PowerShell`
## Установка и запуск TgDownloaderDesktop под ОС Windows
- Скачайте и запустите инсталлятор [TgDownloaderDesktop-win-x64-Setup.exe](https://github.com/DamianMorozov/TgDownloader/releases)
- Нажмите кнопку `Старт`, затем наберите и выполните `TgDownloaderDesktop`

1. Запустите ПО.
Оба чекбокса должны быть в положении включено.
<p align="center"><img src="Assets/TgDownloaderWinDesktop.png"></p>

2. Перейдите на вкладку "Клиент".
## Настройка подключения
Кликните по ссылке справа: https://my.telegram.org/auth?to=apps
Там вы сможете зарегистрировать своё ПО для использования с телеграм.
Введите полученные данные в поля:
Expand Down
16 changes: 5 additions & 11 deletions Docs/GUIDE-SETUP-DESKTOP.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,10 @@
# Guide to setup the desktop version
# Guide to setup the Desktop version

## Run TgDownloaderDesktop under Windows OS
- Download the `TgDownloaderDesktop-Installing.ps1` file to `c:\TgDownloader-Releases`
- Run `PowerShell` with administrator rights
- Grant temporary access rights to install `Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass`
- Run the `TgDownloaderDesktop-Installing.ps1` file in `PowerShell`
## Setup and run TgDownloaderDesktop under Windows OS
- Download and run the installer [TgDownloaderDesktop-win-x64-Setup.exe](https://github.com/DamianMorozov/TgDownloader/releases)
- Click the `Start` button, then type and execute `TgDownloaderDesktop`

1. Start the software.
Both checkboxes should be in the on position.
<p align="center"><img src="Assets/TgDownloaderWinDesktop.png"></p>

2. Click on the "Client" tab.
## Connection setup
Click on the link on the right: https://my.telegram.org/auth?to=apps
There you will be able to register your software for use with telegram.
Enter the data you received into the fields:
Expand Down
2 changes: 1 addition & 1 deletion Docs/GUIDE-SETUP-DOCKER-RUS.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Руководство по настройке докер версии
# Руководство по настройке Докер версии

## Docker compose usage
```
Expand Down
2 changes: 1 addition & 1 deletion Docs/GUIDE-SETUP-DOCKER.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Guide to setup the docker version
# Guide to setup the Docker version

## Docker compose usage
```
Expand Down
32 changes: 32 additions & 0 deletions Docs/GUIDE-SETUP-FILTERS-RUS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Руководство по настройке фильтров
Просмотр фильтров -- список всех фильтров
Добавить фильтр -- добавить новый фильтр
Редактировать фильтр -- редактировать существующий фильтр
Удалить фильтр -- удалить существующий фильтр
Сбросить фильтр -- удалить все существующие фильтры

## Пример добавления фильтра типа `Одно имя`
Установить имя: develop
Установить маску: c*#

## Пример фильтра добавления типа `Одиночное расширение`
Установить имя: книга
Установить маску: pdf

## Пример фильтра добавления типа `Много имен`
Установить имя: разработки
Установить маску: c*#, python

## Пример фильтра добавления типа `Множественное расширение`
Установить имя: книги
Установить маску: epub, fb2, pdf

## Пример добавления фильтра типа `Минимальный размер файла`.
Установить имя: min 1 mb
Установить тип размера файла: MBytes
Минимальный размер файла: 1

## Пример добавления типа фильтра `Максимальный размер файла`
Установить имя: max 2 гб
Установить тип размера файла: GBytes
Минимальный размер файла: 2
32 changes: 32 additions & 0 deletions Docs/GUIDE-SETUP-FILTERS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Guide for filters settings
View filters -- list of all filters
Add filter -- add new filter
Edit filter -- edit exists filter
Remove filter -- remove exists filter
Reset filter -- remove all exists filters

## Example of add filter type `Single name`
Set name: develop
Set mask: c*#

## Example of add filter type `Single extension`
Set name: book
Set mask: pdf

## Example of add filter type `Multi name`
Set name: develops
Set mask: c*#, python

## Example of add filter type `Multi extension`
Set name: books
Set mask: epub, fb2, pdf

## Example of add filter type `File minimum size`
Set name: min 1 mb
Set file size type: MBytes
File minimum size: 1

## Example of add filter type `File minimum size`
Set name: max 2 gb
Set file size type: GBytes
File minimum size: 2
9 changes: 9 additions & 0 deletions Docs/GUIDE-SETUP-GROUPS-RUS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Руководство для загрузке групп
1. Присоединитесь к группе в Telegram.
2. Щелкните правой кнопкой мыши любое сообщение -> `Копировать ссылку на сообщение`.
3. Отредактируйте ссылку в буфере обмена `https://t.me/c/group_id/message_number` следующим образом `group_id`.
4. Запустите `TgDownloaderConsole.exe` (Windows) или `dotnet TgDownloaderConsole.dll` (Linux).
5. Перейдите в раздел -> `Download settings` -> `Setup source (ID/username)` -> вставьте `group_id`.
6. Перейдите в папку -> `Setup download folder` -> `Drive:\Storage_path`.
7. Перейдите в папку -> `Manual download`.
8. Наслаждайтесь.
9 changes: 9 additions & 0 deletions Docs/GUIDE-SETUP-GROUPS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Guide for downloading groups
1. Join a group on Telegram.
2. Right click any message -> `Copy Message Link`.
3. Edit the link on the clipboard `https://t.me/c/group_id/message_number` like this `group_id`.
4. Run `TgDownloaderConsole.exe` (Windows) or `dotnet TgDownloaderConsole.dll` (Linux).
5. Go to the -> `Download settings` -> `Setup source (ID/username)` -> paste `group_id`.
6. Go to the -> `Setup download folder` -> `Drive:\Storage_path`.
7. Go to the -> `Manual download`.
8. Enjoy.
Loading

0 comments on commit d193b2f

Please sign in to comment.