Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Support UDP proxying through HTTP upstreams via RFC 9298 CONNECT-UDP

Aperta
#635 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
15/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
nodejs, typescript

Direzione di ricerca

The issue proposes a new file, src/chain_http_udp.ts, for an RFC 9298 CONNECT-UDP client, and it depends on HTTP/2 Extended CONNECT support that the payload does not show exists yet. Start by reading the existing HTTP upstream chaining code in the repository, since the payload names no current files. Done would mean a configurable upstream that tunnels UDP via RFC 9297 capsules, which needs design discussion with maintainers first.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

This is more of a future enhancement, but worth tracking: RFC 9298 "Proxying UDP in HTTP" defines a standard way to tunnel UDP through HTTP proxies using Extended CONNECT with the connect-udp protocol.

This isn't common today, but it's a real standard (published August 2022) and is used in production by Cloudflare for WARP and iCloud Private Relay. Other implementations include Envoy and the masque-go library.

How it works:

  • Client sends Extended CONNECT request with :protocol = connect-udp
  • Target specified via URI template like /.well-known/masque/udp/{host}/{port}/
  • UDP payloads are encapsulated using HTTP Datagrams (RFC 9297)
  • Works over HTTP/2 (with overhead) or HTTP/3 (preferred, uses QUIC DATAGRAM frames)

To add this to proxy-chain:

  • Create src/chain_http_udp.ts for RFC 9298 client implementation
  • Would need HTTP/2 Extended CONNECT support first
  • Implement the capsule protocol from RFC 9297 for datagram encapsulation
  • Add config option to specify upstream supports CONNECT-UDP

This is lower priority than SOCKS5 UDP (see #634 and #633) since:

  • HTTP/2 Extended CONNECT adds complexity
  • Few HTTP proxies support this today
  • HTTP/1.1 cannot practically support it at all

But it would be nice for completeness and future-proofing, especially as HTTP/3 adoption grows.

References:

Lingua principale
TypeScript
Stelle
1k
Fork
167
Merge medio
16h 47m
PR unite (30g)
20

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di apify/proxy-chain

Tutte le issue di apify/proxy-chain

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.