Show HN: Marchat – 6 MB terminal chat with encryption and plugin support
Key features: - Real-time WebSocket messaging with optional E2E encryption (X25519/ChaCha20-Poly1305) - File sharing (up to 1MB) with commands like :sendfile/:savefile - Plugin ecosystem: TUI store for browsing/installing (WIP), SDK for custom plugins (e.g., echo — more to come), subprocess isolation for security, and Ed25519 licensing - Themes (e.g., patriot, retro, and modern), partial emoji auto-conversion - Admin tools (:kick, :ban, :cleardb) and message retention (1000 cap, SQLite backend) - Simple JSON protocol for bots or alternative clients - Offline-first design, with history loading on connect
Tested in real setups: Docker server in one city, clients via nginx proxy from others—no drops, seamless mobile-to-desktop transfers. Even hosted the server on Android Termux with PC clients connecting flawlessly.
For easy deployment, marchat is also available on Docker Hub: https://hub.docker.com/r/codecodesxyz/marchat
Roadmap includes DB abstraction (PostgreSQL/MySQL support), perf tweaks (WAL mode, indexing, caching), and plugin enhancements (auto-updates, metrics). Featured on selfh.st and mtkblogs—grateful for the early spotlight!
Would love HN feedback on the architecture, plugin system, or use cases (e.g., dev teams, edge/IoT chats). Open to contribs of all kinds including doc clarification/refactor.
GitHub: https://github.com/Cod-e-Codes/marchat
Docker Hub: https://hub.docker.com/r/codecodesxyz/marchat
No comments yet