Commit Graph

14 Commits

Author SHA1 Message Date
mguschin
3fc1ac3d12 Add TURN/STUN server for audio/video calls.
Jingle A/V (XEP-0166/0167/0176) needs a STUN/TURN server for NAT
traversal. Add coturn and advertise it to clients via XEP-0215.

- coturn container, host networking (a relay needs its full UDP port
  range reachable, and Docker NAT hides the peer addresses coturn needs).
- mod_turn_external in Prosody to advertise the service and mint
  time-limited credentials from a shared secret.
- Advertise UDP and TCP transports plus turns: on 5349, so clients on
  UDP-blocking networks can still connect.
- Deny relaying to private ranges, so this is not an open proxy into
  internal services.

TURN host is guschin.info rather than turn.guschin.info because only the
former is in the certificate SANs and turns: clients validate the name.

TURN_HOST/TURN_SECRET go in .env, which is gitignored and set per
deployment; TURN_SECRET must match static-auth-secret in turnserver.conf.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 22:17:44 +03:00
mguschin
4236bd38e4 Use multi-SAN guschin.info cert for all hosts and components.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 13:07:40 +03:00
mguschin
857ddc48b9 Allow guschin.info users to upload files.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 12:59:04 +03:00
mguschin
9673cd78a3 Fix prosody config. 2026-04-29 21:56:24 +03:00
mguschin
93f32ec3be Fix sligram config. 2026-04-29 21:53:14 +03:00
mguschin
eddb4b3531 Fix prosody conf. 2026-04-29 21:45:21 +03:00
mguschin
bb7596ffdd Fix prosody config. 2026-04-29 21:42:55 +03:00
mguschin
6feff1c7e6 Tg bridge. 2026-04-29 20:09:17 +03:00
mguschin
173f3a9705 Add guschin.info VirtualHost alongside xmpp.guschin.info
Users can now register as name@guschin.info or name@xmpp.guschin.info.
Added Let's Encrypt cert mounting and install for guschin.info domain.
Refactored entrypoint cert install into reusable function.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 07:56:48 +03:00
mguschin
eb8a2e3145 Enable mod_mam for persistent direct message archiving
Messages are stored indefinitely in MySQL.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 20:40:03 +03:00
mguschin
c28f5e00bd Enable s2s_require_encryption to match s2s_secure_auth
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 19:47:55 +03:00
mguschin
6015367332 Fix TLS cert domain mismatch: VirtualHost now matches cert domain
VirtualHost changed from "guschin.info" to "xmpp.guschin.info" to match
the Let's Encrypt certificate. Moved certificates directive before
VirtualHost block. Removed misplaced default_realm and global ssl block.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 19:31:03 +03:00
mguschin
bdcb7e1709 Fixed tls config.. 2026-02-04 13:52:52 +03:00
mguschin
6b54303482 Init. 2026-02-02 20:12:50 +03:00