О проекте
Мы разрабатываем высокопроизводительные сетевые сервисы для защищённой и надёжной передачи трафика. Серверная часть — Rust (tokio, Hyper, rustls), клиентская — Go. Работа ведётся на уровне протоколов: бинарный парсинг, мультиплексирование соединений, транспортные обёртки, оптимизация data path с использованием возможностей ядра Linux.
Это не прикладная разработка — здесь вы будете работать на уровне байтов, TCP-соединений, TLS-хендшейков и системных вызовов.
Чем предстоит заниматься
- Разработка и развитие серверного прокси на Rust: реализация бинарных протоколов, relay-логика, мультиплексирование потоков, поддержка нескольких транспортов (Raw TCP+TLS, WebSocket, HTTP-based).
- Разработка клиентского агента на Go: локальный прокси-компонент, установление защищённых соединений с сервером, управление транспортным уровнем.
- Оптимизация производительности: работа с kTLS, splice, zero-copy relay, профилирование и тюнинг под высокую пропускную способность (цель — единицы Гбит/с на процесс).
- Обеспечение устойчивости соединений в условиях нестабильных и ограниченных сетевых сред.
- Участие в архитектурных решениях: выбор протоколов и транспортов, анализ компромиссов, подготовка технических спецификаций.
Что ожидаем
- Опыт системного программирования на Rust или Go от 2 лет. Знание обоих языков — плюс, но достаточно уверенного владения одним с готовностью осваивать второй.
- Понимание сетевого стека: TCP/IP, TLS (хендшейк, расширения, SNI), HTTP/1.1 и HTTP/2, WebSocket.
- Опыт работы с асинхронным I/O (tokio, epoll или аналоги).
- Умение читать RFC и спецификации протоколов, разбираться в wire format на уровне байтов.
- Навыки диагностики сетевых проблем: tcpdump, Wireshark, strace.
Будет преимуществом
- Опыт работы с Linux networking на уровне ядра: kTLS, splice, io_uring, eBPF.
- Знакомство с протоколами туннелирования и проксирования (VLESS, SOCKS5, HTTP CONNECT).
- Опыт с мультиплексированием потоков поверх одного соединения (smux, yamux, HTTP/2 streams).
- Понимание особенностей TLS на уровне глубже «просто подключить библиотеку»: ClientHello, расширения, fingerprinting.
- Контрибьюты в открытые сетевые проекты.
Стек и инструменты
- Rust (tokio, Hyper, rustls/openssl), Go
- Linux, Git, GitLab CI/CD
- YouTrack, Mattermost
- Wireshark, tcpdump, iperf3, perf
Условия
- Удалённая работа
- Задачи с реальным техническим вызовом — работа на уровне протоколов и ядра, а не обёртки над REST API
- Небольшая команда, минимум бюрократии, прямое влияние на архитектуру