Email-based comments
| src | ||
| .gitattributes | ||
| .gitignore | ||
| bun.lockb | ||
| index.ts | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| sample.eml | ||
| tsconfig.json | ||
chorus: Email-based comments
This is a system for adding comments to arbitrary sites like a blog. Rather than requiring users to have an account with your blog or a 3rd-party comments platform, it uses email.
Features
- Works with any mail server that supports arbitrary mailbox aliases (e.g.
user+alias@example.com) - Writes out comments as static JSON files so they can be served by your webserver of choice
- Handles arbitrarily deep replies to comments
- Threads generate UUIDs and don't need to pre-register with Chorus
- WIP DKIM verification for incoming mail
- Optionally, only include comments that have been moderated/approved by the admin
Principles
- Email, as a federated and decentralized communication protocol, is good.
- Independent blogs and websites that do not rely on a large 3rd-party platform are good.
- Users should not have to create an account with every individual website to participate in a discussion thread.
- Individual threads should not have to pre-register with the comment server.
How It Works
Configuration
Configuration is handled via environment variables:
CHORUS_IMAP_HOSTCHORUS_IMAP_PORT993CHORUS_IMAP_USERCHORUS_IMAP_PASSCHORUS_THREAD_TEMPLATECHORUS_DATA_DIRchorus-dataCHORUS_MAILBOX