Tracking issue: HTTP_PROXY/HTTPS_PROXY/NO_PROXY support in Node.js
Đang mở
Chưa có ai nhận issue này.
http
- Ngôn ngữ chính
- JavaScript
- Star
- 122k
- Fork
- 37.4k
- Merge trung bình
- 4 ngày 3 giờ
- Pull request đã merge (30 ngày)
- 272
Mô tả
- 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
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách chọn một mục chưa được đánh dấu, sau đó đọc issue Undici hoặc Node.js được liên kết và phần xử lý proxy hiện có cho fetch(), http(s).request hoặc http2.connect mà issue đó tham chiếu. Xác định việc hoàn thành dựa trên hành vi được nêu trong mục đó và thêm hoặc cập nhật coverage cho kịch bản proxy đã chọn; tracking issue này không nêu các tệp hoặc test cụ thể.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- node.js
- Lĩnh vực
- networking
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 25/100