2025-04-21 21:32:41 +02:00
|
|
|
|
# pyUpload (TKInter Version)
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|

|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
## ⚠️ Projektstatus: Eingefroren – Nur noch Bugfixes
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
Diese Version von **pyUpload** wird **nicht weiterentwickelt** und erhält nur noch Fehlerbehebungen.
|
|
|
|
|
Die neue Version mit Flask-Backend ist **BALD** verfügbar unter:
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
🔗 **<https://github.com/realAscot/pyUpload2>**
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
---
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
## pyUpload – Sicherer Datei-Upload-Server über HTTPS (lokal & offline)
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
Diese Version basiert auf **Tkinter (GUI + QR)** sowie einer optionalen **reinen CLI-Nutzung**.
|
|
|
|
|
Sie ist vollständig lokal lauffähig – ganz ohne Installation von externen Tools oder komplexen Abhängigkeiten.
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
---
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
## 🛠 Features
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
- **HTTPS-gesicherter Datei-Upload**
|
|
|
|
|
- **Selbstsigniertes SSL-Zertifikat bei Bedarf**
|
|
|
|
|
- **QR-Code-basierte Verbindung für Smartphones**
|
|
|
|
|
- **Client-spezifische Verzeichnisse und Logs**
|
|
|
|
|
- **GUI und Konsolen-Modus verfügbar**
|
|
|
|
|
- **automatische Einrichtung von `.venv` und Abhängigkeiten**
|
|
|
|
|
- **kein Installationsskript mehr nötig – alles passiert beim Start von `main.py`**
|
2025-03-13 00:37:55 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
---
|
2025-03-13 00:37:55 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
## 🚀 Schnellstart
|
|
|
|
|
|
|
|
|
|
### ▶️ Für Windows:
|
|
|
|
|
|
|
|
|
|
1. Lade das Projekt herunter oder klone es:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
|
|
|
|
|
git clone https://github.com/realAscot/pyUpload
|
2025-03-13 00:37:55 +01:00
|
|
|
|
```
|
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
2. Starte die App mit:
|
|
|
|
|
|
|
|
|
|
```cmd
|
|
|
|
|
start.cmd
|
2025-03-13 00:37:55 +01:00
|
|
|
|
```
|
2025-04-21 21:32:41 +02:00
|
|
|
|
|
|
|
|
|
Alternativ in PowerShell:
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
|
cmd /c start.cmd
|
2025-03-12 22:21:30 +01:00
|
|
|
|
```
|
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
### 🐧 Für Linux / macOS:
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
1. Stelle sicher, dass Python 3.8+ installiert ist:
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
```bash
|
|
|
|
|
python3 --version
|
2025-03-12 22:21:30 +01:00
|
|
|
|
```
|
2025-04-21 21:32:41 +02:00
|
|
|
|
|
|
|
|
|
2. Mache das Startscript ausführbar:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
chmod +x start.sh
|
2025-03-13 00:37:55 +01:00
|
|
|
|
```
|
2025-04-21 21:32:41 +02:00
|
|
|
|
|
|
|
|
|
3. Starte die App:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
./start.sh
|
2025-03-12 22:21:30 +01:00
|
|
|
|
```
|
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
Beim ersten Start wird automatisch:
|
|
|
|
|
|
|
|
|
|
- eine virtuelle Umgebung `.venv/` im `app/`-Verzeichnis erzeugt
|
|
|
|
|
- `requirements.txt` installiert
|
|
|
|
|
- das Programm danach neu aus der Umgebung gestartet
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 🧩 Kommandozeilenoptionen
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
python app\main.py --nogui # Start ohne GUI / QR
|
|
|
|
|
python app\main.py --port 9999 # Custom-Port verwenden
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 🌐 Zugriff im Browser
|
|
|
|
|
|
|
|
|
|
Sobald gestartet:
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
```https
|
|
|
|
|
https://<lokale-IP>:4443
|
|
|
|
|
```
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
Alternativ QR-Code scannen (GUI-Modus).
|
|
|
|
|
Dateien werden im `upload/<Client-IP>/` gespeichert.
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
---
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
## 📁 Logs & Uploads
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
- **Uploads**: im Ordner `upload/` nach Client-IP
|
|
|
|
|
- **Zentrale Logs**: `logs/pyupload.log`
|
|
|
|
|
- **Pro-Client Logs**: `logs/<Client-IP>.log`
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
---
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
## 🔐 Hinweis zur SSL-Zertifikatswarnung
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
Beim ersten Aufruf im Browser erscheint eine Warnung wegen des selbstsignierten Zertifikats.
|
|
|
|
|
Du kannst:
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
- auf **„Erweitert“ > „Trotzdem fortfahren“** klicken
|
|
|
|
|
- eigene Zertifikate in `cert.pem` und `key.pem` hinterlegen
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
---
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
## 👨💻 Autor
|
2025-03-13 00:37:55 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
- **Adam Skotarczak**
|
|
|
|
|
Kontakt: [adam@skotarczak.net](mailto:adam@skotarczak.net)
|
|
|
|
|
GitHub: [realAscot](https://github.com/realAscot)
|
2025-03-13 00:37:55 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
---
|
2025-03-13 00:37:55 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
## 📝 Lizenz
|
2025-03-12 22:21:30 +01:00
|
|
|
|
|
2025-04-21 21:32:41 +02:00
|
|
|
|
- Proprietär, © 2025 Adam Skotarczak
|
|
|
|
|
**Keine Weitergabe ohne ausdrückliche Genehmigung**
|