Git Product home page Git Product logo

egpg's Introduction

There are scads of options presented by GnuPG, which are all part of making it the flexible and powerful an encryption framework that it is. But it's extremely complicated to get started with, and that quite reasonably puts people off.

egpg is a wrapper script that tries to simplify the process of using GnuPG. In order to simplify things, it is opinionated about the "right" way to use GnuPG.

The philosophic goals here are these:

  1. Make GPG as easy to use as possible. The more people using strong encryption, the better for everyone. One of the big hang ups right now is that the GPG tools are difficult to use - moreso than they strictly have to be.

  2. Make the interface itself auditable. This is why this is presented as shell scripts rather than a web service or a GUI. If you're concerned about what egpg does, open up the files and read them, or have someone you trust read them.

  3. Build a guide forward. The simplified interface provided here should be good to get started with, and with luck many users will find they never need anything beyond what egpg provides. If you find that you need to do something more, though, the goal is that you have a foundation to start with, and some direction on how to proceed.

For more details see the following presentation from FOSDEM 2018:

Installation

git clone --branch gnupg-2.1 https://github.com/dashohoxha/egpg
cd egpg/
sudo make install

Requirements

  • Debian and Ubuntu:

     apt install gnupg2 pinentry-tty haveged libgfshare-bin parcimonie \
            qrencode imagemagick zbar-tools wget realpath psmisc
    

    For development, you need also ronn to make the man pages:

     apt install ruby-dev gcc
     gem install ronn
    

Usage:

egpg presents a series of subcommands:

egpg init

egpg key gen [<email> <name>]
egpg key ls

egpg contact search <name>
egpg contact ls

egpg sign <file>
egpg verify <file.signature>

egpg seal <file> [<recipient>+]
egpg open <file.sealed>

egpg help
egpg key help
egpg contact help
egpg ext help

These should be the minimal set required to use GPG effectively.

Any suggestions or discussions about supported operations, simplified terminology, etc. is wellcome.

For more details see the wiki pages and the manual page:

egpg's People

Contributors

dashohoxha avatar nyarly avatar khagler avatar nikhil0269 avatar idupree avatar pablocastellano avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.