Tracking issue: HTTP_PROXY/HTTPS_PROXY/NO_PROXY support in Node.js
Nessuno ha ancora preso questa issue.
- Lingua principale
- JavaScript
- Stelle
- 122k
- Fork
- 37.3k
- Merge medio
- 4g 2h
- PR unite (30g)
- 283
Descrizione
- 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
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia scegliendo un elemento non selezionato, quindi leggi l’issue collegata di Undici o Node.js e il lavoro esistente sui proxy di fetch(), http(s).request o http2.connect a cui fa riferimento. Definisci il completamento in base al comportamento indicato da quell’elemento e aggiungi o aggiorna la copertura per lo scenario proxy selezionato; questa tracking issue non indica file o test specifici.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- node.js
- Ambito
- networking
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Attiva
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100