Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#635 0 comentarios 0 reacciones 0 asignados Ver en GitHub

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

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.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:

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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apify/proxy-chain

Todos los issues de apify/proxy-chain

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.