feat: deploy client-side ClamAV scan service for encrypted rooms
Auto-Deploy on Push / verify-and-notify (push) Successful in 53s

Synapse's own media-scanning module (Issue #19) can never see E2EE
attachment content - a structural limit, not a bug. This adds a small
standalone HTTP wrapper around the same ClamAV instance, reachable
from browser JS at /_scan, so the ThreadNet-Web client fork can scan
plaintext both before encrypting/uploading and after downloading/
decrypting - covering both directions regardless of room encryption.
Auth via Synapse's own /whoami endpoint, no separate auth system.
This commit is contained in:
Thore Cimbal
2026-07-29 16:25:16 +02:00
parent 8a3274dd33
commit 32e2c8e556
6 changed files with 261 additions and 0 deletions
@@ -0,0 +1,8 @@
FROM python:3.13-slim
COPY clamav-http-scanner.py /app/clamav-http-scanner.py
USER nobody
EXPOSE 8090
CMD ["python3", "/app/clamav-http-scanner.py"]