From 4bf12fd92902995145bc04022f52aa6380586b0c Mon Sep 17 00:00:00 2001 From: Adam Skotarczak Date: Thu, 13 Mar 2025 00:37:55 +0100 Subject: [PATCH] .gitignore aktualisiert sowie automatischer wechsel in .venv in pyUpload.py eingerichtet. --- .gitignore | 10 ++++++++-- dev/README.md | 23 +++++++++++++++++------ dev/cert.pem | 21 --------------------- dev/key.pem | 27 --------------------------- dev/logs/pyupload.log | 0 dev/patchlog.md | 9 +++++++++ dev/pyUpload.bat | 4 ++-- dev/pyUpload.py | 30 +++++++++++++++++++++++++++++- dev/roadmap.md | 7 +++++++ 9 files changed, 72 insertions(+), 59 deletions(-) delete mode 100644 dev/cert.pem delete mode 100644 dev/key.pem delete mode 100644 dev/logs/pyupload.log create mode 100644 dev/patchlog.md create mode 100644 dev/roadmap.md diff --git a/.gitignore b/.gitignore index bc2c0af..62c08ef 100644 --- a/.gitignore +++ b/.gitignore @@ -4,11 +4,10 @@ .dev/logs/ .dev/build/ .dev/dist/ -#.dev/Output/ # PyInstaller & kompiliertes Python *.spec -*.exe +#*.exe *.dll *.so *.dylib @@ -29,3 +28,10 @@ Desktop.ini Thumbs.db .DS_Store + +# .exe-Dateien überall ignorieren... +*.exe + +# ... außer im .dev/Output/ Verzeichnis (Ausnahme!) +!./Output/ +!./Output/* diff --git a/dev/README.md b/dev/README.md index 1afa489..bf1d0d9 100644 --- a/dev/README.md +++ b/dev/README.md @@ -29,15 +29,18 @@ Es gibt drei Möglichkeiten, pyUpload zu nutzen: 1. Stelle sicher, dass **Python 3** auf deinem System installiert ist. 2. Installiere alle benötigten Abhängigkeiten mit folgendem Befehl: - ```sh + + ``` pip install -r requirements.txt ``` 3. Starte den Server mit: - ```sh + + ``` python pyUpload.py ``` 4. Falls du keine grafische Benutzeroberfläche benötigst, kannst du den Server im Konsolenmodus starten: - ```sh + + ``` 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. 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: - ```sh + + ``` pyUpload.exe --nogui ``` 5. Eine Übersicht aller verfügbaren Befehle und Optionen erhältst du mit: - ```sh + + ``` pyUpload.exe --help ``` @@ -64,6 +69,7 @@ Lade die ZIP-Datei mit der virtuellen Installationsumgebung herunter und starte ### Zugriff auf die Weboberfläche - Sobald der Server läuft, kann er über die lokale IP-Adresse aufgerufen werden: + ``` https://: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. - 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 - **Entwickelt von Adam Skotarczak (C) 2025**. - diff --git a/dev/cert.pem b/dev/cert.pem deleted file mode 100644 index 12ef482..0000000 --- a/dev/cert.pem +++ /dev/null @@ -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----- diff --git a/dev/key.pem b/dev/key.pem deleted file mode 100644 index a476caa..0000000 --- a/dev/key.pem +++ /dev/null @@ -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----- diff --git a/dev/logs/pyupload.log b/dev/logs/pyupload.log deleted file mode 100644 index e69de29..0000000 diff --git a/dev/patchlog.md b/dev/patchlog.md new file mode 100644 index 0000000..5e1221e --- /dev/null +++ b/dev/patchlog.md @@ -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 diff --git a/dev/pyUpload.bat b/dev/pyUpload.bat index 7202a1e..f4e00ee 100644 --- a/dev/pyUpload.bat +++ b/dev/pyUpload.bat @@ -22,7 +22,7 @@ if not exist .venv ( :: Aktivieren der virtuellen Umgebung call .venv\Scripts\activate -echo "Virtuelle Umgebung gestartet!" +echo Virtuelle Umgebung in pyUpload.bat gestartet! :: Starten des Upload-Servers mit Übergabe aller übergebenen Parameter python pyUpload.py %* @@ -30,4 +30,4 @@ python pyUpload.py %* :: Nach Beenden der Anwendung deactivate -echo "Virtuelle Umgebung beendet!" +echo Virtuelle Umgebung beendet! diff --git a/dev/pyUpload.py b/dev/pyUpload.py index 6141962..99ec2b5 100644 --- a/dev/pyUpload.py +++ b/dev/pyUpload.py @@ -2,7 +2,7 @@ # © 2025 Adam Skotarczak (adam@skotarczak.net) # 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 sys @@ -19,6 +19,34 @@ from cryptography.x509.oid import NameOID from cryptography.hazmat.primitives import hashes, serialization 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 # ------------------------------------------------------------------- diff --git a/dev/roadmap.md b/dev/roadmap.md new file mode 100644 index 0000000..ff74a8e --- /dev/null +++ b/dev/roadmap.md @@ -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?***