Danke
Steht auf der Arbeit anderer
nextrmnl gäbe es ohne diese Projekte nicht, als Baustein, als Schrift oder als Gegenstelle. Jedes ist hier genannt und verlinkt. Die genauen Fassungen stehen im Repository in requirements.txt und package.json.
Das Vorbild
PuTTY steht zuerst. Wie Markieren kopiert, wie Rechtsklick einfügt, wie ein unbekannter Hostschlüssel gemeldet wird: Das hat PuTTY vor fünfundzwanzig Jahren richtig gemacht, und nextrmnl macht es nach, weil jeder Windows-Admin es in den Fingern hat. Dazu WinSCP für den Gedanken, dass die Dateien neben dem Terminal gehören.
Gegenstellen
nextrmnl spricht mit deinen Rechnern, es ersetzt keinen. Ohne diese Vereinbarungen und Programme gäbe es nichts zu verbinden.
| Projekt | Wofür |
| OpenSSH | Der SSH-Server auf fast jedem Rechner, mit dem nextrmnl spricht, und das Format der Schlüssel im Tresor |
| SSH und SFTP | Die beiden Protokolle, über die alles läuft. Jeder Rechner, der sie spricht, funktioniert. |
| authentik, Keycloak, Authelia, Pocket ID | Anmeldung über OpenID Connect; für authentik gibt es den Knopf, der alles einrichtet |
| 7-Zip | Öffnet die verschlüsselten Sicherungen auch ohne nextrmnl |
Auf dem Server
| Projekt | Wofür | Lizenz |
| Python | Die Sprache des Servers | PSF |
| AsyncSSH | Spricht SSH und SFTP mit deinen Rechnern, prüft Hostschlüssel, liest und schreibt Schlüssel | EPL-2.0 oder GPL-2.0 |
| FastAPI | Das Gerüst der Schnittstelle, samt WebSocket zum Terminal | MIT |
| Uvicorn | Der Server, der alles ausliefert | BSD-3-Clause |
| SQLAlchemy | Der Weg zur Datenbank | MIT |
| SQLite | Die Datenbank selbst, eine Datei, samt der Sicherungsschnittstelle | gemeinfrei |
| Pydantic | Prüft jede ein- und ausgehende Angabe, liest die Umgebungsvariablen | MIT |
| argon2-cffi | Sichert die Passwörter mit Argon2id und leitet daraus den Schlüssel zum Tresor ab | MIT |
| cryptography | AES-256-GCM für den Tresor und die serverseitigen Geheimnisse | Apache-2.0 oder BSD-3-Clause |
| bcrypt | Öffnet OpenSSH-Schlüssel mit Passphrase | Apache-2.0 |
| httpx | Redet mit dem OIDC-Anbieter und mit authentik beim Einrichten | BSD-3-Clause |
| PyJWT | Prüft die Ausweise des OIDC-Anbieters | MIT |
| segno | Der QR-Code für die Authenticator-App | BSD-3-Clause |
| pyzipper | Die verschlüsselte Sicherung | MIT |
| python-multipart | Nimmt hochgeladene Dateien entgegen | Apache-2.0 |
Im Browser
| Projekt | Wofür | Lizenz |
| xterm.js | Das Terminal selbst, samt dem Zusatz, der es an die Fenstergröße anpasst | MIT |
| React | Die Oberfläche | MIT |
| React Router | Die Seiten darin | MIT |
| i18next | Deutsch und Englisch | MIT |
| Tailwind CSS | Das Aussehen | MIT |
| Vite | Baut die Oberfläche | MIT |
| TypeScript | Die Sprache der Oberfläche | Apache-2.0 |
| Vitest | Die Tests der Oberfläche | MIT |
Die Schriften dieser Seite
Diese Projektseite liefert ihre Schriften mit, statt sie zu laden: Ein Projekt, das die Zugänge zu deinen Rechnern hält, soll nicht mit einer Seite werben, die beim Öffnen einen fremden Server anfunkt. Mitliefern heißt, die Lizenz reist mit, und deshalb steht sie hier. Alle drei unter der SIL Open Font License 1.1.
Und drumherum
| Projekt | Wofür |
| Docker | Ein Container, und es läuft |
| GitHub | Quelltext, Fehlermeldungen und die fertigen Abbilder |
| Playwright | Bedient diese Seite und die Anwendung vor jeder Veröffentlichung in einem echten Browser |
nextrmnl als Ganzes steht unter der AGPL-3.0. Die Lizenzen der Bausteine stehen in den Paketen selbst; die Pflicht der AGPL läuft nur in eine Richtung: Wer eine veränderte Fassung von nextrmnl als Netzdienst betreibt, muss deren Quelltext anbieten.