Feinschliff und README erweitert. start.cmd hat nun einen Fallback falls die .venv nicht vorhanden ist
This commit is contained in:
parent
72efb6ac59
commit
b7dfa5fc60
58
README.md
58
README.md
@ -11,7 +11,23 @@ Die neue Version mit Flask-Backend ist **BALD** verfügbar unter:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## pyUpload – Sicherer Datei-Upload-Server über HTTPS (lokal & offline)
|
- [pyUpload (TKInter Version)](#pyupload-tkinter-version)
|
||||||
|
- [⚠️ Projektstatus: Eingefroren – Nur noch Bugfixes](#️-projektstatus-eingefroren--nur-noch-bugfixes)
|
||||||
|
- [pyUpload – Sicherer Datei-Upload-Server über HTTPS (lokal \& offline)](#pyupload--sicherer-datei-upload-server-über-https-lokal--offline)
|
||||||
|
- [🛠 Features](#-features)
|
||||||
|
- [🚀 Schnellstart](#-schnellstart)
|
||||||
|
- [▶️ Für Windows:](#️-für-windows)
|
||||||
|
- [🐧 Für Linux / macOS:](#-für-linux--macos)
|
||||||
|
- [🧩 Kommandozeilenoptionen](#-kommandozeilenoptionen)
|
||||||
|
- [🌐 Zugriff im Browser](#-zugriff-im-browser)
|
||||||
|
- [📁 Logs \& Uploads](#-logs--uploads)
|
||||||
|
- [🔐 Hinweis zur SSL-Zertifikatswarnung](#-hinweis-zur-ssl-zertifikatswarnung)
|
||||||
|
- [🐛 Bekannte Bugs](#-bekannte-bugs)
|
||||||
|
- [👨💻 Autor](#-autor)
|
||||||
|
- [📝 Lizenz](#-lizenz)
|
||||||
|
|
||||||
|
---
|
||||||
|
## pyUpload – Sicherer Datei-Upload-Server über HTTPS (lokal & offline)
|
||||||
|
|
||||||
Diese Version basiert auf **Tkinter (GUI + QR)** sowie einer optionalen **reinen CLI-Nutzung**.
|
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.
|
Sie ist vollständig lokal lauffähig – ganz ohne Installation von externen Tools oder komplexen Abhängigkeiten.
|
||||||
@ -30,7 +46,7 @@ Sie ist vollständig lokal lauffähig – ganz ohne Installation von externen To
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🚀 Schnellstart
|
## 🚀 Schnellstart
|
||||||
|
|
||||||
### ▶️ Für Windows:
|
### ▶️ Für Windows:
|
||||||
|
|
||||||
@ -41,6 +57,9 @@ Sie ist vollständig lokal lauffähig – ganz ohne Installation von externen To
|
|||||||
git clone https://github.com/realAscot/pyUpload
|
git clone https://github.com/realAscot/pyUpload
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Alternativ einfach eine bereinigte `.zip` bei den [Releases auf GitHub](https://github.com/realAscot/pyUpload/releases/) herrunterladen.
|
||||||
|
Diese enthällt kein `.git Archiv` und enthält nur das aller nötigste zum Betrieb des Programms.
|
||||||
|
|
||||||
2. Starte die App mit:
|
2. Starte die App mit:
|
||||||
|
|
||||||
```cmd
|
```cmd
|
||||||
@ -59,6 +78,8 @@ Sie ist vollständig lokal lauffähig – ganz ohne Installation von externen To
|
|||||||
|
|
||||||
Es ist möglich das beim ersten mal gefragt wird womit das Programm gestartet werden soll.
|
Es ist möglich das beim ersten mal gefragt wird womit das Programm gestartet werden soll.
|
||||||
Einfach die Python-Installation suchen und `python.exe` wählen.
|
Einfach die Python-Installation suchen und `python.exe` wählen.
|
||||||
|
|
||||||
|
Ich empfehle einfach eine Verknüpfung der `start.pyw` zB auf den Desktop oder ins Startmenü zu legen.
|
||||||
|
|
||||||
### 🐧 Für Linux / macOS:
|
### 🐧 Für Linux / macOS:
|
||||||
|
|
||||||
@ -92,11 +113,26 @@ Beim ersten Start wird automatisch:
|
|||||||
|
|
||||||
## 🧩 Kommandozeilenoptionen
|
## 🧩 Kommandozeilenoptionen
|
||||||
|
|
||||||
```sh
|
Du musst Dich im Verzeichnis `./app` befinden:
|
||||||
python app\main.py --nogui # Start ohne GUI / QR
|
|
||||||
python app\main.py --port 9999 # Custom-Port verwenden
|
```cmd
|
||||||
|
|
||||||
|
python main.py -h oder --h # Hilfe
|
||||||
|
python main.py --nogui # Start ohne GUI / QR
|
||||||
|
python main.py --port 9999 # Custom-Port verwenden
|
||||||
```
|
```
|
||||||
|
|
||||||
|
oder für Verknüpfungen die `start.pyw` verwenden:
|
||||||
|
|
||||||
|
```cmd
|
||||||
|
|
||||||
|
pythonw.exe start.pyw -h oder --h # Hilfe
|
||||||
|
pythonw.exe start.pyw --nogui # Start ohne GUI / QR
|
||||||
|
pythonw.exe start.pyw --port 9999 # Custom-Port verwenden
|
||||||
|
```
|
||||||
|
|
||||||
|
Wenn Du die Dateierweiterung `.pyw` mit `pythonw.exe` verknüpfst, klappt es auch ohne mit Doppelklick im Explorer :-)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🌐 Zugriff im Browser
|
## 🌐 Zugriff im Browser
|
||||||
@ -104,12 +140,14 @@ python app\main.py --port 9999 # Custom-Port verwenden
|
|||||||
Sobald gestartet:
|
Sobald gestartet:
|
||||||
|
|
||||||
```https
|
```https
|
||||||
https://<lokale-IP>:4443
|
https://<lokale-IP>:4443 (oder Port, der mit der option `--port` gestartet wurde)
|
||||||
```
|
```
|
||||||
|
|
||||||
Alternativ QR-Code scannen (GUI-Modus).
|
Alternativ QR-Code scannen (GUI-Modus).
|
||||||
Dateien werden im `upload/<Client-IP>/` gespeichert.
|
Dateien werden im `upload/<Client-IP>/` gespeichert.
|
||||||
|
|
||||||
|
Wichtig dabei ist es darauf zu achten, das tatsächlich auch https verwendet wird, falls man die Adresse händisch eingibt statt mit QR-Code! Man könnte noch zusätzlich einen http-server in der App laufen lassen, der dann automatisch umleitet, aber wir möchten das Programm so klein wie möglich halten.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📁 Logs & Uploads
|
## 📁 Logs & Uploads
|
||||||
@ -130,6 +168,14 @@ Du kannst:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 🐛 Bekannte Bugs
|
||||||
|
|
||||||
|
- **Frontend:** wenn im Browser der Button Hochladen gewählt wird, OHNE das Dateien ausgewählt wurden,
|
||||||
|
kommt es zu einem *Error response - Error code: 400* im Browser. Lösungsansatz wäre den Button über JS zu sperren solange keine Datei ausgewählt ist. Lässt sich schnell im [template](./app/template.html) erledigen.
|
||||||
|
|
||||||
|
Wenn jemand Lust und Zeit hat sich diesem anzunehmen, nur zu. Ich Danke im Vorraus!
|
||||||
|
|
||||||
|
---
|
||||||
## 👨💻 Autor
|
## 👨💻 Autor
|
||||||
|
|
||||||
- **Adam Skotarczak**
|
- **Adam Skotarczak**
|
||||||
|
@ -38,8 +38,6 @@ if sys.prefix == sys.base_prefix:
|
|||||||
os.execv(VENV_PYTHON, [VENV_PYTHON] + sys.argv)
|
os.execv(VENV_PYTHON, [VENV_PYTHON] + sys.argv)
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
#os.execv(VENV_PYTHON, [VENV_PYTHON] + sys.argv)
|
|
||||||
|
|
||||||
# Wir sind jetzt sicher in der richtigen Umgebung → Rest des Programms geht hier weiter:
|
# Wir sind jetzt sicher in der richtigen Umgebung → Rest des Programms geht hier weiter:
|
||||||
|
|
||||||
import ssl
|
import ssl
|
||||||
|
@ -11,9 +11,8 @@ if errorlevel 1 (
|
|||||||
exit /b 1
|
exit /b 1
|
||||||
)
|
)
|
||||||
|
|
||||||
:: Verzeichnis von start.cmd ermitteln (robust, egal von wo gestartet)
|
:: Verzeichnis von start.cmd ermitteln
|
||||||
set SCRIPT_DIR=%~dp0
|
set SCRIPT_DIR=%~dp0
|
||||||
|
|
||||||
:: Starte die Anwendung direkt aus app\
|
:: Starte den Python-Wrapper, der .venv erkennt
|
||||||
python "%SCRIPT_DIR%app\main.py" %*
|
pythonw.exe "%SCRIPT_DIR%start.pyw" %*
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user