all repos — purr @ main

a web application for generating and sharing secrets

Fix overflow on mobile for long password suggestions. Remove overly long dictionary words.
James Eversole
Tue, 17 Jan 2023 10:57:24 -0600
Longer pure random password offering. Remove some wordlist options.
James Eversole
Mon, 16 Jan 2023 19:21:04 -0600
Use EFF wordlist. Embed wordlist into executable. Move views/public to assets/public. Move wordlist into assets.
James Eversole
Wed, 11 Jan 2023 15:23:01 -0600
Start formatting with stylish-haskell. Start refactoring for clearer types.
James Eversole
Tue, 10 Jan 2023 21:53:10 -0600
Add UPX executable compression to Docker build in order to reduce binary and docker image sizes significantly
James Eversole
Thu, 29 Dec 2022 17:57:34 -0600
Add copy link button. Enhance buttons by reverting their text when a new copy event occurs.
James Eversole
Tue, 27 Dec 2022 14:11:41 -0600
Add missing stack setup for initializing repo
James Eversole
Tue, 27 Dec 2022 12:37:10 -0600
Bugfix on UI elements when no secret is found. Add copy secret button on successful retrieval. Include deployment information and updated example files.
James Eversole
Tue, 27 Dec 2022 12:25:14 -0600
Remove valid for text notice, remove arrows on number input styling
James Eversole
Mon, 26 Dec 2022 22:42:09 -0600
Completely overhaul frontend styling for clearer usage. Add support for entering either the full link or just link key for viewing secrets without opening links anew.
James Eversole
Mon, 26 Dec 2022 21:49:21 -0600
l o w e r c a s e
James Eversole
Wed, 21 Dec 2022 12:06:46 -0600
Update LICENSE and README for plaintext
James Eversole
Wed, 21 Dec 2022 11:46:05 -0600
Remove DeltaChat group
James Eversole
Thu, 20 Oct 2022 20:06:20 -0500
Refactor excessive do notation. Complete oldschool and gibberish generators. Add frontend functionality for selecting from multiple generator styles. Add config requirement for admin email. Add admin email to header.
James Eversole
Sun, 07 Aug 2022 16:22:09 -0500
Add footer with link to git repo. Update docker-stack example to include shared Sqlite volume
James Eversole
Sat, 06 Aug 2022 21:00:44 -0500
Add favicon. Significantly modify layout and presentation of site by including flexbox for main content. Remove logo from index. Code whitespace updates on Sharing-SQLite
James Eversole
Fri, 05 Aug 2022 19:43:39 -0500
Track the number of views for secrets, delete secrets on next lookup attempt when the lifespan or max viewcount is exceeded.
James Eversole
Fri, 05 Aug 2022 15:42:37 -0500
Read encrypted secret entries from the database and decode/unencrypt appropriately, add max duration/view count entries for the database and frontend interface, update README to remove graceful JS degradation goal, remove a few wordlist entries
James Eversole
Sun, 31 Jul 2022 17:41:54 -0500
Secrets are now stored as AES encrypted -> Base64 encoded strings, retrieval is still plaintext and will need to be updated to reflect the required unencoding and decryption process
James Eversole
Fri, 29 Jul 2022 20:31:58 -0500
Random generation of xkcd-style passwords now functioning as expected, web interface now serves randomly generated xkcd-style passwords and provides a button to create a sharing link for them when a new generation is requested. Misc stylesheet updates. Generalized the hx-vals helper function in Core.Templates to be useful for arbitrary endpoints that will need to include specific JSON. Added configuration field for dbSalt which will be used as an encryption salt in the next commit when passwods are stored encrypted in the DB instead of in plaintext.
James Eversole
Fri, 29 Jul 2022 17:40:45 -0500
Started building generation functionality, added useful haddock-style comments for several functions
James Eversole
Fri, 22 Jul 2022 12:27:35 -0500
Added loading indicators via htmx-indicator, removed unattributable ASCII art and replaced with the project logo from the README, minor touches on stylesheet and added clickable links in the display.
James Eversole
Tue, 19 Jul 2022 15:57:30 -0500
Updated example config file and docker-stack YAML to reflect SQLite requirements
James Eversole
Mon, 18 Jul 2022 16:07:04 -0500
Squashed commit of the following:

commit 9aaa5307e7671bc8bcc444733a6e38999f346772
Author: James Eversole <>
Date:   Mon Jul 18 16:03:43 2022 -0500

    Completed migration to SQLite, full feature parity with original Mongo/Couch implementations. Added ability to submit new passwords with full frontend functionality. Generation of random links now functions as expected and Unix Epoch Timestamps are now included in DB entries.
James Eversole
Mon, 18 Jul 2022 16:04:10 -0500
Squashed commit of the following:

commit 86ee3c4d262916bec531ad5616273b391cdffeb3
Author: James Eversole <>
Date:   Tue Jul 5 20:09:22 2022 -0500

    Refactored findByLink for modularity, started prototyping document creation

commit 65b68df295069edb57adcdc16a3300c9d762dc2f
Author: James Eversole <>
Date:   Tue Jul 5 18:45:25 2022 -0500

    Feature parity with MongoDB implementation in main; need to refactor Feature.Sharing.Couch.findByLink into multiple functions so that more information regarding retrieved documents can be used compositionally to DRY before merging into main

commit e10cc4de8acd45488679f0587732f02fee950c77
Author: James Eversole <>
Date:   Mon Jul 4 20:53:55 2022 -0500

    Better configuration file keys

commit d683a51cac4ad891856f7782aa6221402988fea4
Author: James Eversole <>
Date:   Mon Jul 4 20:38:40 2022 -0500

    Added beginnings of CouchDB logic while removing all Mongo references and dependencies. Updated configuration file and related data types. Added a MonadHttp instance for PurrAction to enable requests in their monadic context. Will merge into main once feature parity on the Sharing Feature is reached
James Eversole
Tue, 05 Jul 2022 20:11:41 -0500
Updated README with project goals, started prototyping frontend and added route for primary css dist, added reasonable functionality for requesting a password directly via link as well as patching index DOM when requesting HTML stub from /pw
James Eversole
Sun, 03 Jul 2022 21:48:40 -0500
Updated hardcoded paths in view templates to be accurate for /pw endpoint
James Eversole
Sat, 02 Jul 2022 19:00:31 -0500
Beginnings of HTMX frontend interaction, able to request particular PWs by link names and patch the DOM appropriately
James Eversole
Sat, 02 Jul 2022 18:37:30 -0500
Added Shakespeare templating and setup basic Maybe-bound lookup for conditional rendering of the page or an appropriate notice that the password doesn't exist.
James Eversole
Sat, 02 Jul 2022 13:23:53 -0500
Organize application logic by core/feature breakouts, add dhall configuration support and add a range of new config options in the Reader, add example configuration/deployment files
James Eversole
Fri, 01 Jul 2022 20:34:29 -0500
Initialize stack environment and repository
James Eversole
Tue, 28 Jun 2022 20:30:09 -0500