Script zum Hochladen von Dateien auf einen Server

  • Ist eigentlich nur ein beispiel script für eine UDF an der ich arbeite, aber vielleicht braucht mal jemand sowas.

    Das script is simpel gehalten. Datei übertragungen gehen nur einseitig. Von einem oder mehreren clienten zu einem server.

    Mit dem clienten kann man auswählen ob man eine einzelne datei hochladen möchte oder einen ganzen ordner und seine sämtlichen inhalte.

    Im server kann man einstellen ob die dateien verschlüsselt übertragen werden sollen, ob bereits bestehende datein überschrieben werden können, wieviele clienten gleichzeitig etwas hochladen dürfen und ein zwei sachen mehr.

    Das script an sich ist hier verfügbar

    _netcode_Core-UDF/examples/extended examples/Transfer Files/netcode managemode at main · OfficialLambdax/_netcode_Core-UDF
    a extended Event based TCP/TLS/IPv4/IPv6 UDF for Autoit3 - _netcode_Core-UDF/examples/extended examples/Transfer Files/netcode managemode at main ·…
    github.com

    man benötigt auch die _netcode_Core.au3 UDF von hier

    GitHub - OfficialLambdax/_netcode_Core-UDF: a extended Event based TCP/TLS/IPv4/IPv6 UDF for Autoit3
    a extended Event based TCP/TLS/IPv4/IPv6 UDF for Autoit3 - GitHub - OfficialLambdax/_netcode_Core-UDF: a extended Event based TCP/TLS/IPv4/IPv6 UDF for Autoit3
    github.com

    Sollte sich das script nicht ausführen lassen dann wahrscheinlich weil die pfade zur _netcode_Core.au3 UDF in den #includes falsch sind.

    Ansonsten nutzt der server eine preshared rsa handshake method, wo der client den öffentlichen schlüssel des servers bereits kennen muss um mit ihm einen sitzungsschlüssel auszumachen.

    In dem beispiel ordner ist auch ein script namens "#set preshared rsa keys.au3" welches ein schlüssel paar generiert und in die server.au3 und client.au3 schreibt.

    Mir fällt gerade auf das der Autor der _RecursiveFileListToArray() funktion teil dieses forums ist Oscar

    Die funktion wird nämlich von dem clienten benutzt.

    Edit: Läuft mit Autoit Stable und Beta und sowohl mit 32- als auch mit 64 Bit. Beta und 64 Bit am schnellsten.

    40 - 60 MB/s zwischen typischen end nutzer computern sollten drinnen sein, sofern die leitung es zulässt.

  • Hi Lambdax ,

    noch bin ich nicht dazu gekommen mir das Projekt (bzw. die GitHub-Projekte) mal im Detail anzuschauen, doch bisher sieht es sehr interessant und nützlich aus.
    Vielen Dank dafür 👍 . Bei Gelegenheit versuche ich mal paar Tests dazu zu machen.

    Viele Grüße
    Sven

  • Gerne :)

    Frag wen was unklar ist oder nicht funktioniert wie du es dir erhoffst.