Tracking issue: HTTP_PROXY/HTTPS_PROXY/NO_PROXY support in Node.js
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- JavaScript
- Estrellas
- 122k
- Forks
- 37.3k
- Merge medio
- 4 d 2 h
- PR fusionados (30 d)
- 283
Descripción
- 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
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Empieza por elegir un elemento sin marcar y, después, lee el issue vinculado de Undici o Node.js y el trabajo existente sobre proxies de fetch(), http(s).request o http2.connect al que hace referencia. Define la finalización según el comportamiento indicado en ese elemento y añade o actualiza la cobertura para el escenario de proxy seleccionado; este tracking issue no especifica archivos ni tests concretos.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- node.js
- Área
- networking
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Activo
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100