AboutPage About PassFish Über PassFish <p> PassFish is a native re-implementation of <a href="https://passwordmaker.org/">PasswordMaker</a> for Sailfish OS. It aims to be mostly compatible to the <a href="https://sourceforge.net/projects/passwordmaker/files/Javascript%20Edition/">Javascript Edition</a>. </p> <p> All credit for the development of the PasswordMaker Pro algorithm goes to the original authors of PasswordMaker Pro, Miquel Burns and Eric H. Jung. </p> <p> As PassFish is not merely a port, but a full reimplementation from scratch, compatibility is not guaranteed. While the original source code was used as a guideline during implementation, the underlying technology is vastly different. Common use cases are tested by integration tests, but some edge cases might have been missed. In case you encounter such an issue, please report it on the <a href="https://github.com/soulsource/passfish/issues">github issue tracker</a> of the project. </p> <p> Speaking of integration tests: The hash algorithms were not re-implemented for this project in order to reduce the risk of introducing bugs. Instead the QCryptographicHash API is used where possible, and where not, the implementation from the RustCrypto Hashes repository is utilized (see list of dependencies below). </p> <p> This program consists of two parts: The application itself ("<a href="https://github.com/soulsource/passfish">PassFish</a>"), and a Rust crate that contains the implementation of the business logic ("<a href="https://github.com/soulsource/passwordmaker-rs"><nobr>passwordmaker&#8209;rs</nobr></a>"). This is important, as the two parts use different licenses. PassFish is published under the GPLv3 license, while <nobr>passwordmaker&#8209;rs</nobr> is published under LGPLv3. Please check the linked github pages for more details. </p> <p> This program utilises several third party libraries. This list is kept up-to-date to the best of my knowledge. Only direct dependencies are listed, for transitive dependencies please see the linked websites. Similarly, the source code for those third-party dependencies that are published under an open source license can be found on the linked websites. To my knowledge the only non-open-source dependency is Silica. The listed licenses are just those used by <i>this</i> project, most libraries are available under multiple licenses. Please see the libraries' websites for details.<br> These libraries are linked dynamically: <ul> <li><a href="https://www.qt.io/">Qt Quick</a>: Used under <a href="https://www.gnu.org/licenses/lgpl-3.0.en.html">LGPLv3</a></li> <li><a href="https://sailfishos.org/develop/docs/silica/">Sailfish Silica</a>: Proprietary, <a href="https://www.gnu.org/licenses/gpl-3.0">GPL</a> system library exception</li> <li><a href="https://github.com/sailfishos/libsailfishapp">LibSailfishApp</a>: Used under LGPL 2.1</li> </ul> These libraries and their dependencies are linked statically: <ul> <li><a href="https://crates.io/crates/libc">libc Rust bindings</a>: Used under MIT license</li> <li><a href="https://crates.io/crates/serde">serde</a>: Used under MIT license</li> <li><a href="https://crates.io/crates/toml">toml-rs</a>: Used under MIT license</li> <li><a href="https://crates.io/crates/dirs">dirs</a>: Used under MIT license</li> <li><a href="https://crates.io/crates/ripemd">RustCrypto: RIPEMD</a>: Used under MIT license</li> </ul> The <nobr>passwordmaker&#8209;rs</nobr> library has the following statically linked runtime dependencies: <ul> <li><a href="https://crates.io/crates/unicode-segmentation">unicode-segmentation</a>: Used under MIT license</li> </ul> While it is not a runtime dependency, the code generator for the Rust Qt bindings is worth noting: <ul> <li><a href="https://invent.kde.org/sdk/rust-qt-binding-generator">Rust Qt Binding Generator</a></li> </ul> PassFish uses a modified version, which can be found in the <a href="https://invent.kde.org/soulsource/rust-qt-binding-generator/-/tree/mockall_support">mockall_support</a> branch. </p> <p> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>. </p> <p> PassFish ist eine native Neu-Implementierung von <a href="https://passwordmaker.org/">PasswordMaker Pro</a> für Sailfish OS, mit dem Ziel, zu der <a href="https://sourceforge.net/projects/passwordmaker/files/Javascript%20Edition/">Javascript Edition</a> kompatibel zu sein. </p> <p> Der Original-Algorithmus von PasswordMaker Pro stammt von Miquel Burns und Eric H. Jung. </p> <p> Da es sich bei PassFish nicht um einen Port, sondern um eine kompette Neuimplementierung handelt, ist es nicht möglich, vollständige Kompatibilität zu garantieren. Auch wenn der Original-Quelltext während der Entwicklung als Hilfsmittel herangezogen wurde, gibt es doch grundlegende Unterschiede in der zugrunde liegenden Technologie. Für typische Inputs wurden zwar Integrations-Tests angelegt, es ist aber mehr als wahrscheinlich, dass der eine oder andere Spezialfall durch die Maschen gerutscht ist. Falls Sie ein derartiges Problem entdecken, melden Sie es doch bitte im <a href="https://github.com/soulsource/passfish/issues">Github Issue Tracker</a> dieses Projekts. </p> <p> Wenn wir schon bei Integrations-Tests sind: Um möglichst keine neuen Fehler zu verursachen, wurden die Hash-Algorithmen nicht erneut implementiert. Stattdessen wurde wo möglich die QCryptographicHash API verwendet. Wo dies nicht möglich war, wurde stattdessen auf das RustCrypto Hashes Projekt zurückgegriffen (mehr Details finden Sie in der Liste der Abhängigkeiten weiter unten). </p> <p> Dieses Programm besteht aus zwei Teilen: Der Anwendung selbst ("<a href="https://github.com/soulsource/passfish">PassFish</a>"), und einer Rust-Crate, welche den Nachbau des eigentlichen PasswordMaker Pro Algorithmus enthält ("<a href="https://github.com/soulsource/passwordmaker-rs"><nobr>passwordmaker&#8209;rs</nobr></a>"). Diese Trennung ist insofern wichtig, als dass die beiden Teile unter verschiedenen Lizenzen veröffentlicht wurden. PassFish selbst steht unter der GPLv3 Lizenz, während <nobr>passwordmaker&#8209;rs</nobr> unter LGPLv3 weiterverwendet werden darf. Die verlinkten Github-Seiten der jeweiligen Repositories enthalten weitere Details. </p> <p> Dieses Programm verwendet Software aus Drittquellen. Die Liste hier wird nach bestem Wissen und Gewissen aktuell gehalten. Hier sind nur die direkten Abhängigkeiten angegeben. Besuchen Sie bitte die Websites ebenjener, falls Sie Informationen über deren Abhängigkeiten benötigen. Selbiges gilt, falls Sie den Quelltext der als Open Source veröffentlichten Abhängigkeiten abrufen möchten. So weit ich das sagen kann, ist lediglich Silca selbst unter keiner offenen Lizenz verfügbar. Die hier genannten Lizenzen sind lediglich jene, die von <i>diesem</i> Projekt verwendet werden. Die meisten der gelisteten Drittanbieter-Projekte sind auch unter anderen Lizenzen verfügbar.<br> Dies sind die dynamisch verknüpften Abhängigkeiten: <ul> <li><a href="https://www.qt.io/">Qt Quick</a>: Verwendet unter <a href="https://www.gnu.org/licenses/lgpl-3.0.en.html">LGPLv3</a></li> <li><a href="https://sailfishos.org/develop/docs/silica/">Sailfish Silica</a>: Proprietär, <a href="https://www.gnu.org/licenses/gpl-3.0">GPL</a> Ausnahme für Systembibliotheken</li> <li><a href="https://github.com/sailfishos/libsailfishapp">LibSailfishApp</a>: Verwendet unter LGPL 2.1</li> </ul> Diese Bibliotheken (und deren Abhängigkeiten) sind statisch verknüpft: <ul> <li><a href="https://crates.io/crates/libc">libc Rust bindings</a>: Verwendet unter MIT Lizenz</li> <li><a href="https://crates.io/crates/serde">serde</a>: Verwendet unter MIT license</li> <li><a href="https://crates.io/crates/toml">toml-rs</a>: Verwendet unter MIT license</li> <li><a href="https://crates.io/crates/dirs">dirs</a>: Verwendet unter MIT license</li> <li><a href="https://crates.io/crates/ripemd">RustCrypto: RIPEMD</a>: Verwendet unter MIT license</li> </ul> Die <nobr>passwordmaker&#8209;rs</nobr> Bibliothek hat wiederum diese Abhängigkeiten: <ul> <li><a href="https://crates.io/crates/unicode-segmentation">unicode-segmentation</a>: Verwendet unter MIT license</li> </ul> Auch wenn es sich dabei nicht um eine Laufzeit-Abhängigkeit handelt, sollte der Code-Generator für die Qt Bindings für Rust nicht unerwähnt bleiben: <ul> <li><a href="https://invent.kde.org/sdk/rust-qt-binding-generator">Rust Qt Binding Generator</a></li> </ul> PassFish verwendet eine modifizierte Version vor Rust Qt Binding Generator, welche im <a href="https://invent.kde.org/soulsource/rust-qt-binding-generator/-/tree/mockall_support">mockall_support</a> Zweig verfügbar ist. </p> <p> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>. </p> CoverPage My Cover Mein Cover PassFish PassFish Used Text: Might be too long? Needs testing. Verwendeter Text: Pass Ready Pass Bereit Input Needed Input Benötigt FirstPage Show Page 2 Zur Seite 2 UI Template UI-Vorlage Hello Sailors Hallo Matrosen MainPage App Settings Programmeinstellungen About Über PassFish PassFish PassFish Profile Profil URL URL Master Password Hauptschlüssel Used Text Verwendeter Text Generating Am Generieren Missing text to use Kein zu verwendender Text angegeben Missing master password Kein Hauptschlüssel angegeben Error in profile character list Fehler in der Profil-Zeichenliste Generated Password Generiertes Passwort Saving settings failed. Fehler beim Speichern der Einstellungen. ProfileEditor Edit Profile Profil bearbeiten Required Field Benötigtes Feld Profile Name Profilname Profile name required. Profilname wird benötigt. Use Protocol Verwende Protokoll Include URL protocol (e.g. "http://") Nutze Protokoll (z.B. "http://") Use "undefined" if protocol is missing Verwende "undefined" bei fehlendem Protokoll Enable to mimic weird behaviour of PasswordMaker Pro. Einschalten, um das Verhalten von PasswordMaker Pro zu imitieren. Use Userinfo Verwende Nutzerdaten Include userinfo (e.g "jane_doe:12345" Nutze Nutzerinfo (z.B. "jane_doe:12345") Use Subomain(s) Verwende Subdomain(s) Include URL subdomain(s) (e.g. "www.") Nutze Subdomäne(n) (e.g. "www") Use Domain Verwende Domain Include URL domain (e.g. "example.com") Nutze Domain (z.B. "example.com") Use Port/Path Verwende Port/Pfad Include port and path (e.g ":8080/file") Nutze Port und Pfad (z.B. ":8080/datei") At least one URL part required. Mindesteins ein Teil der URL muss genutzt werden. Password Length Passwortlänge Hash Algorithm Hash-Algorithmus MD5 Version 0.6 MD5 Version 0.6 HMAC-MD5 Version 0.6 HMAC-MD5 Version 0.6 Use L33t Verwende L33t not at all Gar nicht before generating Vor der Generierung after generating Nach der Generierung before and after generating Vor und nach der Generierung Leet Level Leet genug für diese Welt? Leet-Stärke Default Characters Standard-Zeichenliste Alphanumeric Alphanumerisch Letters only Nur Buchstaben Numbers only Nur Ziffern Special only Nur Sonderzeichen Hex Hexadezimal Custom Angepasst Characters Preset Zeichenlistenvorlage Need at least 2 characters. Es werden mindestens 2 Zeichen benötigt. Characters Zeichenliste Username Nutzername Modifier Modifikator Prefix Präfix Suffix Suffix ProfilesPage Add Profile Neues Profil Select/Edit Profiles Profil Auswählen/Bearbeiten Edit Bearbeiten Remove Löschen Saving profiles failed. Fehler beim Speichern der Profile. SecondPage Nested Page Unterseite Item Element SettingsEditor Edit Settings Einstellungen Anpassen Hide Generated Password Generiertes Passwort verstecken Auto-clear generated password Generiertes Passwort automatisch löschen Auto-clear generated pass timeout Zeit bis das generierte Passwort gelöscht wird Auto-clear master password Hauptschlüssel automatisch löschen Auto-clear master pass timeout Zeit bis der Hauptschlüssel gelöscht wird Profiles can be edited directly in the profiles selector. Der Profileditor ist über die Profilauswahl erreichbar.