Git Product home page Git Product logo

passwordsender's Introduction

PasswordSender

PasswordSender is a simple FastCGI web app to put behind Apache or Nginx (although Nginx support needs minor tweaks, see below), which allows you to send passwords (or other secrets) and files securely. The secret text is stored only in RAM on the server, and any files are stored encrypted on disk. The AES encryption key is also only stored in RAM. That means that restarting the service loses any unopened secrets, but that's the price you pay.

The secrets expire after a few days, or after an hour after opening it.

It's provided as is, and was conceived of mostly for the fun of making a C++ web app.

Building

PasswordSender was developed using Qt 5.9.5 Vmime 0.9.2 and openssl 1.1. The Qt version was merely chosen because the development server was Ubuntu 18.04. There are no foreseeable breaking changes with newer releases.

Once Qt is installed (in this example your home dir, using the online installer), building should consist of almost nothing more than:

export CMAKE_PREFIX_PATH=/home/you/Qt/5.9.5/gcc_64
cd <projectdir>
mkdir build
cd build
cmake ..
make

Or you can use the QtCreator kits.

Apache

Example Apache config:

<VirtualHost *:443>
        RewriteEngine on
        ServerName passwords.foobar.com

        SSLEngine on
        SSLCertificateFile    /bla/cert.pem
        SSLCertificateKeyFile /bla/privkey.pem
        SSLCertificateChainFile /bla/chain.pem

        ProxyPass "/passwordsender/" "fcgi://localhost:8000/"

        DocumentRoot /var/www/html/password_sender

        ErrorLog ${APACHE_LOG_DIR}/passwords.foobar.com/error.log
        CustomLog ${APACHE_LOG_DIR}/passwords.foobar.com/access.log combined
</VirtualHost>

Nginx

Nginx sends different FastCGI parameters, to the code will likely not work as is. I didn't have an Nginx server on hand, so I left a TODO in the code that it properly detects both.

passwordsender's People

Contributors

halfgaar avatar

Stargazers

Alex Imbrea avatar

Watchers

 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.