Tracking issue: HTTP_PROXY/HTTPS_PROXY/NO_PROXY support in Node.js
Personne n'a encore pris cette issue.
- Langage dominant
- JavaScript
- Étoiles
- 122k
- Forks
- 37.3k
- Merge moyen
- 4 j 2 h
- PR mergées (30 j)
- 283
Description
- Support https/http proxies via HTTP_PROXY/HTTPS_PROXY/NO_PROXY in fetch() (behind NODE_USE_ENV_PROXY)
- Initial support https://github.com/nodejs/node/pull/57165
- align with curl: do not tunnel for http proxy https://github.com/nodejs/undici/issues/4083
- align with curl: support keep-alive https://github.com/nodejs/undici/issues/4086
- Support https/http proxies via HTTP_PROXY/HTTPS_PROXY/NO_PROXY in http(s) builtins (behind NODE_USE_ENV_PROXY)
- Initial support for http(s).request and agent: https://github.com/nodejs/node/pull/58980
- Check that it allows other popular user-land agents (for proxy or not) to operate with/without NODE_USE_ENV_PROXY (investigation)
- Check that it works transparently with popular npm packages that uses http/https.request (investigation)
- Investigate enabling NODE_USE_ENV_PROXY by default
- In fetch() (less risky since fetch is patched less in the wild)
- In http(s) builtins (might be too risky, need to investigate)
- Share code between the fetch and the http(s) builtin implementation (e.g. env var parsing & matching)
- Add a CLI flag that allows enabling proxies: https://github.com/nodejs/node/issues/59100
- Bug fixes: https://github.com/nodejs/node/issues/62054
Some nice to haves (depend on whether there are volunteers that want to pick them up):
- Socks 5 proxy support
- Socks5 proxy support in undici: https://github.com/nodejs/undici/issues/2224
- Socks5 proxy support in http/https builtins
- HTTP2 support? https://github.com/nodejs/node/issues/57872#issuecomment-3209437143
- Support it properly in the http2.connect
- Until then, make sure fetch() doesn't advertise h2 when proxy is enabled?
Old issues: https://github.com/nodejs/node/issues/8381 https://github.com/nodejs/node/issues/15620
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par choisir un élément non coché, puis lisez l’issue liée d’Undici ou de Node.js ainsi que le travail existant sur les proxys de fetch(), http(s).request ou http2.connect qu’elle référence. Définissez l’achèvement en fonction du comportement indiqué par cet élément et ajoutez ou mettez à jour la couverture pour le scénario de proxy sélectionné ; cette tracking issue ne nomme aucun fichier ni test spécifique.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- node.js
- Domaine
- networking
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- Active
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100