The Perl password safe Challenge

Keeping my growing number of passwords in my aging memory is a challenge. Keeping them on my computer in clear text is crazy. I'd like to add a password safe to the Big Giant Perl Distribution.

As I was browsing the latest uploads to CPAN I noticed a package called App::Raps2 which is a command line utility to keep your passwords in a safe way. It works on Linux but does not work on Windows out of the box.

That would be acceptable as I run Ubuntu at home but when I am on the road I have a Windows netbook and when I am at a client I might only have web access to my computers.

So I'd like to have both wxPerl based GUI for this and a web interface that I can use via https.

I love programming (even if I am not expert) but I am not selfish. So like to share the joy of building this with you.

So here is

The challenge

Build a GUI using wxWidgets and/or a web interface to provide a password safe. It has to work on both Linux and Windows. Extra bonus for Mac as well though I won't be able to verify myself. Make it available on CPAN to be installed using cpan Module::Name.

The best solution will be included in the next release of the Big Giant Perl Distribution that btw still does not have a final name.

You have one week and one day. That is, the end of next weekend. I'll be flexible with the time-zone.

For extra bonus check if the given passwords are unique. While I can trust Google, Facebook and Twitter I think I'd like to make sure I don't use the same password elsewhere.

OTOH I am registered to about 50 mailing lists on mail.pm.org and I'd prefer to use the same password on all of them.

You will have to supply an icon for the Windows menu.

If you really want to bribe me, provide a way - from the UI - to change the password on the remote web sites.

The tools

For the desktop interface you have to use wxPerl as that's what is already available in the nameless package. You could (but it is not a requirement) use the wxFromBuilder that Adam Kennedy was working on recently. I think the Cookbooks can be a handy introduction to them.

For web application you can use any web framework. Dancer and CGI::Application are already packaged. Mojolicious should not be difficult to package either. If someone is using another framework I'll consider adding that too to the package. After all the package should contain everything that is good in Perl.

I expect the web versions to be easier to implement than the wxWidgets version but the deployment might be a bit difficult. You see I'd like to be able to run it both as a real web application on my server and as a desktop applications. So I'd launch a small perl-based web server on my desktop and then access my application via a browser. The web server can be the simple built-in development server of each web framework.

It would be extra nice if you could allow a launching the application from the Start-menu of windows but that might not be easy.

Who can participate?

There is no limitation. You can do it alone or in groups.

Enjoy!