Commit graph

10 commits

Author SHA1 Message Date
496eebfee4 Add Dependabot config for pip and Docker dependency updates
All checks were successful
Build ts3query-proxy / build (push) Successful in 30s
Track Python (pip) and Docker base image updates weekly.
2026-03-23 10:26:46 +01:00
baa4d685f4 Fix Dockerfile: use direct pip install for asyncssh
All checks were successful
Build ts3query-proxy / build (push) Successful in 19s
2026-03-16 22:24:55 +01:00
7d8b899912 Fix Dockerfile: copy proxy.py before pip install 2026-03-16 22:23:14 +01:00
36ee98fa29 Add Forgejo CI workflow for Docker image build 2026-03-16 22:21:10 +01:00
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
37caa7842d Add comprehensive integration tests for all query functions
Test channellist+channelinfo, ban CRUD, servergrouplist, whoami,
clientlist, hostinfo, permissionlist, and logview. Extract helper
methods _login_and_use() and _send_cmd() for DRY test code.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 18:19:55 +01:00
aeeacc2437 Document query_ip_allowlist requirement
The proxy's Docker IP must be in TS6's query_ip_allowlist.txt,
otherwise logins will fail with error 520 after anti-flood kicks in.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 17:49:24 +01:00
26be7112a0 Add test compose file for E2E testing against test TS6
Verified working: login, version, serverinfo, channellist, clientlist,
wrong password rejection, pre-auth command rejection, quit handling.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 17:47:15 +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