Project

General

Profile

Actions

Task #7053

closed

Make nodejs/npm work on IPv6 only hosts

Added by Nico Schottelius over 4 years ago. Updated 4 months ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
08/16/2019
Due date:
% Done:

0%

Estimated time:
PM Check date:

Description

Description

The following error occurs when trying to install a package:

nodejshost:~$ npm install node-red
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:~$

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.

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)
Actions

Also available in: Atom PDF