This forked repository is used to extend functionality of KeepassX:
Show/Hide main window by a system tray icon.Implemented on upstream- Improve system tray menu by adding Close all databases and Lock database
- Add DBUS support on Unice systems (usefull to manage databases automatically on events like login, logout, etc...)
- Add make target (winsetup) to make Wind*ws Setup application (from fedora)
Changes will be submited to original KeepassX by pull requests.
-
Open keepassx database: without password and key file
qdbus org.keepassx.MainWindow /keepassx org.keepassx.MainWindow.openDatabase /path/to/database.kdbx
-
Open keepassx database: with password but without key file
qdbus org.keepassx.MainWindow /keepassx org.keepassx.MainWindow.openDatabase /path/to/database.kdbx passwd
-
Open keepassx database: with password and key file
qdbus org.keepassx.MainWindow /keepassx org.keepassx.MainWindow.openDatabase /path/to/database.kdbx passwd /path/to/key
-
Close all keepassx databases
qdbus org.keepassx.MainWindow /keepassx org.keepassx.MainWindow.closeAllDatabases
-
Exit keepassx
qdbus org.keepassx.MainWindow /keepassx org.keepassx.MainWindow.exit
Launch following commands directly from src/gui directory:
Regenerate XML file for DBus
qdbuscpp2xml -M -s MainWindow.h -o org.keepassx.MainWindow.xml
Make sure interface name is org.keepassx.MainWindow
<interface name="org.keepassx.MainWindow">
Regenerate Adaptor source files from DBus XML
qdbusxml2cpp -c MainWindowAdaptor -a MainWindowAdaptor.h:MainWindowAdaptor.cpp org.keepassx.MainWindow.xml
This howto is based on Fedora 22 and then deps are closed to this distribution. However, cross-compilation and build setup processes may be done on other distribution.
Install deps
dnf install mingw32-binutils mingw32-gcc mingw32-gcc-c++
dnf install mingw32-qt5-qtbase mingw32-qt5-qttools mingw32-qt5-qtbase-devel
dnf install mingw32-libgcrypt mingw32-zlib
Install Win application (with wine) to build KeePassX installation setup. Download it from Inno Setup website
wine isetup-5.5.6.exe
Cross-compile
mkdir win32
cd win32
cmake -DCMAKE_TOOLCHAIN_FILE=../win32.cmake ..
make
Build windows installation setup
make winsetup
Install deps
dnf install mingw64-binutils mingw64-gcc mingw64-gcc-c++
dnf install mingw64-qt5-qtbase mingw64-qt5-qttools mingw64-qt5-qtbase-devel
dnf install mingw64-libgcrypt mingw64-zlib
Cross-compile
mkdir win64
cd win64
cmake -DCMAKE_TOOLCHAIN_FILE=../win64.cmake ..
make
Create windows installation setup
make winsetup
KeePassX is an application for people with extremely high demands on secure personal data management. It has a light interface, is cross platform and published under the terms of the GNU General Public License.
KeePassX saves many different information e.g. user names, passwords, urls, attachments and comments in one single database. For a better management user-defined titles and icons can be specified for each single entry. Furthermore the entries are sorted in groups, which are customizable as well. The integrated search function allows to search in a single group or the complete database. KeePassX offers a little utility for secure password generation. The password generator is very customizable, fast and easy to use. Especially someone who generates passwords frequently will appreciate this feature.
The complete database is always encrypted with the AES (aka Rijndael) encryption algorithm using a 256 bit key. Therefore the saved information can be considered as quite safe. KeePassX uses a database format that is compatible with KeePass Password Safe. This makes the use of that application even more favorable.
KeePassX can be downloaded and installed using an assortment of installers available on the main KeePassX website. KeePassX can also be installed from the official repositories of many Linux repositories. If you wish to build KeePassX from source, rather than rely on the pre-compiled binaries, you may wish to read up on the From Source section.
To install KeePassX from the Debian repository:
sudo apt-get install keepassx
Install KeePassX from the Red Hat (or CentOS) repository:
sudo yum install keepassx
Download the installer from the KeePassX download page. Once downloaded, double click on the file to execute the installer.
The following tools must exist within your PATH:
- make
- cmake (>= 2.8.12)
- g++ (>= 4.7) or clang++ (>= 3.0)
The following libraries are required:
- Qt 5 (>= 5.2): qtbase and qttools5
- libgcrypt (>= 1.6)
- zlib
- libxi, libxtst, qtx11extras (optional for auto-type on X11)
On Debian you can install them with:
sudo apt-get install build-essential cmake qtbase5-dev libqt5x11extras5-dev qttools5-dev qttools5-dev-tools libgcrypt20-dev zlib1g-dev libxi-dev libxtst-dev
To compile from source:
mkdir build
cd build
cmake ..
make [-jX]
You will have the compiled KeePassX binary inside the ./build/src/
directory.
To install this binary execute the following:
sudo make install
More detailed instructions available in the INSTALL file.
Coordination of work between developers is handled through the KeePassX development site. Requests for enhancements, or reports of bugs encountered, can also be reported through the KeePassX development site. However, members of the open-source community are encouraged to submit pull requests directly through GitHub.
Clone the repository to a suitable location where you can extend and build this project.
git clone https://github.com/keepassx/keepassx.git
Note: This will clone the entire contents of the repository at the HEAD revision.
To update the project from within the project's folder you can run the following command:
git pull
We're always looking for suggestions to improve our application. If you have a suggestion for improving an existing feature, or would like to suggest a completely new feature for KeePassX, please file a ticket on the KeePassX development site.
Our software isn't always perfect, but we strive to always improve our work. You may file bug reports on the KeePassX development site.
Along with our desire to hear your feedback and suggestions, we're also interested in accepting direct assistance in the form of code.
Issue merge requests against our GitHub repository.
Translations are managed on Transifex which offers a web interface. Please join an existing language team or request a new one if there is none.