Platform-specific networking issue with unclear root cause despite reproduction attempts.
The issue involves Node.js fetch() timing out on specific Cloudflare IPs on Windows while other tools work, suggesting a platform-specific networking stack problem. The root cause isn't immediately clear despite reproduction attempts, and it may involve undici's connection handling. The maintainer has pointed to a potential related undici issue, indicating this might require deeper networking knowledge to diagnose.
Node.js v22.22.0 Windows 11 (Build 26100)
Windows_NT 10.0.26100 x64
net, undici (fetch)
node -e "fetch('https://shadcn-vue.com').then(r => console.log(r.status)).catch(e => console.log(e.message))"
Result: fetch failed with ETIMEDOUT
Run with curl.exe on the same machine:
curl.exe -I https://shadcn-vue.com
HTTP/1.1 200 OKSame network, same site, different results:
curl.exe → Works (200)PowerShell Invoke-WebRequest → Works (200)Node.js fetch() → ETIMEDOUTNode.js require('https').get() → Hangs foreverOther sites work fine in Node.js:
https://google.com → 200 ✓https://github.com → 200 ✓https://cloudflare.com → 200 ✓https://shadcn-vue.com → ETIMEDOUT ✗Same code works on Mac:
AggregateError [ETIMEDOUT]:
at internalConnectMultiple (node:net:1134:18)
at afterConnectMultiple (node:net:1715:7) {
code: 'ETIMEDOUT',
[errors]: [
Error: connect ETIMEDOUT 172.67.178.160:443 {
errno: -4039,
code: 'ETIMEDOUT',
syscall: 'connect',
address: '172.67.178.160',
port: 443
},
Error: connect ENETUNREACH 2606:4700:3033::6815:11e2:443 {
errno: -4062,
code: 'ENETUNREACH',
syscall: 'connect',
address: '2606:4700:3033::6815:11e2',
port: 443
},
Error: connect ETIMEDOUT 104.21.17.226:443 {
errno: -4039,
code: 'ETIMEDOUT',
syscall: 'connect',
address: '104.21.17.226',
port: 443
},
Error: connect ENETUNREACH 2606:4700:3037::ac43:b2a0:443 {
errno: -4062,
code: 'ENETUNREACH',
syscall: 'connect',
address: '2606:4700:3037::ac43:b2a0',
port: 443
}
]
}
Claim this issue to let others know you're working on it. You'll earn 10 points when you complete it!