GpgFrontend is a free, open-source, robust yet user-friendly, compact and cross-platform tool for OpenPGP encryption. It stands out as an exceptional GUI frontend for the modern GnuPG (gpg).
When using GpgFrontend, you can:
- Rapidly encrypt files or text.
- Digitally sign your files or text with ease.
- Conveniently manage all your GPG keys on your device.
- Transfer all your GPG keys between devices safely and effortlessly.
- Furthermore, you can build and run it on various operating systems, including Windows, macOS, Linux, FreeBSD, and more.
GpgFrontend is PERMANENTLY FREE of charge. However, you can support us by "starring" this project. Your contributions are highly appreciated!
Language Supported by GpgFrontend including English, Chinese, French, Russian, German, Spanish, Portuguese, Arabic, etc.
>> Download << | >> User Manual << | >> Developer Document << | >> Develop Code Repo <<
- Usage
- User Manual
- System Requirement
- Developer Document
- Build From Source Code
- Language Support
- Contract
- Licenses
Here are some typical use cases to provide you with a better understanding of GpgFrontend's functionalities. Please note that the interface showcased here may not exactly mirror the latest stable release.
Encryption can be done in just a few clicks.
Paste the text, and just click decryption.
What about files?
GpgFrontend provides documentations on its main features. If you want to know how to install, please read the User Manual instead of README.
Before proceeding with the installation and usage of GpgFrontend, it's crucial to understand the system requirements that ensure optimal performance. This section provides comprehensive details about the necessary software dependencies, hardware specifications, and the compatible operating systems. Meeting these requirements will ensure a smooth, efficient experience while using GpgFrontend.
Please read the following subsections carefully to confirm that your system aligns with the recommended configurations.
GpgFrontend is compatible with major operating systems including Linux, macOS, and Windows. Specifically, it recommends Windows 10 and later, macOS 11 and later, and Ubuntu 20.04 LTS or other equivalent Linux distributions.
Qt5 or Later: GpgFrontend is developed using the Qt framework. Therefore, a runtime of Qt5 or later is required for the software to function correctly. Please note, the Qt5 runtime is integrated into the Release Package for Linux, macOS, and Windows, so it generally does not need to be considered separately. This allows for easier setup and ensures compatibility across different systems.
GnuPG: As the frontend for GnuPG, GpgFrontend requires GnuPG (version 2.2.0 or higher) to be pre-installed in your system. Please note, GpgFrontend is not compatible with GnuPG 1.x versions. Users employing earlier versions of GnuPG 2 may encounter some unforeseen issues. We strongly recommend updating to the supported versions to ensure a seamless experience.
While the specific hardware requirements largely depend on the size and complexity of the data you're working with, we generally recommend:
A computer with at least 1 GB of RAM. However, 2 GB or more is preferable for smoother performance. The majority of these resources are allocated to your operating system, but around 100 MB of memory is needed to ensure the smooth running of GpgFrontend. At least 200 MB of free disk space for software installation. Additional space will be needed for ongoing work.
Please note, these requirements are intended to be guidelines rather than strict rules. It's possible that GpgFrontend will work on lower-spec hardware, but for optimal performance, the above specifications are recommended.
Although not necessary for basic operation, an active Internet connection may be required for software updates and accessing online help resources.
Please note that these are the minimal requirements that we tested, and actual requirements for your use case could be higher, especially for large datasets.
You can view the developer documentations that is synchronized with the current latest develop code. This document will help you understand the source code and get involved more quickly in the process of contributing to open source.
For some experts, building GpgFrontend from source code is a good option. I encourage people to freely build, package and distribute their own versions. The method I build in major operating systems is as follows:
Note: "$" Symbols indicate commands to should be executed with a normal user.
$ git clone --recurse-submodules https://github.com/saturneric/GpgFrontend.git
Before building, you need to install MSYS2. After installation, open the MSYS2 terminal (MSYS2 MinGW 64-bit), enter the MSYS2 directory, and execute the following commands:
pacman --noconfirm -S --needed mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-cmake autoconf
pacman --noconfirm -S --needed make texinfo mingw-w64-x86_64-libconfig mingw-w64-x86_64-boost automake
pacman --noconfirm -S --needed mingw-w64-x86_64-qt5 libintl msys2-runtime-devel gettext-devel mingw-w64-x86_64-gpgme
pacman --noconfirm -S --needed mingw-w64-x86_64-ninja mingw-w64-x86_64-gnupg mingw-w64-x86_64-libarchive
After executing these commands, you will start compiling.
$ cd GpgFrontend
$ mkdir build && cd build
$ cmake -G Ninja -DCMAKE_BUILD_TYPE="Release" ..
$ ninja
After compiling, a release directory will be generated, which contains executable files that can be run directly.
$ ./release/GpgFrontend.exe
Install and compile dependencies.
$ brew install cmake git autoconf automake qt@5 texinfo gettext [email protected] libarchive
$ brew install boost ninja
$ brew unlink gettext && brew link --force gettext
$ brew link qt@5
Build the code separately for debug.
$ cd GpgFrontend
$ mkdir build && cd build
$ cmake -G Ninja -DCMAKE_BUILD_TYPE="Debug" -DOPENSSL_ROOT_DIR=/usr/local/opt/[email protected] ..
$ ninja
$ ./release/GpgFrontend # run the program
Build the code and make the App Bundle.
$ cd GpgFrontend
$ mkdir build && cd build
$ cmake -G Ninja -DCMAKE_BUILD_TYPE="Release" -DOPENSSL_ROOT_DIR=/usr/local/opt/[email protected] ..
$ ninja
$ macdeployqt ./release/GpgFrontend.app
Install and compile dependencies.
$ sudo apt-get update
$ sudo apt-get -y install build-essential binutils git autoconf automake gettext texinfo
$ sudo apt-get -y install gcc-8 g++-8 ninja-build
$ sudo apt-get -y install libconfig++-dev libboost-all-dev libarchive-dev libssl-dev
$ sudo apt-get -y install gpg # If you need to run directly after building.
Compile and install libgpg-error/libassuan/gpgme. Notice: These component's version in third_party directory is newer than those in apt.
# libgpg-error
$ cd GpgFrontend
$ cd ./third_party/libgpg-error
$ ./autogen.sh
$ ./configure --enable-maintainer-mode && make
$ sudo make install
# libassuan
$ cd GpgFrontend
$ cd ./third_party/libassuan
$ ./autogen.sh
$ ./configure --enable-maintainer-mode && make
$ sudo make install
# gpgme
$ cd GpgFrontend
$ cd ./third_party/gpgme
$ ./autogen.sh
$ ./configure --enable-maintainer-mode --enable-languages=cpp && make
$ sudo make install
Build the code and make the deb package(Please use Ubuntu 20.04 or later).
$ cd GpgFrontend
$ mkdir build && cd build
$ cmake -G Ninja -DCMAKE_BUILD_TYPE="Release" -DGPGFRONTEND_GENERATE_LINUX_INSTALL_SOFTWARE=ON ..
$ ninja
$ ninja package
Build the code separately for debug(Please use ubuntu 18.04 or later).
$ cd GpgFrontend
$ mkdir build && cd build
$ cmake -G Ninja -DCMAKE_BUILD_TYPE="Debug" ..
$ ninja
$ ./release/GpgFrontend # run the program
Package the AppImage(Should use ubuntu 18.04).
$ cd GpgFrontend
$ mkdir build && cd build
$ cmake -G Ninja -DCMAKE_BUILD_TYPE="Release" ..
$ ninja
$ mkdir ./AppImageOut
$ cd ./AppImageOut
$ wget -c -nv https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage
$ chmod u+x linuxdeployqt-continuous-x86_64.AppImage
$ ./linuxdeployqt-continuous-x86_64.AppImage ../release/gpgfrontend/usr/share/applications/*.desktop -appimage
Listed below are the languages currently supported by GpgFrontend. Please be aware that some of these languages are translated via machine translation and may not have been manually verified for accuracy. If you are interested in joining our translation and verification work, please refer to this link.
GpgFrontend currently supports a wide array of languages including:
- Chinese (Simplified): 'zh_CN'
- Chinese (Traditional): 'zh_TW', 'zh_HK'
- Spanish: 'es_ES', 'es_MX'
- French: 'fr_FR', 'fr_CA'
- German: 'de_DE', 'de_AT', 'de_CH'
- Polish: 'pl_PL'
- Russian: 'ru_RU'
- Japanese: 'ja_JP'
- Italian: 'it_IT'
- Korean: 'ko_KR'
- Brazilian Portuguese: 'pt_BR'
- Arabic: 'ar_SA', 'ar_IQ'
- Hindi: 'hi_IN'
- Afrikaans: 'af_ZA'
- Albanian: 'sq_AL'
- Belarusian: 'be_BY'
- Bulgarian: 'bg_BG'
- Catalan: 'ca_ES'
- Croatian: 'hr_HR'
- Czech: 'cs_CZ'
- Danish: 'da_DK'
- Dutch: 'nl_NL'
- Estonian: 'et_EE'
- Persian: 'fa_IR'
- Finnish: 'fi_FI'
- Hebrew: 'he_IL', 'iw_IL'
- Indonesian: 'id_ID'
- Lithuanian: 'lt_LT'
- Greek: 'el_GR'
- Ukrainian: 'uk_UA'
- English: 'en_US', 'en_GB', 'en_AU'
Notice: Please note that most translations are generated by Google's automatic translation service. If you find an error in any of the translations, we welcome you to join our translation work to provide a more accurate human translation.
Please refer to HERE for my contact details.
Feel free to dive in! Open an issue or submit PRs if you prefer to use GitHub. For anonymous users, Git patches can be delivered by mail.
GpgFrontend itself is licensed under the GPLv3.
GpgFrontend incorporates various libraries and binaries that come with their unique licenses. For additional details or to obtain the source code, please visit their respective homepages:
- GnuPG: https://gnupg.org
- GPGME: https://gnupg.org/software/gpgme/index.html
- Qt (Open Source): https://www.qt.io
- MSYS2: https://www.msys2.org
- Mingw-w64: http://mingw-w64.org/doku.php
- AppImage: https://appimage.org
- JSON for Modern C++: https://github.com/nlohmann/json
- Qt-AES: https://github.com/saturneric/Qt-AES
- macOS Application Bundles: Link
The icons utilized in this software are sourced from Alibaba Iconfont. This vector icon library is free of use, isn't registered as a trademark, has no copyright issues, and can be commercially utilized.