AboutPageAbout 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‑rs</nobr></a>").
This is important, as the two parts use different licenses. PassFish is published under the GPLv3 license, while <nobr>passwordmaker‑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‑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‑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‑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‑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>
CoverPageMy CoverMein CoverPassFishPassFishUsed Text:Might be too long? Needs testing.Verwendeter Text:Pass ReadyPasswort BereitInput NeededInput BenötigtFirstPageShow Page 2Zur Seite 2UI TemplateUI-VorlageHello SailorsHallo MatrosenMainPageApp SettingsProgrammeinstellungenAboutÜber PassFishPassFishPassFishProfileProfilURLURLMaster PasswordHauptschlüsselUsed TextVerwendeter TextGeneratingAm GenerierenMissing text to useKein zu verwendender Text angegebenMissing master passwordKein Hauptschlüssel angegebenError in profile character listFehler in der Profil-ZeichenlisteGenerated PasswordGeneriertes PasswortSaving settings failed.Fehler beim Speichern der Einstellungen.ProfileEditorEdit ProfileProfil bearbeitenRequired FieldBenötigtes FeldProfile NameProfilnameProfile name required.Profilname wird benötigt.Use ProtocolVerwende ProtokollInclude URL protocol (e.g. "http://")Nutze Protokoll (z.B. "http://")Use "undefined" if protocol is missingVerwende "undefined" bei fehlendem ProtokollEnable to mimic weird behaviour of PasswordMaker Pro.Einschalten, um das Verhalten von PasswordMaker Pro zu imitieren.Use UserinfoVerwende NutzerdatenInclude 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 DomainVerwende DomainInclude URL domain (e.g. "example.com")Nutze Domain (z.B. "example.com")Use Port/PathVerwende Port/PfadInclude 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 LengthPasswortlängeHash AlgorithmHash-AlgorithmusMD5 Version 0.6MD5 Version 0.6HMAC-MD5 Version 0.6HMAC-MD5 Version 0.6Use L33tVerwende L33tnot at allGar nichtbefore generatingVor der Generierungafter generatingNach der Generierungbefore and after generatingVor und nach der GenerierungLeet LevelLeet genug für diese Welt?Leet-StärkeDefault CharactersStandard-ZeichenlisteAlphanumericAlphanumerischLetters onlyNur BuchstabenNumbers onlyNur ZiffernSpecial onlyNur SonderzeichenHexHexadezimalCustomAngepasstCharacters PresetZeichenlistenvorlageNeed at least 2 characters.Es werden mindestens 2 Zeichen benötigt.CharactersZeichenlisteUsernameNutzernameModifierModifikatorPrefixPräfixSuffixSuffixProfilesPageAdd ProfileNeues ProfilSelect/Edit ProfilesProfil Auswählen/BearbeitenEditBearbeitenRemoveLöschenSaving profiles failed.Fehler beim Speichern der Profile.SecondPageNested PageUnterseiteItemElementSettingsEditorEdit SettingsEinstellungen AnpassenHide Generated PasswordGeneriertes Passwort versteckenAuto-clear generated passwordGeneriertes Passwort automatisch löschenAuto-clear generated pass timeoutZeit bis das generierte Passwort gelöscht wirdAuto-clear master passwordHauptschlüssel automatisch löschenAuto-clear master pass timeoutZeit bis der Hauptschlüssel gelöscht wirdProfiles can be edited directly in the profiles selector.Der Profileditor ist über die Profilauswahl erreichbar.