Support UDP proxying through HTTP upstreams via RFC 9298 CONNECT-UDP
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 15/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- nodejs, typescript
- Área
- backend, networking
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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:
- Lenguaje dominante
- TypeScript
- Estrellas
- 1k
- Forks
- 167
- Merge medio
- 16 h 47 min
- PR fusionados (30 d)
- 20
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apify/proxy-chain
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
apify/proxy-chain#634 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 12/100
apify/proxy-chain#633 ·
Los mantenedores suelen responder en 1 día
-
good first issue low priority t-unblocking tech roadmap
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
apify/proxy-chain#632 ·
Los mantenedores suelen responder en 1 día
-
low priority t-unblocking tech roadmap
Dificultad 3/5 Medio día Aptitud para principiantes 28/100
apify/proxy-chain#631 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
low priority t-unblocking tech roadmap
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
apify/proxy-chain#630 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de apify/proxy-chain
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
one-zero-eight/apply-bot#39 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
bigbluebutton/bbb-ui-components-react#108 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
high priority
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
CI-CMG/deep-sea-corals-exb#84 · 1 comentario ·