- HF Spaces blocks standard UDP DNS for some domains (like Telegram) by returning ENOTFOUND.
- The previous attempt forced DoH first via cloudflare-dns.com, but standard DNS resolution for cloudflare-dns.com itself failed inside HF Spaces, causing the entire DoH fallback to crash with ECONNRESET.
- Restored the original HuggingClaw logic: try system DNS first, and if it fails (ENOTFOUND), fallback to DoH using the direct IP '1.1.1.1' which bypasses system DNS entirely.
- Reverted README and DISCORD_PROXY_GUIDE.md since Telegram is NOT blocked by HF TLS/SNI and works natively once DNS is fixed.
fix: Telegram+Discord TLS/SNI bypass via Cloudflare Worker proxy
- Confirmed HF blocks Telegram via TLS/SNI inspection (60s timeout, ECONNRESET)
- Moved NODE_OPTIONS to Dockerfile ENV (after COPY) so dns-fix.js loads in n8n
- Added keep-alive=false patch to prevent stale socket ECONNRESET on Node 22
- Removed diagnostic code from dns-fix.js
- Updated README and guide to cover both Discord and Telegram proxy workaround
- Guide now includes Telegram Base URL field instructions for n8n credential
docs: add guide for creating a free Cloudflare proxy to bypass Discord connection blocks
- fix: huggingface_hub version was non-existent (==0.34.4), unpinned to latest
- fix: N8N_SECURE_COOKIE defaulted to true, breaking login behind HF TLS proxy (now false)
- fix: WebSocket upgrade handler now forwards Upgrade/Connection headers correctly
- fix: removed deprecated local_dir_use_symlinks param from n8n-sync.py
- fix: chmod 700 on /home/node/.n8n to satisfy n8n permission check
- feat: N8N_VERSION build ARG for optional n8n version pinning via HF Space Variable
- feat: N8N_BASIC_AUTH_ACTIVE=true by default with warning if password not set
- feat: full README rewrite with Duplicate Space button, secrets table, architecture docs
- chore: add CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md, CHANGELOG.md
- chore: add .env.example with all variables documented
- chore: add .gitignore