Skip to main content
GoodFirstPicks
DashboardIssuesReposLeaderboard

GoodFirstPicks by Leaveitblank © 2026

CreatorRequest a RepoPrivacy PolicyTerms of Service
Tracking issue: HTTP_PROXY/HTTPS_PROXY/NO_PROXY support in Node.js | GoodFirstPicks

Tracking issue: HTTP_PROXY/HTTPS_PROXY/NO_PROXY support in Node.js

nodejs/node 15 comments 28d ago
View on GitHub
highopenScope: somewhat clearSkill match: noNode.jsJavaScript

Why this is a good first issue

This issue involves complex HTTP proxy integration with core Node.js modules requiring deep protocol and socket handling expertise.

AI Summary

The issue tracks HTTP_PROXY/HTTPS_PROXY/NO_PROXY support implementation in Node.js, involving both fetch() and http(s) builtins. It requires careful handling of socket pooling, tunneling, and environment variable integration. Main blockers are the complexity of socket lifecycle management and potential breaking changes.

Issue 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

GitHub Labels

http

Want to work on this?

Claim this issue to let others know you're working on it. You'll earn 35 points when you complete it!

Risk Flags

  • requires deep HTTP protocol knowledge
  • potential breaking changes
  • complex socket pooling logic
Loading labels...

Details

Points35 pts
Difficultyhigh
Scopesomewhat clear
Skill Matchno
Test Focusedno