Task #7053
Updated by Nico Schottelius over 5 years ago
h2. Description
The following error occurs when trying to install a package:
<pre>
nodejshost:~$ npm install nodered
npm ERR! code ENETUNREACH
npm ERR! errno ENETUNREACH
npm ERR! request to https://registry.npmjs.org/nodered failed, reason: connect ENETUNREACH 104.16.21.35:443 - Local (0.0.0.0:0)
npm ERR! A complete log of this run can be found in:
npm ERR! /home/app/.npm/_logs/2019-08-16T08_41_18_332Z-debug.log
nodejshost:~$
</pre>
The host that has access to the IPv4 Internet via DNS64/NAT64. So if npm install would try resolve by both IPv4 (AAAA) and IPv4 (A) DNS entries, then the installation would succeed.
h2. Offer
If anyone is interested in fixing this, I offer 200 CHF in cash for the one who
* Finds the source of the problem (it's somewhere in a github issue, I have seen it some time ago)
* Fix it so that IPv6 and IPv4 are treated equally (i.e. happy eyeballs or similar algorithm)
** Resolve both AAAA and A at the same time
** Try first available host
** Do not implement do-one-after-another: this breaks either IPv4 or IPv6 users
* Submits a patch upstream and gets it merged
* Can show that "npm install ..." on an IPv6 only host with NAT64 works (I provide a test VM for this)