Skip to content

Releases: ThatIsCraZy/ProtoHydra

v1.7.1

Choose a tag to compare

@github-actions github-actions released this 13 Sep 01:09
ProtoHydra 1.7.1

Serial console hardening.

Fixes: pulling the adapter put the read loop into a busy loop instead of
reporting the disconnect; reconnecting straight after disconnecting
failed on our own handle that the driver had not released yet; a device
dumping binary could grow the CSI parameter list without bound, print C1
controls into the grid and leave the parser stuck in a half-written
sequence.

The modem line poll now reports a lost device, and the port list is
rescanned afterwards because Windows can hand a replugged adapter a
different COM number.

v1.7

Choose a tag to compare

@github-actions github-actions released this 13 Sep 00:29
ProtoHydra 1.7

Serial console tab: a VT100/xterm terminal on a COM port, in the same
window as the file services. Port and connection parameters as
drop-downs, the port list labelled with the device name from Windows.
Copy and paste follow PuTTY, dragging copies and the right button
pastes. Break key, DTR/RTS toggles, CTS/DSR/DCD indicators, 5000 lines
of scrollback and an optional session log.

Fix: reading RtsEnable under hardware handshake threw and blanked the
serial line status.

ProtoHydra 1.6

Choose a tag to compare

@github-actions github-actions released this 04 Aug 13:22

Language / Sprache: 🇬🇧 English · 🇩🇪 Deutsch

Multi-protocol file server for system administrators – TFTP, FTP, FTPS, SFTP, SCP, HTTP and HTTPS from a single folder, portable and installation-free.


English

Download

Download and run ProtoHydra.exe – self-contained (x64), no .NET required.

Fixed in 1.6

Firewall status was always green. The check treated any inbound allow rule without a program path as a rule that applies to every program. Windows creates exactly such rules for packaged/Store apps (Microsoft Teams, Microsoft Store, Game Bar, ChatGPT, ...) — no program, protocol Any, no port restriction — but binds them to an app package or a user SID instead. Every listener port therefore matched one of them and the header reported "Firewall allows all checked ports" even when nothing allowed ProtoHydra at all. Such rules are now recognised and skipped, for block rules too. On a stock Windows 11 machine the status correctly reads "Firewall blocks all checked ports" until a rule for the executable exists.

Interface-scoped rules are no longer counted as fully open. A rule limited to certain interface types (only Wireless, the VPN-style RemoteAccess, ...) does not open the port on every adapter and is now reported as restricted.

HTTP could not be restarted on the same port. Stopping the HTTP listener leaked its socket for the lifetime of the process, so starting it again on the same port failed with "Port is not available" until the app was restarted. FTP, TFTP and SFTP were unaffected.

Improved in 1.6

The root folder can now be changed while listeners are running. Previously Apply was disabled as soon as anything was started, so in practice the root could only be set once. Apply now stays available and asks for confirmation — naming the protocols that are running — before stopping them, switching the root folder and starting them again.

Note

By default ProtoHydra uses Accept-Any authentication and is intended for maintenance/device networks, not for permanent, publicly reachable operation. Defined users with Argon2id-hashed passwords can be enabled under Configure Authentication; TFTP has no authentication in the protocol and always remains open.

Licenses

ProtoHydra is licensed under the MIT License. All bundled open-source components and their licenses (MIT, Apache-2.0, MS-PL and others) are documented in the accompanying THIRD-PARTY-NOTICES.txt and are also viewable in the app under "Lizenzen & Hinweise" (top right).

Feedback & support

If ProtoHydra is useful to you, a ⭐ on GitHub would make my day! Found a bug or missing something? Please open an issue: https://github.com/ThatIsCraZy/ProtoHydra/issues


Deutsch

Download

ProtoHydra.exe herunterladen und starten – self-contained (x64), kein .NET erforderlich.

Behoben in 1.6

Der Firewall-Status war immer grün. Die Prüfung behandelte jede eingehende Allow-Regel ohne Programmpfad als Regel, die für alle Programme gilt. Windows legt genau solche Regeln für Store-/Packaged-Apps an (Microsoft Teams, Microsoft Store, Game Bar, ChatGPT, ...) – kein Programm, Protokoll „Any", keine Port-Einschränkung –, bindet sie aber an ein App-Package bzw. eine Benutzer-SID. Dadurch traf jeder Listener-Port auf eine dieser Regeln, und im Kopfbereich stand „Firewall allows all checked ports", obwohl ProtoHydra überhaupt nicht freigegeben war. Solche Regeln werden jetzt erkannt und übersprungen, auch bei Block-Regeln. Auf einem normalen Windows-11-Rechner steht der Status korrekt auf „Firewall blocks all checked ports", solange keine Regel für die EXE existiert.

