1.3 KiB
1.3 KiB
Протокол proxy
Актуальное описание TCP/UDP/ICMP, router-метаданных, окон, half-close и проверок: doc/proxy_protocol.md.
TCP ожидает реальный CONNECTED и использует WINDOW; FIN завершает одно направление. Прежние схемы без CONNECTED, с общим TCP service ID и 9-байтовым CLOSE_ALL не соответствуют реализации. Общие определения и контракт proxy_flow находятся в proxy_protocol.h.
Описание отдельных модулей:
- TCP client — TUN/lwIP, маршрутизация к exit, приём ответов.
- TCP server — OS connect, окна, очереди, FIN/CLOSE/ERROR.
- SOCKS и HTTP — listeners, DNS, HTTP framing/keep-alive/туннели.
- UDP — per-instance flows и восстановление ответа в TUN.
- ICMP — raw socket, сопоставление echo, тестовый fallback.
Контракты функций, буферов и полей HTTP codec — в http_proxy.h.