Support incoming UDP traffic via SOCKS5 UDP ASSOCIATE
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
- 12/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- nodejs, typescript
- Ambito
- backend, networking
Direzione di ricerca
Start in src/server.ts, where the http.Server is created and registerConnection() tracks only TCP sockets, then check src/socket.ts and src/statuses.ts for where UDP association types and errors would go. The issue proposes a new src/socks5_udp.ts for the UDP ASSOCIATE handshake and relay header, but it leaves open whether the feature is opt-in and what idle timeout to use. Done needs those decisions from a maintainer first.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Currently proxy-chain only handles TCP connections. It would be useful to support SOCKS5 UDP ASSOCIATE (command 0x03 per RFC 1928), which allows clients to send UDP datagrams through the proxy.
Use cases include DNS queries, gaming, VoIP, and QUIC/HTTP3 traffic.
Looking at the code, the server is purely TCP-based. In src/server.ts:115 we create an http.Server, and all connection tracking in registerConnection() at line 303 assumes TCP sockets. There's no dgram usage anywhere.
To add this, we'd need to:
- Add a dgram.Socket in
src/server.tsalongside the HTTP server - Create a new module (maybe
src/socks5_udp.ts) to handle the UDP ASSOCIATE handshake and relay header format - Create UDP relay logic to forward datagrams between clients and targets
- Extend
src/socket.tstypes for UDP associations - Add UDP-specific error handling in
src/statuses.ts - Extend byte counting in
src/utils/count_target_bytes.tsfor UDP stats
Open questions:
- Should this be opt-in via config flag or enabled by default?
- What timeout should we use for idle UDP associations?
- How to surface UDP events to users (new event types on the server?)
- Lingua principale
- TypeScript
- Stelle
- 1k
- Fork
- 167
- Merge medio
- 15h 29m
- PR unite (30g)
- 12
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#635 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
apify/proxy-chain#634 ·
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
-
Native Web
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
digitalfabrik/integreat-app#4517 ·
I maintainer di solito rispondono entro 2 giorni
-
TLS guide repeats certs/ in the certificate directoryForse già presa @maheshrijal l’ha presa oggi. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
prometheus/docs#3156 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
medusajs/dtc-starter#90 ·
I maintainer di solito rispondono entro 1 giorno
-
usability
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
inmanta/web-console#7632 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
zaidmukaddam/scira#261 ·