Interface-gebundene Regeln gelten nicht mehr als voll offen. Eine Regel, die nur für bestimmte Interface-Typen gilt (nur WLAN, das VPN-artige „RemoteAccess", ...), öffnet den Port nicht auf jedem Adapter und wird jetzt als eingeschränkt gemeldet.

HTTP ließ sich nicht auf demselben Port neu starten. Das Stoppen des HTTP-Listeners leakte dessen Socket für die gesamte Prozesslaufzeit; ein erneuter Start auf demselben Port scheiterte mit „Port is not available", bis die App neu gestartet wurde. FTP, TFTP und SFTP waren nicht betroffen.

Verbessert in 1.6

Der Root-Ordner lässt sich jetzt im laufenden Betrieb wechseln. Bisher war „Apply" gesperrt, sobald etwas gestartet war – der Root konnte praktisch nur einmal gesetzt werden. „Apply" bleibt nun verfügbar und fragt vorher nach – mit Nennung der laufenden Protokolle –, stoppt diese dann, wechselt den Root-Ordner und startet sie wieder.

Hinweis

Standardmäßig nutzt ProtoHydra Accept-Any-Authentifizierung und ist für Wartungs-/Geräte-Netze gedacht, nicht für den öffentlich erreichbaren Dauerbetrieb. Unter Configure Authentication lassen sich definierte Benutzer mit Argon2id-gehashten Passwörtern aktivieren; TFTP kennt protokollbedingt keine Authentifizierung und bleibt immer offen.

Lizenzen

ProtoHydra steht unter der MIT-Lizenz. Alle gebündelten Open-Source-Komponenten und ihre Lizenzen (MIT, Apache-2.0, MS-PL u. a.) sind in der beiliegenden THIRD-PARTY-NOTICES.txt dokumentiert und zusätzlich in der App unter „Lizenzen & Hinweise" (oben rechts) einsehbar.

Feedback & Support

Wenn dir ProtoHydra weiterhilft, freue ich mich riesig über einen ⭐ auf GitHub! Fehler gefunden oder fehlt dir etwas? Bitte melde es als Issue: https://github.com/ThatIsCraZy/ProtoHydra/issues

ProtoHydra 1.5

Choose a tag to compare

@github-actions github-actions released this 19 Jul 13:26

Language / Sprache: 🇬🇧 English · 🇩🇪 Deutsch

Multi-protocol file server for system administrators – TFTP, FTP, FTPS, SFTP, SCP, HTTP and HTTPS from a single folder, portable and installation-free.


English

Download

Download and run ProtoHydra.exe – self-contained (x64), no .NET required.

What's new in 1.5

  • Optional authentication with defined users – the new Configure Authentication dialog (header link) switches from the default Accept-Any policy to defined users with passwords. Multiple users, add/remove/change password, applied live without restarting the listeners.
  • Argon2id password hashing – passwords are persisted exclusively as Argon2id hashes (PHC format, RFC 9106 parameters), never in plaintext; verification is constant-time. A corrupt settings file fails closed instead of silently reopening the server.
  • Enforced across protocols – FTP/FTPS (login check), SFTP/SCP (SSH password authentication; public-key is rejected so clients fall back to password) and HTTP/HTTPS (Basic auth with 401 challenge). Rejected logins appear in the live log with source IP.
  • TFTP note – TFTP has no authentication in the protocol itself and always remains open; the UI states this clearly when defined users are active.

Note

By default ProtoHydra uses Accept-Any authentication and is intended for maintenance/device networks, not for permanent, publicly reachable operation. Over plain HTTP/FTP credentials travel unencrypted – prefer HTTPS, FTPS or SFTP for authenticated access.

Licenses

ProtoHydra is licensed under the MIT License. All bundled open-source components and their licenses (MIT, Apache-2.0, MS-PL and others – new in 1.5: Konscious.Security.Cryptography, MIT) are documented in the accompanying THIRD-PARTY-NOTICES.txt and are also viewable in the app under "Lizenzen & Hinweise" (top right).

Feedback & support

If ProtoHydra is useful to you, a ⭐ on GitHub would make my day! Found a bug or missing something? Please open an issue: https://github.com/ThatIsCraZy/ProtoHydra/issues


Deutsch

Download

ProtoHydra.exe herunterladen und starten – self-contained (x64), kein .NET erforderlich.

Neu in 1.5

  • Optionale Authentifizierung mit definierten Benutzern – der neue Configure Authentication-Dialog (Link im Kopfbereich) schaltet von der Standard-Accept-Any-Policy auf definierte User mit Passwörtern um. Mehrere Benutzer, Anlegen/Entfernen/Passwort ändern, Umschaltung greift live ohne Neustart der Listener.
  • Argon2id-Passwort-Hashing – Passwörter werden ausschließlich als Argon2id-Hashes gespeichert (PHC-Format, RFC-9106-Parameter), nie im Klartext; die Prüfung ist zeitkonstant. Eine defekte Einstellungsdatei schließt den Server (fail-closed), statt ihn unbemerkt zu öffnen.
  • Durchgesetzt über alle Protokolle – FTP/FTPS (Login-Prüfung), SFTP/SCP (SSH-Passwort-Authentifizierung; Public-Key wird abgelehnt, Clients fallen auf Passwort zurück) und HTTP/HTTPS (Basic Auth mit 401-Challenge). Abgelehnte Logins erscheinen im Live-Log inkl. Quell-IP.
  • TFTP-Hinweis – TFTP kennt protokollbedingt keine Authentifizierung und bleibt immer offen; die UI weist bei aktiven definierten Usern deutlich darauf hin.

Hinweis

Standardmäßig nutzt ProtoHydra Accept-Any-Authentifizierung und ist für Wartungs-/Geräte-Netze gedacht, nicht für den öffentlich erreichbaren Dauerbetrieb. Über unverschlüsseltes HTTP/FTP reisen Credentials im Klartext – für authentifizierte Zugriffe HTTPS, FTPS oder SFTP bevorzugen.

Lizenzen

ProtoHydra steht unter der MIT-Lizenz. Alle gebündelten Open-Source-Komponenten und ihre Lizenzen (MIT, Apache-2.0, MS-PL u. a. – neu in 1.5: Konscious.Security.Cryptography, MIT) sind in der beiliegenden THIRD-PARTY-NOTICES.txt dokumentiert und zusätzlich in der App unter „Lizenzen & Hinweise" (oben rechts) einsehbar.

Feedback & Support

Wenn dir ProtoHydra weiterhilft, freue ich mich riesig über einen ⭐ auf GitHub! Fehler gefunden oder fehlt dir etwas? Bitte melde es als Issue: https://github.com/ThatIsCraZy/ProtoHydra/issues

ProtoHydra 1.4

Choose a tag to compare

@ThatIsCraZy ThatIsCraZy released this 18 Jul 23:21

Language / Sprache: 🇬🇧 English · 🇩🇪 Deutsch

Multi-protocol file server for system administrators – TFTP, FTP, FTPS, SFTP, SCP, HTTP and HTTPS from a single folder, portable and installation-free.


English

Download

Download and run ProtoHydra.exe – self-contained (x64), no .NET required.

Highlights

  • SFTP stability for network devices – the server answers CHANNEL_CLOSE correctly (fixes the 30-second per-file stall with clients such as Brocade FOS firmwaredownload); full upload support (SETSTAT/MKDIR/RENAME); POSIX-compliant READLINK.
  • SCP – classic scp plus WinSCP SCP mode (shell emulation), non-fatal warnings, OpenSSH rename semantics.
  • Diagnostics – transfer capture as a plaintext log (INFO/ERROR per line), live log with source IP and errors highlighted in red, IO status indicator with an error ring buffer.
  • Firewall – status check per active Windows profile (consistent even with multiple NICs), clear hints for blocking rules, hardened temporary fix.
  • In-app license viewer and bundled THIRD-PARTY-NOTICES.txt.

Note

ProtoHydra uses Accept-Any authentication and is intended for maintenance/device networks, not for permanent, publicly reachable operation.

Licenses

ProtoHydra is licensed under the MIT License. All bundled open-source components and their licenses (MIT, Apache-2.0, MS-PL and others) are documented in the accompanying THIRD-PARTY-NOTICES.txt and are also viewable in the app under "Lizenzen & Hinweise" (top right).

Feedback & support

If ProtoHydra is useful to you, a ⭐ on GitHub would make my day! Found a bug or missing something? Please open an issue: https://github.com/ThatIsCraZy/ProtoHydra/issues


Deutsch

Download

ProtoHydra.exe herunterladen und starten – self-contained (x64), kein .NET erforderlich.

Highlights

  • SFTP-Stabilität für Netzwerkgeräte – Server beantwortet CHANNEL_CLOSE korrekt (behebt den 30-Sekunden-Stall pro Datei bei Clients wie Brocade FOS firmwaredownload); volle Upload-Unterstützung (SETSTAT/MKDIR/RENAME); POSIX-konformes READLINK.
  • SCP – klassisches scp plus WinSCP-SCP-Modus (Shell-Emulation), nicht-fatale Warnungen, OpenSSH-Rename-Semantik.
  • Diagnose – Transfer-Capture als Klartextlog (INFO/ERROR pro Zeile), Live-Log mit Quell-IP und rot hervorgehobenen Fehlern, IO-Statusanzeige mit Fehler-Ringpuffer.
  • Firewall – Statusprüfung pro aktivem Windows-Profil (konsistent auch bei mehreren NICs), klare Hinweise bei blockierenden Regeln, gehärteter Temp-Fix.
  • In-App-Lizenzanzeige und beiliegende THIRD-PARTY-NOTICES.txt.

Hinweis

ProtoHydra nutzt Accept-Any-Authentifizierung und ist für Wartungs-/Geräte-Netze gedacht, nicht für den öffentlich erreichbaren Dauerbetrieb.

Lizenzen

ProtoHydra steht unter der MIT-Lizenz. Alle gebündelten Open-Source-Komponenten und ihre Lizenzen (MIT, Apache-2.0, MS-PL u. a.) sind in der beiliegenden THIRD-PARTY-NOTICES.txt dokumentiert und zusätzlich in der App unter „Lizenzen & Hinweise" (oben rechts) einsehbar.

Feedback & Support

Wenn dir ProtoHydra weiterhilft, freue ich mich riesig über einen ⭐ auf GitHub! Fehler gefunden oder fehlt dir etwas? Bitte melde es als Issue: https://github.com/ThatIsCraZy/ProtoHydra/issues