doc: update README and manual

This commit is contained in:
saturneric 2023-07-14 00:34:31 +08:00
parent 19b8cca7d9
commit 923c75ec33
8 changed files with 200 additions and 178 deletions

128
README.md
View File

@ -11,25 +11,29 @@
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fsaturneric%2FGpgFrontend.svg?type=small)](https://app.fossa.com/projects/git%2Bgithub.com%2Fsaturneric%2FGpgFrontend?ref=badge_small)
[![Build & Package](https://github.com/saturneric/GpgFrontend/actions/workflows/release.yml/badge.svg?branch=main)](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).
GpgFrontend is a free, open-source, robust yet user-friendly, compact and
cross-platform tool for [OpenPGP](https://www.openpgp.org/) encryption. It
stands out as an exceptional GUI frontend for the modern
[GnuPG](https://www.gnupg.org/) (gpg).
By using GpgFrontend,
When using GpgFrontend, you can:
- You can quickly make encrypted files or texts.
- You can digitally sign your texts or files.
- You can easily manage all your GPG keys on your machine.
- You can easily and safely transfer all your GPG keys between your machines.
- Furthermore, you can build and run it on Windows, macOS, Linux, FreeBSD, etc.
- 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**, but you can also "DONATE" it through STAR this project. Thanks!
GpgFrontend is **PERMANENTLY FREE** of charge. However, you can support us by
"starring" this project. Your contributions are highly appreciated!
[Languages Supported](#languages-support) by GpgFrontend including English, Chinese, French, Russian, German, Spanish, Portuguese, Arabic, etc.
[>> Download <<](https://github.com/saturneric/GpgFrontend/releases/latest)
| [>> User Manual <<](https://www.gpgfrontend.bktus.com/#/overview)
| [>> Developer Document <<](https://doxygen.gpgfrontend.bktus.com/)
| [>> Develop Code Repo <<](https://git.codesdream.com/?p=public/main/GpgFrontend.git;a=summary)
| [>> Develop Code Repo <<](https://repo.stdv.de/?p=public/main/GpgFrontend.git;a=summary)
<img src="https://github.com/saturneric/Blob/blob/master/screenshots/main-ubuntu.png?raw=true" alt="Ubuntu Main Screenshot"/>
@ -46,8 +50,9 @@ GpgFrontend is **PERMANENTLY FREE**, but you can also "DONATE" it through STAR t
## Usage
Here are some common usages to help you understand what GpgFrontend does. The interface
presented here may not be exactly the same as the latest stable release.
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.
### Text Encryption & Decryption
@ -85,8 +90,8 @@ aligns with the recommended configurations.
### Operating System
GpgFrontend is compatible with major operating systems including Linux, macOS,
and Windows. Specifically, it recommends Windows 10 and later, macOS 10.15 High
Sierra and later, and Ubuntu 18.04 LTS or other equivalent Linux distributions.
and Windows. Specifically, it recommends Windows 10 and later, macOS 11 and
later, and Ubuntu 20.04 LTS or other equivalent Linux distributions.
### Software Dependencies
@ -271,22 +276,55 @@ $ chmod u+x linuxdeployqt-continuous-x86_64.AppImage
$ ./linuxdeployqt-continuous-x86_64.AppImage ../release/gpgfrontend/usr/share/applications/*.desktop -appimage
```
## Languages Support
## Language 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.bktus.com/#/translate-interface).
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](https://gpgfrontend.bktus.com/#/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',
GpgFrontend currently supports a wide array of languages including:
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](https://www.gpgfrontend.bktus.com/#/translate-interface)
to provide a more suitable human translation.
- 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](https://www.gpgfrontend.bktus.com/#/translate-interface) to provide a more
accurate human translation.
## Contract
@ -311,29 +349,23 @@ GpgFrontend itself is licensed under the [GPLv3](COPYING).
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fsaturneric%2FGpgFrontend.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fsaturneric%2FGpgFrontend?ref=badge_large)
### Dependencies
### Dependencies and Acknowledgements
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.
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
- **GnuPG**: [https://gnupg.org](https://gnupg.org)
- **GPGME**: [https://gnupg.org/software/gpgme/index.html](https://gnupg.org/software/gpgme/index.html)
- **Qt (Open Source)**: [https://www.qt.io](https://www.qt.io)
- **MSYS2**: [https://www.msys2.org](https://www.msys2.org)
- **Mingw-w64**: [http://mingw-w64.org/doku.php](http://mingw-w64.org/doku.php)
- **AppImage**: [https://appimage.org](https://appimage.org)
- **JSON for Modern C++**: [https://github.com/nlohmann/json](https://github.com/nlohmann/json)
- **Qt-AES**: [https://github.com/saturneric/Qt-AES](https://github.com/saturneric/Qt-AES)
- **macOS Application Bundles**: [Link](https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW1)
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
Qt-AES: https://github.com/saturneric/Qt-AES
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.
The icons utilized in this software are sourced from [Alibaba
Iconfont](https://www.iconfont.cn/). This vector icon library is free of use,
isn't registered as a trademark, has no copyright issues, and can be
commercially utilized.

View File

@ -1,6 +1,6 @@
<!-- _navbar.md -->
- [Source Code(Develop Repo)](https://git.codesdream.com/?p=public/main/GpgFrontend.git;a=summary)
- [Source Code(Develop Repo)](https://repo.stdv.de/?p=public/main/GpgFrontend.git;a=summary)
- [Document](https://doxygen.gpgfrontend.bktus.com)
- [Manual](overview.md)
- [Downloads](downloads.md)

View File

@ -2,7 +2,7 @@
- [Overview](overview.md)
- [Quick Start](quick-start.md)
- [Downloads](downloads.md)
- [Basic concepts](basic-concepts.md)
- [Fundamental Concepts](basic-concepts.md)
- Manual
- [Understand Interface](manual/understand-interface.md)
- [Encrypt & Decrypt Text](manual/encrypt-decrypt-text.md)

View File

@ -1,69 +1,53 @@
# Basic Concepts
# Fundamental Concepts
If you don't know GPG, or PGP, you may need to learn some basic concepts here
before using Gpg Frontend. This reduces the chance of you making mistakes, such
as distributing your private key to the world.
If you're unfamiliar with GPG or PGP, it would be beneficial to learn some
fundamental concepts before using GpgFrontend. This can help prevent potential
mistakes, such as accidentally sharing your private key.
## The most basic concepts you must know
## Essential Concepts
To begin using GPG, you must first generate a key pair, which can be thought of
as a key ring. Each key pair includes at least two keys: a public key and a
corresponding private key. Together, these keys form a key pair. It is possible
for a key pair to include multiple public keys and their corresponding private
keys, but this will be explained later.
Before you start using GPG, you need to generate a key pair, analogous to a key
ring. Each key pair comprises at least two keys: a public key and a
corresponding private key. It is possible for a key pair to contain multiple
public keys and their associated private keys, which we'll discuss later.
The public key can be shared with others, allowing them to encrypt information
they wish to send to you. The private key must be kept secure, as its disclosure
would render your encryption ineffective.
The public key can be shared with others, allowing them to encrypt data they
want to send you. Conversely, the private key should remain confidential since
its exposure can compromise your encryption.
It is important to understand that the public key is used for encryption and
that any ciphertext encrypted using your public key can only be decrypted using
the corresponding private key of your key pair. This process relies on
cryptographic principles and is trustworthy unless your private key is known to
someone else. The reverse process is also valid: you can encrypt a message using
your private key and someone else can decrypt it using your public key. This
process establishes a mechanism for signing and verifying information.
Information encrypted with the private key can be considered a signature, and
others can use the public key to verify that the signature is valid.
It's vital to understand that the public key is used for encryption, and the
ciphertext encrypted with your public key can only be decrypted using your key
pair's corresponding private key. This process is based on cryptographic
principles and is reliable unless your private key gets compromised. Similarly,
you can encrypt a message with your private key, and someone else can decrypt it
using your public key, establishing a signature verification mechanism.
For most users, it is not necessary to understand the cryptography behind GPG,
but it is helpful to remember the basic principles described above. For those
interested in learning more, further reading is recommended.
While understanding the underlying cryptography of GPG isn't necessary for most
users, remembering these basic principles can be beneficial.
## Multiple pairs of public and private keys in a key pair
## Multiple Pairs of Public and Private Keys in a Key Pair
In a key pair, there is always at least one public-private key pair, but there
is no limit to the maximum number of pairs. It is possible to generate
additional pairs of public and private subkeys and add them to the key pair.
However, it should be noted that the newly added subkeys are identical to the
original pair, as each pair consists of one public key and one private key,
which we refer to as the primary key pair.
A key pair always contains at least one public-private key pair, but there's no
maximum limit. It's possible to generate additional public and private subkeys
to add to the key pair. Each pair consists of one public key and one private
key, which we refer to as the primary key pair.
Users can specify the purpose of each subkey pair. For instance, the first key
pair can be used for encryption and decryption, the second for signing and
verification, and the third for both encryption/decryption and
signing/verification. It is important to specify the intended usage when
Users can specify the purpose of each subkey pair. For instance, the first pair
can be used for encryption and decryption, the second for signing and
verification, and so forth. It's important to define the intended usage when
generating subkeys.
The master key is automatically generated when the key pair is created, and
users can add subkeys as needed.
The primary key is automatically generated when creating the key pair, and users
can add subkeys as needed. When generating the primary key or subkeys, users can
select algorithms such as RSA or DSA.
When generating the master key or subkeys, users can select algorithms such as
RSA or DSA. It is not necessary to understand the underlying principles of these
algorithms. However, it is important to note that subkeys generated by certain
algorithms may only perform specific processes, such as signing and
verification, and cannot perform others, such as encryption and decryption.
Additionally, for RSA, users can choose the key length when using the algorithm.
## The First Pair of Public and Private Keys in a Key Pair (Primary Key)
## The first pair of public and private keys in a key pair (primary key)
The initial public-private key pair (primary key) in a key pair is crucial as
all subsequent subkeys are tied to it. If the primary key is compromised, they
could generate subkeys based on that information and impersonate the key owner.
The initial public-private key pair (master key) in a key pair is crucial, as
all subsequent sub-keys are linked to it. If someone were to obtain the master
key (including both the public and private key information), they could generate
sub-keys based on that information and use them to impersonate the key owner and
communicate with others.
Therefore, it is essential that the private key of the master key is kept
confidential, while the public key can be shared with others. If the private key
of the master key is compromised, it renders the entire key pair vulnerable and
must be immediately discontinued.
Therefore, it's crucial to keep the primary key's private key confidential,
while the public key can be shared. If the private key of the primary key is
compromised, it makes the entire key pair vulnerable and its use should be
immediately discontinued.

View File

@ -1,36 +1,39 @@
# Contract
# Contact
We do not accept content related to business and politics on this platform, as
this tool is meant for the benefit of all humanity. However, if you have any
inquiries or suggestions regarding the technology and improvement of this
software, please do not hesitate to contact me.
Please refrain from sharing content related to business and politics on this
platform, as this tool is designed for the betterment of all humanity. However,
if you have any technical questions or suggestions for improving the software,
please feel free to contact me.
Please use plain text to reach out to me via email, as HTML is not preferred.
Preferably, use plain text when reaching out to me via email, as HTML is not
preferred.
## About ME
## About Me
Name: Saturneric, Eric or Erich.
Name: Saturneric, Eric, or Erich.
Email: [eric@bktus.com](mailto:eric@bktus.com) (Hosted in the Federal Republic of Germany)
Email: [eric@bktus.com](mailto:eric@bktus.com) (Hosted in the Federal Republic
of Germany)
Email Content Style: It is recommended to use plain text without HTML style rich text.
Email Content Style: It is recommended to use plain text without HTML style rich
text.
About Domain Name: BKTUS(Bakantu union us) is not a company, it is my personal domain name.
About Domain Name: BKTUS(Bakantu union us) is not a company; it is my personal
domain name.
## Languages
You can write to me in following languages.
You can correspond with me in the following languages:
1. English
2. Chinese
3. Deutsch
3. German (Deutsch)
## GPG Public Key Info
Here is the PGP public key that I have been using for a long time. You can use
this public key to establish secure and encrypted communication with me. Please
use plain text for any encrypted communication and avoid using rich text formats
such as HTML.
Here is my long-term PGP public key. You can use this public key to establish
secure and encrypted communication with me. Please use plain text for any
encrypted communication and avoid using rich text formats such as HTML.
```
-----BEGIN PGP PUBLIC KEY BLOCK-----

View File

@ -3,16 +3,16 @@
## What is GpgFrontend?
GpgFrontend is a cross-platform encryption tool that adheres to the OpenPGP
standard. Its goal is to simplify the use of OpenPGP, making it more accessible
for individuals to protect their privacy.
standard. Its objective is to make the use of OpenPGP simpler, thereby enabling
more individuals to secure their privacy.
## Relationship between OpenPGP(PGP) and GnuPG(GPG)
## What's the relationship between OpenPGP(PGP) and GnuPG(GPG)?
OpenPGP is a standard for data encryption and decryption, which is supported by
GpgFrontend. GnuPG is a cryptographic software that is used for encrypting,
signing, and managing keys for asymmetric cryptography, and it follows the
OpenPGP standard. GpgFrontend operates GnuPG at runtime to perform various
operations such as encryption and decryption.
GpgFrontend. GnuPG is a cryptographic software that's used for encryption,
signing, and key management for asymmetric cryptography, and it follows the
OpenPGP standard. GpgFrontend utilizes GnuPG during its operation to perform
various tasks such as encryption and decryption.
## How to obtain and use GpgFrontend?

View File

@ -46,8 +46,8 @@ aligns with the recommended configurations.
### Operating System
GpgFrontend is compatible with major operating systems including Linux, macOS,
and Windows. Specifically, it recommends Windows 10 and later, macOS 10.15 High
Sierra and later, and Ubuntu 18.04 LTS or other equivalent Linux distributions.
and Windows. Specifically, it recommends Windows 10 and later, macOS 11 and
later, and Ubuntu 20.04 LTS or other equivalent Linux distributions.
### Software Dependencies
@ -95,53 +95,53 @@ support some new features of OpenPGP based on it and continue to improve it.
## Purpose
The aim of GpgFrontend is to enable people worldwide, even those without command
line or programming experience, to safely transmit information to their desired
destination. Although free software is a common asset for all humankind, there
are still many individuals who are unable to benefit from it due to their
limited knowledge and usage habits. We need to break this cycle. GpgFrontend is
dedicated to enhancing the ease-of-use and intuitiveness of the free software
GnuPG, with the ultimate goal of making it accessible to a broader audience.
GpgFrontend is committed to empowering people globally, especially those without
command-line or programming expertise, to securely transmit information. While
free software represents a shared asset for all of humanity, many individuals
remain unable to leverage it due to limited knowledge or ingrained usage habits.
Our mission is to break this cycle.
The GpgFrontend project is as open source, and it also insists on using open
source codes and libraries.
We are dedicated to improving the user-friendliness and intuitive nature of the
free software GnuPG, with the primary objective of expanding its reach to a
wider audience.
As an open-source project, GpgFrontend not only advocates for transparency and
community participation, but also adheres to using open-source codes and
libraries.
### Free forever
GpgFrontend will be free forever, and you don't need to worry about being asked
to pay a fee to use the software one day.
GpgFrontend is committed to remaining free of charge indefinitely. You can rest
assured that you will never be asked to pay a fee to use the software.
## Source Code
The original code repository of Gpg Frontend is hosted on the server of Codes
Dream, and each submission will be submitted to the code repository first. You
can click
[Here](https://git.codesdream.com/?p=public/main/GpgFrontend.git;a=summary) to
visit the original code repository and track development progress.
The primary code repository for GpgFrontend resides on the BKTUS server.
Every update gets committed here first. You can visit the original [code
repository](https://repo.stdv.de/?p=public/main/GpgFrontend.git;a=summary) to
follow our development progress and stay updated on the latest changes.
注意:中国用户请访问[这里](https://git.codesdream.com/main/GpgFrontend.git)
### License
The source code for GpgFrontend is licensed under the GPL-3.0 license, which
ensures that GpgFrontend is open-source software. You have the right to exercise
the rights specified in the license, subject to compliance with the terms of the
license.
GpgFrontend's source code is licensed under the GPL-3.0 license, affirming its
status as open-source software. You are entitled to exercise the rights outlined
in the license, as long as you adhere to its terms and conditions.
### Contribution
### Contributing
Furthermore, the addition of new features does not compromise the existing core
functionality. As an individual, my capabilities are limited. Therefore,
GpgFrontend welcomes volunteers to contribute to the project. You can file
issues or submit pull requests through the GitHub platform. Additionally, you
can submit your questions and code contributions via email. Please feel free to
send problem reports and patches to me.
We believe that adding new features shouldn't compromise existing core
functionality. However, as an individual developer, my abilities are limited.
Therefore, GpgFrontend warmly welcomes contributors. You can report issues or
submit pull requests through GitHub. Additionally, questions and code
contributions can be submitted via email. Feel free to send me your bug reports
and patches.
## Privacy Guarantee
## Privacy Assurance
GpgFrontend operates without servers, and does not require servers to be
operational. While it utilizes the OpenPGP protocol for public key transfers, it
does not collect or upload any additional information.
GpgFrontend operates serverlessly, it doesn't require any server to function.
Although it utilizes the OpenPGP protocol for public key transfers, no
additional information is collected or uploaded.
For users with elevated security requirements, a version of GpgFrontend will be
available in the future which will not have internet access capability.
For users with heightened security needs, a version of GpgFrontend will be made
available in the future that lacks internet access capabilities.

View File

@ -1,22 +1,25 @@
# Quick Start
# Getting Started
GpgFrontend is cross-platform, which is one of its differences. For your operating system, you'll need to choose
different ways to lay out GpgFrontend.
One of the unique features of GpgFrontend is its cross-platform capability.
Depending on your operating system, the installation process might vary.
## Pre-conditions
## Prerequisites
**For Windows users or macOS users using Homebrew, you can just skip this section.**
**If you are a Windows or macOS user with Homebrew, you can skip this section.**
GpgFrontend runs dependent on basic functions provided by GnuPG, so you need to install GnuPG before you can run
GpgFrontend. Why does GpgFrontend require users to install GnuPG separately? Starting with GnuPG 2.0, GPG relies on
separate modules to do all of its functions. This requires that when using GPG, these modules all need to be in the
correct location on your operating system so that the GPG can find them.
GpgFrontend relies on the basic functions provided by GnuPG. Hence, it is
necessary to install GnuPG before running GpgFrontend. Starting from GnuPG 2.0,
GPG operates based on separate modules for all its functionalities. For GPG to
operate smoothly, these modules must be correctly situated within your operating
system.
GnuPG is not be able to run in App Sandbox, so this situation has caused GpgFrontend to be temporarily unavailable
in the Apple Store. I have tried for many times to bundle GnuPG into App Sandbox, but eventually failed.
Unfortunately, GnuPG cannot operate within an App Sandbox, which is why
GpgFrontend is currently not available on the Apple Store. I have attempted
multiple times to integrate GnuPG into the App Sandbox but to no avail.
In general, the latest Linux distributions offer a GnuPG 2.0 environment. You can check by typing `gpg --version` in the
command line tool. **In general, it is recommended to install versions of GnuPG 2.1 and above.**
By default, most latest Linux distributions come with a GnuPG 2.0 environment.
You can verify this by entering `gpg --version` in the command line tool. **As a
general recommendation, you should install versions of GnuPG 2.2 or higher.**
## Install & Run Steps