freexian tracker: consider supporting HTTP compression
Context: following #11 lts-cve-triage.py now downloads the Debian security tracker JSON and the Freexian security tracker JSON.
I noticed that the Freexian tracker was vastly slower to update. This is because the Freexian tracker doesn't seem to support content compression:
Debian: 7.23MB
Freexian: 68.29MB
>>> import requests
>>> r1 = requests.get("https://security-tracker.debian.org/tracker/data/json")
>>> r1.headers
{'Connection': 'keep-alive', 'Content-Length': '7581078', 'Server': 'BaseHTTP/0.6 Python/3.11.2', 'X-Content-Type-Options': 'nosniff', 'X-Frame-Options': 'sameorigin', 'Referrer-Policy': 'no-referrer', 'X-Xss-Protection': '1', 'Permissions-Policy': 'interest-cohort=()', 'Strict-Transport-Security': 'max-age=15552000', 'Content-Type': 'application/json', 'Last-Modified': 'Mon, 14 Jul 2025 18:56:23 GMT', 'Cache-Control': 'max-age=3600, stale-while-revalidate=60', 'Expires': 'Mon, 14 Jul 2025 20:28:42 GMT', 'X-Clacks-Overhead': 'GNU Terry Pratchett', 'Content-Encoding': 'gzip', 'Accept-Ranges': 'bytes', 'Age': '1697', 'Date': 'Mon, 14 Jul 2025 19:57:00 GMT', 'Via': '1.1 varnish', 'X-Served-By': 'cache-par-lfpg1960044-PAR', 'X-Cache': 'HIT', 'X-Cache-Hits': '0', 'X-Timer': 'S1752523020.471412,VS0,VE1', 'Vary': 'Accept-Encoding'}
>>> r2 = requests.get("https://deb.freexian.com/extended-lts/tracker/data/json")
>>> r2.headers
{'server': 'BaseHTTP/0.6 Python/3.11.2', 'date': 'Mon, 14 Jul 2025 10:25:09 GMT', 'content-type': 'application/json', 'content-length': '71602050', 'last-modified': 'Mon, 14 Jul 2025 10:15:17 GMT', 'age': '34191', 'connection': 'keep-alive'}
Using HTTP/2 doesn't seem to help either:
curl --compressed --trace mytrace.txt https://deb.freexian.com/extended-lts/tracker/data/json > tracker.json
also downloads as plain text without compression.