Skip to content

feat: add CERT-TR (SGB) source via IMAP - Proton Bridge + Gmail (App Password / OAuth2) with mixed RSS - #2

Merged
Lunixizm0 merged 4 commits into
mainfrom
big-implement/cert-tr
Sep 20, 2026
Merged

Lunixizm0 merged 4 commits into
mainfrom
big-implement/cert-tr

Conversation

@Lunixizm0

Copy link
Copy Markdown
Owner

Summary:

  • New cert_tr source: IMAP fetch (BODY.PEEK, readonly, never marks read), siberguvenlik.gov.tr allowlist, strict CVE-only parsing (parser.py), dedup CERT-TR-CVE-*
  • IMAP: Proton Bridge 127.0.0.1:1143 STARTTLS CERT_NONE + Gmail imap.gmail.com:993 SSL CERT_REQUIRED; UTF-8/ENABLE UTF8=ACCEPT + modified UTF-7 fallback for CVE Yazışmaları; batch 25 + reconnect
  • Gmail auth: auth/gmail.py — App Password (16-char, spaces preserved) + OAuth2 XOAUTH2 (google-auth/google-auth-oauthlib, https://mail.google.com/ scope, refresh_token in cache/gmail_oauth.json 600)
  • Settings: ENABLE_CERT_TR, multi-account PROTON_BRIDGE_EMAILS/GMAIL_EMAILS/GMAIL_OAUTH_*, per-folder GMAIL_IMAP_FOLDERS, constants.py defaults
  • Cache: store.py SQLite WAL source column, ETag map, auto-delete legacy CERT-TR-MSG-* non-CVE rows
  • Aggregator: mixed GHSA-* vs CERT-TR-* (no collision), sort updated_at DESC
  • Server: server/app.py background refresh REFRESH_INTERVAL for both sources (If-None-Match/ETag + asyncio.to_thread IMAP), stale kept on error; RSS ?source=github|cert-tr|mixed filter
  • CLI: app auth login --provider {github|proton|gmail} --method {app-password|oauth}, app sync --source {all|github|cert-tr}, app status per-source counts
  • RSS: builder.py [CERT-TR] prefix, source:cert-tr, cve:/cwe: categories, NVD links
  • Docs: README.md ASCII → Mermaid (flowchart LR/TD), .env.example updated
  • Tests: test_cert_tr_* (+18 tests, total 78), pyproject.toml google-auth deps

@Lunixizm0 Lunixizm0 self-assigned this Sep 20, 2026
@Lunixizm0
Lunixizm0 merged commit bdde194 into main Sep 20, 2026
1 check passed
@Lunixizm0
Lunixizm0 deleted the big-implement/cert-tr branch September 20, 2026 18:14
Comment thread src/advisory_rss/auth/gmail.py
Comment thread src/advisory_rss/cli.py
Comment thread tests/unit/test_cert_tr_imap.py
Comment thread src/advisory_rss/server/app.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants