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 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.
Deploy to Heroku
Deploy Internally
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
Troubleshooting
Command not found: bundle
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. :)
SQLite3
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
Other Information
Tip
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.
Note for Existing Users
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.
Credits
Thanks to:
See Also
quasarj created a django application based off of PasswordPusher
phanaster created a Coupon Pushing application (cpsh.me) based off of PasswordPusher
bemosior put together a PHP port of PasswordPusher: PHPasswordPusher