Git Product home page Git Product logo

mixtasy's Introduction

Mixtasy

Mixtasy - an openPGP based remailer

This is a prototype which implements a subset of the Mixtasy remailer specification written in python. An existing Postfix SMTP server can easily be turned into a Mixtasy mix. The python script can be injected to the Postfix flow as a simple after-queue content filter (see http://www.postfix.org/FILTER_README.html). When setup as explained below the script will process Mixtasy messages and inject the output to Postfix and re-inject all other messages untouched.

Requirements

Usage

For help on how to invoke the python program execute mixtasy.py -h

Create a Mixtasy Message

To create a Mixtasy message just execute mixtasy.py create. The message (including header and body) will be read from stdin as long you specify an input file with the -i option. The input must contain a To: header field which holds the final recipient of the message. The created Mixtasy message ready to send to the first mix (specified in the To: header field of the outputted mix message) is printed to stdout unless you specify an output file with -o.

Process/Unpack a Mixtasy Message

To unpack one layer of a Mixtasy message execute mixtasy.py unpack Like for the message creation command the -i/-o options can be used to specify files for input/output instead of using stdin and stdout.

Setup a Mix

  1. Setup a Postfix SMTP server

  2. Create an user named 'mixtasy'

  3. Create an openPGP key with the 'mixtasy' user for your mix node and publish it on a public openPGP keyserver.

    Note: The openPGP key must follow the Mixtasy protol specification.

  4. Copy the mixtasy.py to a location the 'mixtasy' user has permissions to execute them.

    Note: Permissions granted via groups seems not to be considered.

  5. To define the Postfix Mixtasy filter service add the following block to your Postfix's master.cf

    /etc/postfix/master.cf:

    mixtasy    unix  -       n       n       -       10      pipe
      flags=Rq user=mixtasy null_sender=
      argv=/path/to/mixtasy.py -o /dev/null -v3 -l /var/log/mixtasy.log unpack -s ${sender} ${recipient}
    
  6. To enable the Mixtasy filter add the -o content_filter=mixtasy:dummy option to the Postfix SMTP service.

    /etc/postfix/master.cf:

    smtp      inet  n       -       -       -       -       smtpd
      -o content_filter=mixtasy:dummy
    

mixtasy's People

Contributors

jojoob avatar

Watchers

 avatar  avatar  avatar  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.