-
Notifications
You must be signed in to change notification settings - Fork 358
Open
Description
Desktop DoH Client (Windows/Linux) — Proposal
Purpose
Build a cross-platform desktop app that acts as a local DNS-to-DoH proxy, replicating Intra’s Android functionality with a minimal GUI for Windows and Linux.
link to forked repository --> https://github.com/Pouria03/Intra
Design Notes
- Language & Core: Python3 or Go
- DNS Parsing
- GUI
- Service Modes:
- Dev mode: bind to port 5353 (non-privileged).
- Production: bind to port 53 (Windows service / setcap on Linux).
- Core Requirements:
- Support UDP & TCP DNS.
- DNS caching with TTL (LRU strategy).
- Retries, timeouts, error handling.
- Packaging:
- Windows: PyInstaller → NSIS installer (+ code signing if possible).
- Linux: PyInstaller → AppImage / .deb package.
- System Integration:
- Windows: PowerShell to set DNS to 127.0.0.1.
- Linux: NetworkManager / systemd-resolved configuration.
- CLI & Config:
- Headless/daemon mode.
- Config file for resolver list and settings.
- Logging with levels (info/debug/warn).
- Security & Privacy:
- No telemetry by default.
- privacy.md: resolver choices and logging policy.
- SECURITY.md: vulnerability reporting guidelines.
- Testing & CI:
- Unit tests with mock DoH server.
- Integration tests for end-to-end resolution.
- GitHub Actions: Windows + Linux matrix.
- Fallback Plan:
- Option to call upstream Go DoH proxy as subprocess for performance.
- Licensing:
- Apache-2.0 for all new files, matching upstream repo.
steveepreston, moein35, lexerotk and SergioSikoni
Metadata
Metadata
Assignees
Labels
No labels