Support UDP proxying through HTTP upstreams via RFC 9298 CONNECT-UDP
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
- Ambito
- backend, networking
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.tsfor 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
- 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.
Altre issue di apify/proxy-chain
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
apify/proxy-chain#634 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 12/100
apify/proxy-chain#633 ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue low priority t-unblocking tech roadmap
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
apify/proxy-chain#632 ·
I maintainer di solito rispondono entro 1 giorno
-
low priority t-unblocking tech roadmap
Difficoltà 3/5 Mezza giornata Idoneità per principianti 28/100
apify/proxy-chain#631 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
low priority t-unblocking tech roadmap
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
apify/proxy-chain#630 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di apify/proxy-chain
Issue simili
-
afk-ok area:data-quality importer size:S
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
enorm-labs/event-junkie#3301 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
one-zero-eight/apply-bot#39 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
bigbluebutton/bbb-ui-components-react#108 ·
I maintainer di solito rispondono entro 2 giorni
-
area: app type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
ExpidetGames/code-reviewer#308 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno