PasswordPusher is an opensource Ruby on Rails application to communicate passwords over the web. Links to passwords expire after a certain number of views and/or time has passed.
Hosted at pwpush.com but you can also easily run your own instance internally on Docker, Kubernetes, OpenShift or on Heroku with just a few steps.
I previously posted this project on Reddit which provided some great feedback - most of which has been implemented.
The PasswordPusher Alfred Workflow for Mac users.
PasswordPusher can be deployed to Kubernetes, OpenShift or any Docker host.
See the containerization directory for details. Docker images hosted in docker.io/r/pglombardo.
Make sure you have git and Ruby installed and then:
git clone git@github.com:pglombardo/PasswordPusher.git
cd PasswordPusher
gem install bundler
bundle install --without development production test --deployment
bundle exec rake assets:precompile
RAILS_ENV=private bundle exec rake db:setup
foreman start internalweb
Then view the site @ http://localhost:5000/.
Note: You can change the listening port by modifying the Procfile
If you get something like Command not found: bundle
, then you need to run
gem install bundler
If you get something like 'Command not found: gem', then you need to install Ruby. :)
If the 'bundle install' fails with 'checking for sqlite3.h... no', you have to install the sqlite3 packages for your operating system. For Ubuntu, the command is:
sudo apt-get install sqlite3 ruby-sqlite3 libsqlite3-ruby libsqlite3-dev
- How to use the Password API
- How to Change the Front Page Default Values
- How to Switch to Production Environment
- How to Switch to Another Backend Database
With the internal deploy process described above, SQLite3 is provided by default for a quick and easy setup of the application.
If you plan to use PasswordPusher internally at your organization and expect to have multiple users concurrently creating passwords, it's advised to move away from SQLite3 as it doesn't support write concurrency and errors will occur.
For example, on https://pwpush.com, I run the application with a Postgres database.
Initiated from this discussion on reddit.
See How to Switch to Another Backend Database for details.
If you're already hosting your own private instance of PasswordPusher, make sure to do a periodic git pull
from time to time to always get the latest updates.
You can always checkout out the latest commits to see what's been updated recently.
Thanks to:
-
@sfarosu for contributing the Docker, Kubernetes & OpenShift container support.
-
@iandunn for better password form security.
-
Kasper 'kapöw' Grubbe for the JSON POST fix.
-
JarvisAndPi for the favicon design
Kamil Procyszyn put together a nice PowerShell script for Password Pusher.
lnfnunes created a NodeJS CLI wrapper for Password Pusher to be easily used in the terminal.
quasarj created a django application based off of PasswordPusher
phanaster created a Coupon Pushing application based off of PasswordPusher
bemosior put together a PHP port of PasswordPusher: PHPasswordPusher