* Use dnsmasq to create virtual hosts and mock DNS management for custom domains
- dnsmasq docker image
- dnsmasq network bridge
- point *.sndev to 127.0.0.1
- set-dnsmasq script
- -- add/remove/list dns records in dnsmasq.conf
- add 'domains' to sndev
- 'sndev domains dns' referencing set-dnsmasq script
* restart dnsmasq if add/remove succeeded
* add domain to /etc/hosts; cleanup
* tell if the command needs sudo permission
* add directions for dnsmasq DNS server usage
* add --no-hosts flag to skip asking to edit /etc/hosts
* add domains command to README.md
* add dnsmasq instructions to README.md
* correct exit on usage function; final cleanup and comments
* portable bash; use default network for dnsmasq; set a version for dnsmasq image
* POSIX compliance, add env var to .env.development, adjust README
* ignore dnsmasq.conf edits, use template instead
* use extra configs for dnsmasq, more POSIX compliance
* fix --no-hosts flag recognition, light cleanup
* shift 4 only if the command has enough args; more error messages; adjust TXT type only on list
* different sed syntax for macOS
* first pass of hashing user emails
* use salt
* add a salt to .env.development (prod salt needs to be kept a secret)
* move `hashEmail` util to a new util module
* trigger a one-time job to migrate existing emails via the worker
so we can use the salt from an env var
* move newsletter signup
move newsletter signup to prisma adapter create user with email code path
so we can still auto-enroll email accounts without having to persist the email address
in plaintext
* remove `email` from api key session lookup query
* drop user email index before dropping column
* restore email column, just null values instead
* fix function name
* fix salt and hash raw sql statement
* update auth methods email type in typedefs from str to bool
* remove todo comment
* lowercase email before hashing during migration
* check for emailHash and email to accommodate migration window
update our lookups to check for a matching emailHash, and then a matching
email, in that order, to accommodate the case that a user tries to login
via email while the migration is running, and their account has not yet been migrated
also update sndev to have a command `./sndev email` to launch the mailhog inbox in your browser
also update `./sndev login` to hash the generated email address and insert it into the db record
* update sndev help
* update awards.csv
* update the hack in next-auth to re-use the email supplied on input to `getUserByEmail`
* consolidate console.error logs
* create generic open command
---------
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
check to ensure that a nym is provided to the login command before
proceeding. if omitted, echo an error message, display the help
for the login command, then exit with a non-zero exit code