Add Real-Debrid GUI downloader with parallel download and auto-update support
Some checks are pending
Build and Release / build (push) Waiting to run
Some checks are pending
Build and Release / build (push) Waiting to run
This commit is contained in:
commit
2302be6621
43
.github/workflows/release.yml
vendored
Normal file
43
.github/workflows/release.yml
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
name: Build and Release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "v*"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.11"
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
pip install pyinstaller
|
||||
|
||||
- name: Build exe
|
||||
run: |
|
||||
pyinstaller --noconfirm --onefile --windowed --name "Real-Debrid-Downloader" real_debrid_downloader_gui.py
|
||||
|
||||
- name: Pack release zip
|
||||
shell: pwsh
|
||||
run: |
|
||||
New-Item -ItemType Directory -Path release -Force | Out-Null
|
||||
Copy-Item "dist/Real-Debrid-Downloader.exe" "release/Real-Debrid-Downloader.exe"
|
||||
Compress-Archive -Path "release/*" -DestinationPath "Real-Debrid-Downloader-win64.zip" -Force
|
||||
|
||||
- name: Publish GitHub Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: Real-Debrid-Downloader-win64.zip
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
15
.gitignore
vendored
Normal file
15
.gitignore
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
__pycache__/
|
||||
*.pyc
|
||||
*.pyo
|
||||
*.pyd
|
||||
|
||||
.venv/
|
||||
venv/
|
||||
|
||||
build/
|
||||
dist/
|
||||
*.spec
|
||||
|
||||
rd_downloader_config.json
|
||||
_update_staging/
|
||||
apply_update.cmd
|
||||
86
README.md
Normal file
86
README.md
Normal file
@ -0,0 +1,86 @@
|
||||
# Real-Debrid Downloader GUI
|
||||
|
||||
Kleine Desktop-App mit GUI (Tkinter), um mehrere Links (z. B. 20+) einzufuegen,
|
||||
ueber Real-Debrid zu unrestricten und direkt auf deinen PC zu laden.
|
||||
|
||||
## Features
|
||||
|
||||
- Mehrere Links auf einmal (ein Link pro Zeile)
|
||||
- Nutzt die Real-Debrid API (`/unrestrict/link`)
|
||||
- Download-Status pro Link
|
||||
- Download-Speed pro Link und gesamt
|
||||
- Gesamt-Fortschritt
|
||||
- Download-Ordner und Paketname waehlbar
|
||||
- Einstellbare Parallel-Downloads (z. B. 20 gleichzeitig)
|
||||
- Automatisches Entpacken nach dem Download
|
||||
- `Entpacken nach` + optional `Unterordner erstellen (Paketname)` wie bei JDownloader
|
||||
- ZIP-Passwort-Check mit `serienfans.org` und `serienjunkies.net`
|
||||
- Multi-Part-RAR wird ueber `part1` entpackt (nur wenn alle Parts vorhanden sind)
|
||||
- Auto-Update Check ueber GitHub Releases (fuer .exe)
|
||||
- Optionales lokales Speichern vom API Token
|
||||
|
||||
## Voraussetzung
|
||||
|
||||
- Python 3.10+
|
||||
- Optional, aber empfohlen: 7-Zip im PATH fuer RAR/7Z-Entpackung
|
||||
- Alternative fuer RAR: WinRAR `UnRAR.exe` (wird automatisch erkannt)
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
python -m venv .venv
|
||||
.venv\Scripts\activate
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
## Start
|
||||
|
||||
```bash
|
||||
python real_debrid_downloader_gui.py
|
||||
```
|
||||
|
||||
## Nutzung
|
||||
|
||||
1. API Token von Real-Debrid eintragen (`https://real-debrid.com/apitoken`)
|
||||
2. Download-Ordner waehlen
|
||||
3. Optional Paketname setzen (sonst wird automatisch einer erzeugt)
|
||||
4. Optional Entpack-Ordner waehlen (`Entpacken nach`)
|
||||
5. Optional `Unterordner erstellen (Paketname)` aktiv lassen
|
||||
6. Parallel-Wert setzen (z. B. 20)
|
||||
7. Links in das Textfeld eintragen (pro Zeile ein Link)
|
||||
8. `Download starten` klicken
|
||||
|
||||
Wenn du 20 Links einfuegst, werden sie als ein Paket behandelt. Downloads landen in einem Paketordner. Beim Entpacken kann derselbe Paketname automatisch als Unterordner genutzt werden.
|
||||
|
||||
## Auto-Update (GitHub)
|
||||
|
||||
1. Standard-Repo ist bereits gesetzt: `Sucukdeluxe/real-debrid-downloader`
|
||||
2. Optional kannst du es in der App mit `GitHub Repo (owner/name)` ueberschreiben
|
||||
3. Klicke `Update suchen` oder aktiviere `Beim Start auf Updates pruefen`
|
||||
4. In der .exe wird ein neues Release heruntergeladen und beim Neustart installiert
|
||||
|
||||
Hinweis: Beim Python-Skript gibt es nur einen Release-Hinweis, kein Self-Replace.
|
||||
|
||||
## Release Build (.exe)
|
||||
|
||||
```bash
|
||||
pip install pyinstaller
|
||||
pyinstaller --noconfirm --onefile --windowed --name "Real-Debrid-Downloader" real_debrid_downloader_gui.py
|
||||
```
|
||||
|
||||
Danach liegt die EXE in `dist/`.
|
||||
|
||||
## GitHub Release Workflow
|
||||
|
||||
- Workflow-Datei: `.github/workflows/release.yml`
|
||||
- Bei Tag-Push wie `v1.0.1` wird automatisch eine Windows-EXE gebaut
|
||||
- Release-Asset fuer Auto-Update: `Real-Debrid-Downloader-win64.zip`
|
||||
|
||||
Beispiel:
|
||||
|
||||
```bash
|
||||
git tag v1.0.1
|
||||
git push origin v1.0.1
|
||||
```
|
||||
|
||||
Hinweis: Die App kann nur Links laden, die von Real-Debrid unterstuetzt werden.
|
||||
6
build_exe.ps1
Normal file
6
build_exe.ps1
Normal file
@ -0,0 +1,6 @@
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
pip install pyinstaller
|
||||
pyinstaller --noconfirm --onefile --windowed --name "Real-Debrid-Downloader" real_debrid_downloader_gui.py
|
||||
|
||||
Write-Host "Build fertig: dist/Real-Debrid-Downloader.exe"
|
||||
1387
real_debrid_downloader_gui.py
Normal file
1387
real_debrid_downloader_gui.py
Normal file
File diff suppressed because it is too large
Load Diff
2
requirements.txt
Normal file
2
requirements.txt
Normal file
@ -0,0 +1,2 @@
|
||||
requests>=2.31.0
|
||||
pyzipper>=0.3.6
|
||||
Loading…
Reference in New Issue
Block a user