295 lines
11 KiB
Markdown
295 lines
11 KiB
Markdown
<img width="100" height="100" align="right" style="position: absolute;right: 0;padding: 12px;top:12px;" src="https://github.com/saturneric/Blob/blob/master/logos/icon.png?raw=true" alt="ICON"/>
|
|
|
|
# GpgFrontend
|
|
|
|

|
|

|
|

|
|
[](https://www.codacy.com/gh/saturneric/GpgFrontend/dashboard?utm_source=github.com&utm_medium=referral&utm_content=saturneric/GpgFrontend&utm_campaign=Badge_Grade)
|
|

|
|
[](https://app.fossa.com/projects/git%2Bgithub.com%2Fsaturneric%2FGpgFrontend?ref=badge_small)
|
|
[](https://github.com/saturneric/GpgFrontend/actions/workflows/release.yml)
|
|
|
|
GpgFrontend is a Free, Open Source, Powerful, Easy-to-Use, Compact, Cross-Platform [OpenPGP](https://www.openpgp.org/)
|
|
Crypt Tool. Also, it's one of the excellent GUI Frontends for Modern [GnuPG](https://www.gnupg.org/) (gpg).
|
|
|
|
By using GpgFrontend, you can quickly encrypt and decrypt text or files. You can also digitally sign your text or files.
|
|
**GpgFrontend does not need to depend on any server, therefore it may be one of the last lines of defense in protecting
|
|
your privacy.** Please use this tool to transmit or store information that you regard as very precious. You can also use
|
|
it to guarantee the authenticity of your information.
|
|
|
|
[Languages Supported](#languages-support) by GpgFrontend that are widely used in most countries and regions around the
|
|
world, including English, Chinese, French, Russian, German, Spanish, Portuguese, Arabic, etc.
|
|
|
|
**Notice:** GpgFrontend does not provide an embedded [gnupg](https://gnupg.org/) (gpg) binary and needs to be installed
|
|
by the user. **This is to ensure safety and avoid code or binary files involved in encryption and decryption being
|
|
implanted in the back-door during the delivery process.**
|
|
|
|
GpgFrontend is permanently free, and you can also "donate" it through the STAR project. Thanks!
|
|
|
|
[>> Overview <<](https://www.gpgfrontend.pub/#/overview) |
|
|
[>> Code & Binary Security <<](https://gpgfrontend.pub/#/about/code-binary-verify)
|
|
| [>> Track Development <<](https://global.git.codesdream.com/)
|
|
|
|
<img src="https://github.com/saturneric/Blob/blob/master/screenshots/main-ubuntu.png?raw=true" alt="Ubuntu Main Screenshot"/>
|
|
|
|
## Table of Contents
|
|
|
|
- [Usage](#usage)
|
|
- [User Manual](#user-manual)
|
|
- [Developer Document](#developer-document)
|
|
- [Build Source Code](#build-source-code)
|
|
- [Languages Support](#languages-support)
|
|
- [Contract](#contract)
|
|
- [Licenses](#LICENSES)
|
|
|
|
## Usage
|
|
|
|
Here are some common usages to help you understand what GpgFrontend does and where it comes in handy. The interface
|
|
presented may not be exactly the same as the latest stable release.
|
|
|
|
### Text Encryption
|
|
|
|
Encryption can be done in just a few clicks.
|
|
|
|

|
|
|
|
### Text Decryption
|
|
|
|
I want to see what you wrote right away.
|
|
|
|

|
|
|
|
### File Encryption & Sign
|
|
|
|
What about files?
|
|
|
|

|
|
|
|
## User Manual
|
|
|
|
GpgFrontend provides detailed documentation on his main features. If you want to know how to install with it, please
|
|
read the [User Manual](https://www.gpgfrontend.pub/#/quick-start) instead of README.
|
|
|
|
## Developer Document
|
|
|
|
You can view the developer documentation that is synchronized with the current latest release code. This document will
|
|
help you understand the source code and get involved more quickly in the process of contributing to open source.
|
|
|
|
[Developer Document](https://doxygen.gpgfrontend.pub)
|
|
|
|
## Build Source Code
|
|
|
|
For some capable users, building Gpg Frontend from source code is a good option. We encourage people to freely build,
|
|
package and distribute their own versions. The way we build in common systems is as follows:
|
|
|
|
Note: "$" Symbols indicate commands to be executed with a normal user. Before you start, please clone the latest stable
|
|
version code for users around the world.
|
|
|
|
```shell
|
|
$ git clone --recurse-submodules https://github.com/saturneric/GpgFrontend.git
|
|
```
|
|
|
|
如果你在中国大陆,可以使用这个仓库
|
|
|
|
```shell
|
|
$ git clone --recurse-submodules https://git.codesdream.com/GpgFrontend.git
|
|
```
|
|
|
|
### For Windows
|
|
|
|
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:
|
|
|
|
```shell
|
|
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.
|
|
|
|
```shell
|
|
$ 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.
|
|
|
|
```shell
|
|
$ ./release/GpgFrontend.exe
|
|
```
|
|
|
|
### For macOS
|
|
|
|
Install and compile dependencies.
|
|
|
|
```shell
|
|
$ brew install cmake git autoconf automake qt@5 texinfo gettext openssl@1.1 libarchive
|
|
$ brew install boost ninja
|
|
$ brew unlink gettext && brew link --force gettext
|
|
$ brew link qt@5
|
|
```
|
|
|
|
Build the code separately for debug.
|
|
|
|
```shell
|
|
$ cd GpgFrontend
|
|
$ mkdir build && cd build
|
|
$ cmake -G Ninja -DCMAKE_BUILD_TYPE="Debug" -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl@1.1 ..
|
|
$ ninja
|
|
$ ./release/GpgFrontend # run the program
|
|
```
|
|
|
|
Build the code and make the App Bundle.
|
|
|
|
```shell
|
|
$ cd GpgFrontend
|
|
$ mkdir build && cd build
|
|
$ cmake -G Ninja -DCMAKE_BUILD_TYPE="Release" -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl@1.1 ..
|
|
$ ninja
|
|
$ macdeployqt ./release/GpgFrontend.app
|
|
```
|
|
|
|
### For Ubuntu 18.04 And Later
|
|
|
|
Install and compile dependencies.
|
|
|
|
```shell
|
|
$ 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 in third_party directory is newer than those in apt.
|
|
|
|
```shell
|
|
# 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).
|
|
|
|
```shell
|
|
$ 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).
|
|
|
|
```shell
|
|
$ 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).
|
|
|
|
```shell
|
|
$ 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
|
|
```
|
|
|
|
## Languages Support
|
|
|
|
The supported languages are listed here. Some languages use machine translation and have not been verified. If you want
|
|
to join translation and verification work, please refer to [here](https://gpgfrontend.pub/#/translate-interface).
|
|
|
|
### Supported Languages
|
|
|
|
'zh_CN', 'zh_TW', 'zh_HK', 'es_ES', 'fr_FR', 'de_DE', 'pl_PL', 'ru_RU', 'ja_JP', 'it_IT',
|
|
'ko_KR', 'pt_BR', 'ar_SA', 'ar_IQ', 'hi_IN', 'af_ZA', 'sq_AL', 'be_BY', 'bg_BG', 'ca_ES',
|
|
'hr_HR', 'cs_CZ', 'da_DK', 'nl_NL', 'et_EE', 'fa_IR', 'fi_FI', 'fr_CA', 'he_IL', 'id_ID',
|
|
'lt_LT', 'de_AT', 'de_CH', 'el_GR', 'es_MX', 'iw_IL', 'uk_UA', 'en_US', 'en_GB', 'en_AU',
|
|
|
|
Notice: Most translations are generated by Google's automatic translation machine.If you find that a certain translation
|
|
is wrong, you are welcome to join the translation work to provide a more suitable human translation.
|
|
|
|
## Contract
|
|
|
|
Please refer to [here](https://www.gpgfrontend.pub/#/contract) for my contact details.
|
|
|
|
### Contributing & Bugs Report
|
|
|
|
Feel free to dive in! [Open an issue](https://github.com/saturneric/GpgFrontend/issues/new) or submit PRs if you prefer
|
|
to use GitHub. For anonymous users, Git patches can be delivered by [mail](mailto:eric@bktus.com).
|
|
|
|
### Project Maintainer
|
|
|
|
[@Saturneric](https://github.com/saturneric)
|
|
|
|
### Project's LOGO
|
|
|
|

|
|
|
|
## LICENSES
|
|
|
|
GpgFrontend itself is licensed under the [GPLv3](COPYING).
|
|
|
|
[](https://app.fossa.com/projects/git%2Bgithub.com%2Fsaturneric%2FGpgFrontend?ref=badge_large)
|
|
|
|
### Dependency
|
|
|
|
There are some libraries and binary included in the zip-file which (may) have different licenses, for more information
|
|
check their homepages. You can also obtain the sources from there.
|
|
|
|
gnupg: https://gnupg.org
|
|
|
|
gpgme: https://gnupg.org/software/gpgme/index.html
|
|
|
|
Qt(opensource): 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
|
|
|
|
SMTP Client for Qt (C++): https://github.com/bluetiger9/SmtpClient-for-Qt
|
|
|
|
Qt-AES: https://github.com/saturneric/Qt-AES
|
|
|
|
vmime: https://www.vmime.org/
|
|
|
|
MacOS Application
|
|
Bundles: [Link](https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW1)
|
|
|
|
The icons of this software use materials from [Alibaba Iconfont](!https://www.iconfont.cn/). The Alibaba vector icon
|
|
library is free to use. The icons in the free library aren't registered as trademarks. There is no copyright issue
|
|
involved and can be used commercially.
|