Commit graph

3 commits

Author SHA1 Message Date
58f817af98 Add SSH and TCP keepalive to prevent silent disconnects
- SSH keepalive every 30s with max 3 retries (configurable via env vars)
- TCP keepalive on client sockets to detect dead connections
- Increase pre-auth timeout from 30s to 300s to match TS6 query timeout
- Add keepalive settings to Config dataclass
2026-03-16 22:19:52 +01:00
c9151df7e0 Refactor: Config dataclass, more unit tests, ruff/mypy setup
- Replace module-level env var globals with frozen Config dataclass
- Add pyproject.toml with project metadata, ruff, mypy, pytest config
- Expand unit tests from 11 to 30 (sanitize edge cases, SSH failure
  modes, proxy forwarding, cleanup, auth loop edge cases)
- Fix all ruff and mypy findings
- Integration tests no longer need importlib.reload hack
- Dockerfile installs from pyproject.toml for consistency

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 18:56:35 +01:00
50ba7135a7 Initial commit: TS3 raw query to TS6 SSH query translation proxy
Bridges the legacy TeamSpeak 3 ServerQuery raw protocol (TCP 10011) to
TeamSpeak 6's SSH Query interface (TCP 10022). Includes unit tests,
Docker setup, and integration test scaffold.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 17:33:03 +01:00