AboutPage About PassFish About 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 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> CoverPage PassFish PassFish Used Text: Used Text: Pass Ready Pass Ready Input Needed Input Needed MainPage App Settings App Settings About About PassFish PassFish PassFish Profile Profile URL URL Master Password Master Password Used Text Used Text Generating Generating Missing text to use Missing text to use Missing master password Missing master password Error in profile character list Error in profile character list Generated Password Generated Password Saving settings failed. Saving settings failed. ProfileEditor Edit Profile Edit Profile Required Field Required Field Profile Name Profile Name Profile name required. Profile name required. Use Protocol Use Protocol Include URL protocol (e.g. "http://") Include URL protocol (e.g. "http://") Use "undefined" if protocol is missing Use "undefined" if protocol is missing Enable to mimic weird behaviour of PasswordMaker Pro. Enable to mimic weird behaviour of PasswordMaker Pro. Use Userinfo Use Userinfo Include userinfo (e.g "jane_doe:12345" Include userinfo (e.g. "jane_doe:12345") Use Subomain(s) Use Subomain(s) Include URL subdomain(s) (e.g. "www.") Include URL subdomain(s) (e.g. "www.") Use Domain Use Domain Include URL domain (e.g. "example.com") Include URL domain (e.g. "example.com") Use Port/Path Use Port/Path Include port and path (e.g ":8080/file") Include port and path (e.g ":8080/file") At least one URL part required. At least one URL part required. Password Length Password Length Hash Algorithm Hash Algorithm MD5 Version 0.6 MD5 Version 0.6 HMAC-MD5 Version 0.6 HMAC-MD5 Version 0.6 Use L33t Use L33t not at all not at all before generating before generating after generating after generating before and after generating before and after generating Leet Level Leet Level Default Characters Default Characters Alphanumeric Alphanumeric Letters only Letters only Numbers only Numbers only Special only Special only Hex Hex Custom Custom Characters Preset Characters Preset Need at least 2 characters. Need at least 2 characters. Characters Characters Username Username Modifier Modifier Prefix Prefix Suffix Suffix ProfilesPage Add Profile Add Profile Select/Edit Profiles Select/Edit Profiles Edit Edit Remove Remove Saving profiles failed. Saving profiles failed. SettingsEditor Edit Settings Edit Settings Hide Generated Password Hide Generated Password Auto-clear generated password Auto-clear generated password Auto-clear generated pass timeout Auto-clear generated pass timeout Auto-clear master password Auto-clear master password Auto-clear master pass timeout Auto-clear master pass timeout Profiles can be edited directly in the profiles selector. Profiles can be edited directly in the profiles selector.