Proposal — New TCP-based pluggable transports: DoH and gRPC/HTTP2

Hello Tor Project team, I’d like to propose work on two pluggable-transport (PT) approaches that are under-represented and promising for censorship-resistant connectivity: 1. DNS-over-HTTPS (DoH) — lightweight bootstrap/control channel 2. gRPC over HTTP/2 — medium-bandwidth API-style cover as an alternate path Summary / motivation - DoH is already ubiquitous for resolver traffic and makes an excellent low-bandwidth, hard-to-block bootstrap or handshake channel if its TLS and HTTP semantics are convincingly matched. - gRPC over HTTP/2 approximates modern microservice API traffic: it supports binary protobufs, multiplexing, and request patterns that could plausibly hide Tor control or medium-bandwidth traffic when implemented correctly. What needs to be matched (technical fingerprint checklist) DoH (bootstrap/control) - Proper HTTP semantics: GET vs POST usage, request URLs, query parameters, Content-Type: application/dns-message. - TLS ClientHello profile: cipher suites, extensions, and ordering that match real DoH clients. - Resolver behaviour: realistic query timing, distribution of queried names, EDNS padding patterns, caching/TTL behaviour. - Endpoint selection: plausible resolver IPs or cooperating resolvers; avoid impersonating a single provider verbatim. gRPC over HTTP/2 - Correct HTTP/2 SETTINGS and initial frame ordering, window sizes, and flow control behavior. - HPACK header ordering and dynamic table behaviour consistent with real clients. - content-type: application/grpc framing (5-byte prefix) and protobuf payload size/patterns. - Multiplexing and concurrent stream lifetimes that match typical microservice usage. - TLS+ALPN indicating h2 and realistic client TLS fingerprints. High-level design suggestion - Hybrid approach: implement gRPC/HTTP2 as the main data channel; use DoH as a minimal, stealthy bootstrap/handshake channel. - Prototype in stages: DoH is lower complexity and valuable for learning how strict TLS/HTTP fingerprints must be. gRPC/HTTP2 can be tackled next for medium-bandwidth traffic. - Testing: capture real traces from modern browsers/clients and create behaviour models (packet sizes, timings, SETTINGS sequences) to drive deterministic emulation. Validate against both signature-based DPI and ML flow detectors. - Ethical/legal: avoid impersonating a specific cloud provider or critical service verbatim. Prefer “class” mimicry (generic HTTPS/API behaviour) or cooperative fronting partners. Test only in controlled environments and with clear user consent. Risks & caveats - Censors increasingly use ML/flow analysis; simple header/TLS mimicry is insufficient — flow-level statistics must be matched. - Impersonating major cloud providers/resolvers can create legal or service-impact risks; this requires careful consideration and preferably cooperation. Requested next steps 1. Is the Tor Project interested in exploring DoH and/or gRPC/HTTP2 as new pluggable transports? 2. If yes, would you prefer a short design doc + sample traces (DoH first), or should I open a GitHub issue with a proposed roadmap and prototype tasks? 3. Are there legal/ethical constraints I should be aware of when proposing specific endpoint classes (e.g., cooperating CDN vs. impersonation)? Thank you for considering this. I’m happy to iterate on the proposal, provide technical traces, or collaborate on a prototype. Best regards, Kes Pembroke This email pembrokekester80@gmail.com

On Mon, Sep 29, 2025 at 10:13:01PM +0100, Kester Pembroke via anti-censorship-team wrote:
I’d like to propose work on two pluggable-transport (PT) approaches that are under-represented and promising for censorship-resistant connectivity:
1. DNS-over-HTTPS (DoH) — lightweight bootstrap/control channel
• DoH is already ubiquitous for resolver traffic and makes an excellent low-bandwidth, hard-to-block bootstrap or handshake channel if its TLS and HTTP semantics are convincingly matched.
1. Is the Tor Project interested in exploring DoH and/or gRPC/HTTP2 as new pluggable transports?
There actually has already been quite a lot of activity around DNS over HTTPS, both as a rendezvous channel and a main transport. A post outlining the main concept as you have done: https://groups.google.com/forum/#!topic/traffic-obf/ZQohlnIEWM4 A full tunnel with DNS over HTTPS or DNS over TLS. Not a pluggable transport, but there are instructions for connecting to a Tor bridge: https://www.bamsoftware.com/software/dnstt/#proxy-tor Design sketch for a dnstt-based pluggable transport: https://archive.torproject.org/websites/lists.torproject.org/pipermail/anti-... Issue tracking development of a dnstt-based pluggable transport, open however since 2022: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/trac/... Conjure has implemented DNS/DoH rendezvous: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/conju... As has TapDance: https://github.com/refraction-networking/gotapdance/pull/93 There's an issue for DNS/DoH rendezvous in Snowflake, not implemented yet though: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf...
participants (2)
-
David Fifield
-
Kester Pembroke