An ephemeral, e2e encrypted, and RAM-only zero knowledge server chat room.
  • TypeScript 35.5%
  • Svelte 32.9%
  • Rust 25%
  • CSS 3.8%
  • Shell 1.9%
  • Other 0.9%
Find a file
2026-01-31 19:30:54 -08:00
assistant/requests docs: add need_chat_page.txt documenting required chat UI wiring 2025-10-14 03:38:18 -07:00
backend undo late marker 2026-01-25 22:50:52 -08:00
docs document api 2026-01-28 22:59:04 -08:00
frontend expand dictionary 2026-01-31 19:30:54 -08:00
infra clean up 2025-10-10 15:31:43 -07:00
mk image viewer 2026-01-07 11:19:42 -08:00
nginx redesign front page layout 2025-12-04 05:16:37 -08:00
.browserstack.yml browserstack 2025-09-19 15:37:34 -07:00
.flake8 error handling 2025-07-27 14:25:52 -07:00
.gitignore ignore 2025-11-30 14:39:36 -08:00
AGENTS.md updates 2025-11-03 11:04:17 -08:00
CONVENTIONS.md conventions 2025-10-31 00:46:39 -07:00
CRUSH.md fix buttons 2025-10-31 15:08:20 -07:00
Dockerfile build: upgrade Rust toolchain and builder image to 1.83.0 2025-10-28 17:09:53 -07:00
FEATURES.md notes 2025-10-20 22:32:40 -07:00
ISSUES.md issues 2025-10-01 12:19:12 -07:00
PROMPTS.md feat: improve offline caching with HOME_PATHS and deduped targets 2025-10-16 12:26:11 -07:00
README.md rust 2025-09-14 10:06:38 -07:00
SECURITY.md security audit todo 2025-10-20 15:51:27 -07:00
todo-chat.md color overhaul 2026-01-03 15:47:29 -08:00
todo.md todos 2025-11-04 15:19:26 -08:00

Ephemeral chat

This app will host a simple ephemeral chat interface. Nothing is stored on the server, the whole app runs in RAM. Chats are not saved.

Rust server (Dockerized)

  • Build and run locally (foreground):
    • ./run 8000 1
  • Build and run mapped to a host port (daemon, then tail logs):
    • ./run 8000 0

The Docker build uses a Rust toolchain >= 1.82 to satisfy dependencies (ICU/IDNA). A rust-toolchain.toml is included to pin local builds to 1.82 as well.

Manual local build (optional)

If you have Rust installed via rustup:

  • cargo build --release
  • Run: ./target/release/ephemeral-chat

Environment variables honored (defaults in parentheses):

  • EPHEMERAL_CHAT_DOMAIN ("localhost")
  • EPHEMERAL_API ("http://localhost:8000")
  • EPHEMERAL_CHAT_HOST_IP ("127.0.0.1")
  • JITSI_URL ("meet.jit.si")
  • MAX_SINGLE_UPLOAD_MB (50)
  • MAX_ATTACHMENT_BYTES_TOTAL_MB (512)
  • MAX_ATTACHMENTS_PER_ROOM (256)
  • ATTACH_RELAY_TTL_SECONDS (90)
  • DEFAULT_MSG_TTL_MINUTES (60)
  • DEFAULT_MAX_PEERS_CONNECTED (2)
  • RUST_LOG ("info,tower_http=info,axum=info")