Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

GPG middleware for EH Forwarder Bot, encrypts and decrypts messages.

Project description

PyPI release Downloads per month Translate this project Banner

Module ID: blueset.gpg

A middleware for EH Forwarder Bot that encrypts and decrypts messages using GnuPG.

This middleware simply encrypts outgoing messages with recipients’ registered public key, and decrypt incoming messages with your own secret key.

All encrypted messages should be and will be ASCII armored. All messages that was not successfully encrypted/decrypted will be delivered untouched.

This middleware only encrypt/decrypt text messages. Other types of messages are kept untouched.


  • EH Forwarder Bot >=2.0
  • GnuPG
  • An imported key pair that is used to decrypt incoming messages

Getting Started

  1. Make sure you have access to a public key server of your choice using the gpg installed.

  2. Have at least one key pair registered in local GPG.

  3. Install this middleware:

    pip3 install efb-gpg-middleware
  4. Create a config file in your current EFB profile: <PATH_TO_EFB_PROFILE>/blueset.gpg/config.yaml:

    # Signature of your own key pair (required)
    key: BD6B65EC00638DC9083781D5D4B65BB1A106200A
    # Passphrase to the key pair (optional)
    password: test
    # Trust all key in the local stoage
    # (optional, default: true)
    always_trust: true
    # Path to the GPG binary
    # (optional, default: search from $PATH)
    binary: /usr/bin/gpg
    # Preferred public key server
    # (optional, default:

How to use

Send commands as text messages in chats to interact with the middleware. All command messages will not be delivered to slave channel.

  • gpg`info: Show the key fingerprint used for this chat.
  • gpg`search query: Search for a key from the key server.
  • gpg`bind fingerprinthex: Use key for specified fingerprint for a chat.
  • gpg`clear: Do not encrypt messages sent to this chat.

When you have told the middleware to use a key for a chat, it will encrypt all your text messages sent to this chat with the key specified.

The middleware will try to decrypt all incoming text messages with GnuPG regardless of settings, and only update the message if the decryption is successful.


If you find this module not as useful, don’t be disappointed. This is just a demo to show you what you can do with EFB Middlewares.

Experimental localization support

GPG Middleware supports localized user interface prompts experimentally, by setting the locale environmental variable (LANGUAGE, LC_ALL, LC_MESSAGES or LANG) to one of our supported languages. Meanwhile, you can help to translate this project into your languages on our Crowdin page.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for efb-gpg-middleware, version 1.1.0
Filename, size File type Python version Upload date Hashes
Filename, size efb_gpg_middleware-1.1.0-py3-none-any.whl (36.7 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size efb-gpg-middleware-1.1.0.tar.gz (11.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page