.gitignore aktualisiert sowie automatischer wechsel in .venv in pyUpload.py eingerichtet.
This commit is contained in:
parent
a320d42f60
commit
4bf12fd929
10
.gitignore
vendored
10
.gitignore
vendored
@ -4,11 +4,10 @@
|
|||||||
.dev/logs/
|
.dev/logs/
|
||||||
.dev/build/
|
.dev/build/
|
||||||
.dev/dist/
|
.dev/dist/
|
||||||
#.dev/Output/
|
|
||||||
|
|
||||||
# PyInstaller & kompiliertes Python
|
# PyInstaller & kompiliertes Python
|
||||||
*.spec
|
*.spec
|
||||||
*.exe
|
#*.exe
|
||||||
*.dll
|
*.dll
|
||||||
*.so
|
*.so
|
||||||
*.dylib
|
*.dylib
|
||||||
@ -29,3 +28,10 @@
|
|||||||
Desktop.ini
|
Desktop.ini
|
||||||
Thumbs.db
|
Thumbs.db
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
||||||
|
# .exe-Dateien überall ignorieren...
|
||||||
|
*.exe
|
||||||
|
|
||||||
|
# ... außer im .dev/Output/ Verzeichnis (Ausnahme!)
|
||||||
|
!./Output/
|
||||||
|
!./Output/*
|
||||||
|
@ -29,15 +29,18 @@ Es gibt drei Möglichkeiten, pyUpload zu nutzen:
|
|||||||
|
|
||||||
1. Stelle sicher, dass **Python 3** auf deinem System installiert ist.
|
1. Stelle sicher, dass **Python 3** auf deinem System installiert ist.
|
||||||
2. Installiere alle benötigten Abhängigkeiten mit folgendem Befehl:
|
2. Installiere alle benötigten Abhängigkeiten mit folgendem Befehl:
|
||||||
```sh
|
|
||||||
|
```
|
||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
```
|
```
|
||||||
3. Starte den Server mit:
|
3. Starte den Server mit:
|
||||||
```sh
|
|
||||||
|
```
|
||||||
python pyUpload.py
|
python pyUpload.py
|
||||||
```
|
```
|
||||||
4. Falls du keine grafische Benutzeroberfläche benötigst, kannst du den Server im Konsolenmodus starten:
|
4. Falls du keine grafische Benutzeroberfläche benötigst, kannst du den Server im Konsolenmodus starten:
|
||||||
```sh
|
|
||||||
|
```
|
||||||
python pyUpload.py --nogui
|
python pyUpload.py --nogui
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -49,11 +52,13 @@ Falls du keine Python-Installation benötigst, kannst du die vorgefertigte **ZIP
|
|||||||
2. Entpacke die ZIP-Datei in einen beliebigen Ordner.
|
2. Entpacke die ZIP-Datei in einen beliebigen Ordner.
|
||||||
3. Starte die enthaltene `pyUpload.exe`.
|
3. Starte die enthaltene `pyUpload.exe`.
|
||||||
4. Falls die grafische Benutzeroberfläche nicht benötigt wird, kann die `pyUpload.exe` direkt in der Konsole mit `--nogui` gestartet werden:
|
4. Falls die grafische Benutzeroberfläche nicht benötigt wird, kann die `pyUpload.exe` direkt in der Konsole mit `--nogui` gestartet werden:
|
||||||
```sh
|
|
||||||
|
```
|
||||||
pyUpload.exe --nogui
|
pyUpload.exe --nogui
|
||||||
```
|
```
|
||||||
5. Eine Übersicht aller verfügbaren Befehle und Optionen erhältst du mit:
|
5. Eine Übersicht aller verfügbaren Befehle und Optionen erhältst du mit:
|
||||||
```sh
|
|
||||||
|
```
|
||||||
pyUpload.exe --help
|
pyUpload.exe --help
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -64,6 +69,7 @@ Lade die ZIP-Datei mit der virtuellen Installationsumgebung herunter und starte
|
|||||||
### Zugriff auf die Weboberfläche
|
### Zugriff auf die Weboberfläche
|
||||||
|
|
||||||
- Sobald der Server läuft, kann er über die lokale IP-Adresse aufgerufen werden:
|
- Sobald der Server läuft, kann er über die lokale IP-Adresse aufgerufen werden:
|
||||||
|
|
||||||
```
|
```
|
||||||
https://<server-ip>:4443
|
https://<server-ip>:4443
|
||||||
```
|
```
|
||||||
@ -87,7 +93,12 @@ Da pyUpload ein **selbstsigniertes SSL-Zertifikat** nutzt, wird es beim ersten Z
|
|||||||
- Alle **Uploads und Anfragen** werden in **zentralen sowie client-spezifischen Logdateien** gespeichert. Diese befinden sich im `logs/`-Verzeichnis.
|
- Alle **Uploads und Anfragen** werden in **zentralen sowie client-spezifischen Logdateien** gespeichert. Diese befinden sich im `logs/`-Verzeichnis.
|
||||||
- Falls während der Nutzung von pyUpload **Probleme auftreten**, bietet ein Blick in diese Logdateien wertvolle Hinweise zur Fehlerbehebung.
|
- Falls während der Nutzung von pyUpload **Probleme auftreten**, bietet ein Blick in diese Logdateien wertvolle Hinweise zur Fehlerbehebung.
|
||||||
|
|
||||||
|
### Autoren & Mitwirkende
|
||||||
|
|
||||||
|
Danke an alle, die zu diesem Projekt beigetragen haben!
|
||||||
|
|
||||||
|
- **[Adam Skotarczak](https://github.com/AJaquet)** - Projektleitung & Entwicklung
|
||||||
|
|
||||||
### Lizenz und Autor
|
### Lizenz und Autor
|
||||||
|
|
||||||
- **Entwickelt von Adam Skotarczak (C) 2025**.
|
- **Entwickelt von Adam Skotarczak (C) 2025**.
|
||||||
|
|
||||||
|
21
dev/cert.pem
21
dev/cert.pem
@ -1,21 +0,0 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIDZjCCAk6gAwIBAgIUVUoyZUGI8zufgubwkU14VVk77GowDQYJKoZIhvcNAQEL
|
|
||||||
BQAwYDELMAkGA1UEBhMCREUxDzANBgNVBAgMBkJlcmxpbjEPMA0GA1UEBwwGQmVy
|
|
||||||
bGluMRcwFQYDVQQKDA5pb25pdmF0aW9uLmNvbTEWMBQGA1UEAwwNbG9jYWxob3N0
|
|
||||||
LmxhbjAeFw0yNTAzMTIyMjEwMDZaFw0yNjAzMTIyMjEwMDZaMGAxCzAJBgNVBAYT
|
|
||||||
AkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEXMBUGA1UECgwO
|
|
||||||
aW9uaXZhdGlvbi5jb20xFjAUBgNVBAMMDWxvY2FsaG9zdC5sYW4wggEiMA0GCSqG
|
|
||||||
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPfJ2OTl2TsTq8c0r8Z8KKr7SzFe9M0xCn
|
|
||||||
hUKMBeJQhQtky6/9oAzP1qk4Jl31Gw0DlnBeYHY7hWSCp8JeDlgrK/auNWMNNhH9
|
|
||||||
Z3UtLVlihD6spmFhwFMsPPLw+CGjearVQipEwy1/Qt55W+ikbTzYmOQg2Tsh4967
|
|
||||||
obHJLZlikTgw534EdG1Nv/mHqlvLZnGnLX/aUUJpSg8iTSEMKL8YN4raRrURQ1Ta
|
|
||||||
ba+Tw30bVx8sfyscfzNTj5Pr4lGYCfqklFUfWJ1xF3iauSXl9hcP1fNoHELJcLW1
|
|
||||||
1q3y6AKO2PC+msmjay2lVCJozNVNCopOfE9pA7z4i3bZoNR+vhrPAgMBAAGjGDAW
|
|
||||||
MBQGA1UdEQQNMAuCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAUiHyvjFG
|
|
||||||
v4ILY2XciqDj1FwthWTGEXtSjKuvOcEnuUrjDIroVgPZjZqRObcH80SMnvR93V1+
|
|
||||||
sVv7VHJmBKrs4fGLttOxyTSpr16+geSvt8iFRuXPspzvrVyqo8Rqo3wgS3hvU8Gz
|
|
||||||
33JfSmcvDFsuq/IZDsUvdcziF1UQiZ8jAfwmsv32bIcD6bRgmfZrFoHdV98gj7nm
|
|
||||||
knwMiSguV7fqe2SZyX1WyfyWyT0pP1owZzMZVy7dd+2fAM7PN5QI3kbb0nXQZsW5
|
|
||||||
t6tFlxc8hEPneoZt5l+F5UGet+Aq/POhRdho0hFGiB/PgDPlO/HPCYAwu4Pu7Ola
|
|
||||||
OrfSABT7yqhRgQ==
|
|
||||||
-----END CERTIFICATE-----
|
|
27
dev/key.pem
27
dev/key.pem
@ -1,27 +0,0 @@
|
|||||||
-----BEGIN RSA PRIVATE KEY-----
|
|
||||||
MIIEowIBAAKCAQEAz3ydjk5dk7E6vHNK/GfCiq+0sxXvTNMQp4VCjAXiUIULZMuv
|
|
||||||
/aAMz9apOCZd9RsNA5ZwXmB2O4VkgqfCXg5YKyv2rjVjDTYR/Wd1LS1ZYoQ+rKZh
|
|
||||||
YcBTLDzy8Pgho3mq1UIqRMMtf0LeeVvopG082JjkINk7IePeu6GxyS2ZYpE4MOd+
|
|
||||||
BHRtTb/5h6pby2Zxpy1/2lFCaUoPIk0hDCi/GDeK2ka1EUNU2m2vk8N9G1cfLH8r
|
|
||||||
HH8zU4+T6+JRmAn6pJRVH1idcRd4mrkl5fYXD9XzaBxCyXC1tdat8ugCjtjwvprJ
|
|
||||||
o2stpVQiaMzVTQqKTnxPaQO8+It22aDUfr4azwIDAQABAoIBAApXCXsICL3NfUHa
|
|
||||||
9QezHAzRSM4L78sCUbgnefOEb4zXtIOnavPWwAyzg+daciA+4t0k6CCr6fh5Y1Ln
|
|
||||||
jVYmnNo57Kct3evQoADi4QIJWoUAVidAe2Xlsb9ooirEEtkUvSC3lWer2l6XNIMT
|
|
||||||
w3o+P2QD6oqAiOPdeUIcgsGl1hkFUK/M11SdTent2rndc8i98I8++EX7XvlMwz1A
|
|
||||||
o3ukef6AFsrfBYvo2GKYoW4aH/5EDHrcLjGNlNS2j/DSZatmtg+z0dBob5O/t1Mb
|
|
||||||
HXgzYkwVmpPNjtJCv8EZ94oGPrchmQTjiJ6gl87LCHMtA8g70KjECuvz+OnL/IUp
|
|
||||||
A3ZfgWECgYEA6xlHa8FZekredf4/54H0IEl9P2RV1+p0i0W0iDvWIs6DARLgZeQZ
|
|
||||||
H/TBXt6jOypirHqq+D28wcIKf6xnylRGcsWXTkkXc7WFTEGOOgZ07z8qa7l8KdTf
|
|
||||||
SkaDh6v6MWGRtDqKFYEkbXHWkL6fEBKmgo7bWqzqNdLRWO2qG9eZExcCgYEA4e7n
|
|
||||||
J6AEpaDrftsTyi4ItjsUdqCmh8IbjCtNcrKKSokwcHbWDRrK3o//toxmy40/exa8
|
|
||||||
IX1s0aSxZI+PVv8R9MqeOIOecLvIfLSHNjvuEcCwBj1FwD1XajFEXP1D+xUclYVu
|
|
||||||
zVxXfZ+X9xORZiEu0P3PYiiDHupmEKnYQn+4aQkCgYEAul6KyLg454JMgjswi6Tw
|
|
||||||
U1wOpt8yUfzxsKpsaAcPRP5yyboeG4fMBxIu7LcPrUp3eIWx3SKL7QmW6wlQKgvO
|
|
||||||
4RMUVCILLlX6uq3JQuR1dGediFI9RKgU7ruhbz79EoJnT/mMF2oN55jz4EDMtaAj
|
|
||||||
UaJP77zd2hcqkBWv4WxzU7cCgYAHazjb7D060xXojHkR4oEWusnpO008l/sflyxr
|
|
||||||
38D6wZZ9mulcdMzEkiXrcKDPfkvfVtfGob+5ApdwneYvDSEh0KVxZaEGQqRKtALc
|
|
||||||
nQssOg+NpOVtcpY0PnnoM8jPrdnKbx88TxPwZBUxX8sed2h6JFty9bGYiknfsjQP
|
|
||||||
uvHrQQKBgEjwJvWReZ26VvR5+ie12MFwnelqkPrAcOt45idkOU9Dhjpe7jdx5b7A
|
|
||||||
jNDfgogmBCGOt4s7zUXXxB/TswMepwm55FosmD+fJYU88Sqabz4z3sjanS9r0qnQ
|
|
||||||
scnAPNP+bXc7ZnyIJ4htVW6nYV0Sg9CUcQQp3VOz4eww1jt/3bRC
|
|
||||||
-----END RSA PRIVATE KEY-----
|
|
9
dev/patchlog.md
Normal file
9
dev/patchlog.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# patchlog pyUpload
|
||||||
|
|
||||||
|
|
||||||
|
**1.0.0 Erste Version - 12.03.25**
|
||||||
|
|
||||||
|
**Funktionsumfang:**
|
||||||
|
|
||||||
|
- Startet standartmässig TKInter GUI
|
||||||
|
- Hilfe mit `--help` verfügbar
|
@ -22,7 +22,7 @@ if not exist .venv (
|
|||||||
|
|
||||||
:: Aktivieren der virtuellen Umgebung
|
:: Aktivieren der virtuellen Umgebung
|
||||||
call .venv\Scripts\activate
|
call .venv\Scripts\activate
|
||||||
echo "Virtuelle Umgebung gestartet!"
|
echo Virtuelle Umgebung in pyUpload.bat gestartet!
|
||||||
|
|
||||||
:: Starten des Upload-Servers mit Übergabe aller übergebenen Parameter
|
:: Starten des Upload-Servers mit Übergabe aller übergebenen Parameter
|
||||||
python pyUpload.py %*
|
python pyUpload.py %*
|
||||||
@ -30,4 +30,4 @@ python pyUpload.py %*
|
|||||||
:: Nach Beenden der Anwendung
|
:: Nach Beenden der Anwendung
|
||||||
deactivate
|
deactivate
|
||||||
|
|
||||||
echo "Virtuelle Umgebung beendet!"
|
echo Virtuelle Umgebung beendet!
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# © 2025 Adam Skotarczak (adam@skotarczak.net)
|
# © 2025 Adam Skotarczak (adam@skotarczak.net)
|
||||||
# Dieses Softwarepaket darf nicht ohne Genehmigung weiterverbreitet werden!
|
# Dieses Softwarepaket darf nicht ohne Genehmigung weiterverbreitet werden!
|
||||||
# Version 1.2.2 (05.03.2025)
|
# Version 1.0.0 (12.03.2025)
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
@ -19,6 +19,34 @@ from cryptography.x509.oid import NameOID
|
|||||||
from cryptography.hazmat.primitives import hashes, serialization
|
from cryptography.hazmat.primitives import hashes, serialization
|
||||||
from cryptography.hazmat.primitives.asymmetric import rsa
|
from cryptography.hazmat.primitives.asymmetric import rsa
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------
|
||||||
|
# Virtuelle Umgebung (aktuell noch in der pyUpload.bat)
|
||||||
|
# -------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Name der virtuellen Umgebung
|
||||||
|
VENV_DIR = ".venv"
|
||||||
|
|
||||||
|
def activate_venv():
|
||||||
|
"""Aktiviert die virtuelle Umgebung automatisch, falls sie nicht aktiv ist."""
|
||||||
|
if sys.prefix != os.path.abspath(VENV_DIR):
|
||||||
|
venv_path = os.path.join(os.path.dirname(__file__), VENV_DIR)
|
||||||
|
|
||||||
|
if os.name == "nt": # Windows
|
||||||
|
activate_script = os.path.join(venv_path, "Scripts", "activate.bat")
|
||||||
|
else: # Linux/macOS
|
||||||
|
activate_script = os.path.join(venv_path, "bin", "activate")
|
||||||
|
|
||||||
|
if os.path.exists(activate_script):
|
||||||
|
print(f"Aktiviere virtuelle Umgebung: {VENV_DIR}")
|
||||||
|
os.system(f'"{activate_script}"')
|
||||||
|
else:
|
||||||
|
print(f"FEHLER: Virtuelle Umgebung nicht gefunden ({VENV_DIR}). Bitte zuerst install.bat ausführen.")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
# Virtuelle Umgebung aktivieren, wenn sie nicht aktiv ist
|
||||||
|
|
||||||
|
activate_venv()
|
||||||
|
|
||||||
# -------------------------------------------------------------------
|
# -------------------------------------------------------------------
|
||||||
# Globale Konfigurationen & Verzeichnisse
|
# Globale Konfigurationen & Verzeichnisse
|
||||||
# -------------------------------------------------------------------
|
# -------------------------------------------------------------------
|
||||||
|
7
dev/roadmap.md
Normal file
7
dev/roadmap.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# pyUpload Roadmap und ToDo
|
||||||
|
|
||||||
|
|
||||||
|
- ***README.md überarbeiten***
|
||||||
|
Entspricht aktuell nicht mehr dem Entwicklungsstand da auf innoSetup umgestiegen worden ist und Installationsscript eingefügt wurde.
|
||||||
|
|
||||||
|
- ***Auf pyQt6 umbauen statt tkinter?***
|
Loading…
x
Reference in New Issue
Block a user