CI / Build & Test (push) Successful in 3m27s
Replace the bare-https HTTPS proxy with a bare-tcp server that implements SNI entirely in JavaScript. A pure-JS TLS ClientHello parser extracts the SNI hostname from each incoming connection, derives the wildcard parent domain by stripping the leftmost label, and selects (or generates on demand) the correct wildcard cert via certificate-authority.getOrCreateWildcardCert(). This fixes ERR_SSL_SERVER_CERT_BAD_FORMAT for custom TLDs and supports hostnames of any depth (e.g. i.love.hole.sail → cert *.love.hole.sail). Also fixes ERR_INVALID_CHUNKED_ENCODING by stripping hop-by-hop headers (Transfer-Encoding, Connection, etc.) from proxied responses — bare-http1 decodes chunked bodies internally so forwarding the header caused Chrome to misinterpret the already-decoded body bytes. - https-proxy.js: rewrite using bare-tcp + JS SNI peek + bare-tls per conn - certificate-authority.js: add getOrCreateWildcardCert(parentDomain) - host.js: remove refreshProxyCert/getActiveBaseDomains (no longer needed) - background.js: PAC dnsDomainIs clauses already match any depth correctly - dashboard.html: update vhost hint text to show deep hostnames are supported - docs: update ARCHITECTURE, SECURITY, NATIVE-HOST; add VIRTUAL-HOSTS.md