Make kom-relay fit for public use #67

Closed
opened 2026-10-17 17:54:19 +00:00 by littlefox · 2 comments
Owner

An installable web app (#51) needs HTTPS: browsers only allow service workers on HTTPS (or localhost). That means hosting the web app and kom-relay somewhere real, even if only for testing on a phone.

What:

  • Limits: connections per IP address, total connections, bytes per second, and an idle timeout.
  • Keep the fixed target (no open proxy) and check the WebSocket Origin header against a configured list.
  • Logs without content: connection counts and errors, never what's sent.
  • Docs for running it behind a TLS-terminating proxy (wss://) with an example config.

Done when:

  • Tests show each limit kicks in.
  • DESIGN.md describes the relay's threat model.

Helps: #51. Hosting itself is roadmap question 1 (needs the user).

From docs/ROADMAP.md, "Under the hood"; filed for 0.2.

An installable web app (#51) needs HTTPS: browsers only allow service workers on HTTPS (or localhost). That means hosting the web app and kom-relay somewhere real, even if only for testing on a phone. What: - Limits: connections per IP address, total connections, bytes per second, and an idle timeout. - Keep the fixed target (no open proxy) and check the WebSocket Origin header against a configured list. - Logs without content: connection counts and errors, never what's sent. - Docs for running it behind a TLS-terminating proxy (wss://) with an example config. Done when: - Tests show each limit kicks in. - DESIGN.md describes the relay's threat model. Helps: #51. Hosting itself is roadmap question 1 (needs the user). From docs/ROADMAP.md, "Under the hood"; filed for 0.2.
Author
Owner

Needed before #71's test server goes up.

Needed before #71's test server goes up.
Author
Owner

Merged in #85 (CI run #141 green). Limits per address/total, upload pacing, idle timeout, allowed origins, X-Forwarded-For behind a trusted proxy (NEOKOM_RELAY_*). 5 in-process integration tests. docs/RELAY.md: threat model, Caddy/nginx.

Merged in #85 (CI run #141 green). Limits per address/total, upload pacing, idle timeout, allowed origins, X-Forwarded-For behind a trusted proxy (NEOKOM_RELAY_*). 5 in-process integration tests. docs/RELAY.md: threat model, Caddy/nginx.
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
littlefox/neokom#67
No description provided.