
Сразу разочарую любителей громких фраз: я не делал «защищённый мессенджер», я не думал ни про слежку, ни про прослушку, ни про приватность вообще.

Сразу разочарую любителей громких фраз: я не делал «защищённый мессенджер», я не думал ни про слежку, ни про прослушку, ни про приватность вообще.
Я работаю с Rust уже несколько лет. В основном - бэкенд, микросервисы, много асинхронного кода и многопототочных задач. А ещё я давно хотел разобраться в WebRTC. Не на уровне "вот туториал, скопируй и запусти", а чтобы реально понимать, что происходит с пакетами, как они передаются, как маршрутизируются.
В итоге я решил написать свой SFU.
Не для продакшена. Не чтобы конкурировать с LiveKit или Jitsi. Просто чтобы посмотреть, как оно работает изнутри. И написать его на Rust - потому что это мой основной инструмент, и мне было интересно, насколько он подходит для такого рода задач.
Привет!
Я — обычный, среднестатистический (с натягом) житель глубинки — электрик. Не хотел никого взрывать, переводить чьи-то деньги на безопасный счёт и заниматься прочими непотребными и преступными штуками. Но именно из-за вот этих вот преступных штук (со слов«компетентных») мне отрубили возможность разговаривать по видео привычным для меня способом.
Неприятное чувство, когда лес рубят другие, а в тебя щепки летят. И ладно, если бы лес рубили, так… травку косят, а летят брёвна.
Сделал себе VPN, который:
— работает через VLESS Reality, неотличимый от обычного HTTPS
— пробивает белые списки мобильных операторов через relay на Yandex Cloud
— имеет готовый код для аварийного канала через WebRTC и Яндекс.Телемост (пока не понадобился) — автоматически переключается между 4 уровнями защиты
— пропускает российские сайты (Яндекс, Госуслуги, банки) напрямую, без VPN
Весь код, конфиги, скрипты деплоя — всё написал Claude Code. Я только описал проблему и дал ему почитать несколько статей с Хабра про блокировки. Ну и бил его кнутом, пока всё не заработает.
Расскажу, как это устроено и как повторить.
привет.....
Если не читали предыдущие статьи - кратко: в РФ сейчас работают белые списки ( а мы не знали ) подробнее тут, ТСПУ работает в режиме drop-all, пропуская только одобренные IP + SNI
Обходилось это легко - покупаешь VPS у VK/Timeweb/Яндекса, получаешь подсеть которая есть в белых списках, поднимаешь VLESS
Только вот скоро это перестанет работать
VK и Яндекс начали детектить инстансы используемые как прокси - предположительно смотрят на паттерны трафика и так далее, MAX вообще давно палит IP VPS через HOST_REACHABILITY - подробнее тутЧитать полностью »
Привет. Я написал SOCKS5-прокси, который прячет весь трафик внутри WebRTC TURN-сессий видеоплатформы WB Stream (stream.wb.ru — да, у Wildberries есть свой аналог Телемоста, я тоже прифигел). Для любого наблюдателя трафик выглядит как обычная видеоконференция.
В этом посте — полный разбор: как я отреверсил HTTP API платформы, зачем написал свой protobuf-парсер на 40 строк, и как KCP-соединение с VPS пролезает через чужой TURN-сервер.
Репозиторий: github.com/jaykaiperson/lionheart
Дисклеймер.Читать полностью »
Что ж... Недавно я увлекся C++, поэтому давайте разберемся в какой-нибудь технологии и напишем по ней статью. Мой выбор пал на WebRTC и клиент на Qt.
Начнем с теории и обозначим фронт работ.
Когда в октябре 2024-го заблокировали Дискорд, я сидел в голосовом канале с друзьями. Связь оборвалась, все полезли за впн-ками, кто-то ушёл в Телеграм, кто-то просто пропал. Серверы, которые мы строили годами, с каналами, ролями, ботами, в один момент стали недоступны.
Я фрилансер, пишу на React и Node.js. В тот вечер подумал: а насколько сложно вообще сделать свой мессенджер с серверной структурой? Не чат на вебсокетах из туториала, а нормальный. С серверами, каналами, ролями, голосовыми комнатами, ботами. Такой, чтобы можно было перетащить своё сообщество и не чувствовать разницы.
Оказалось, сложно. Но я всё равно сделал.
Мои родители и вся моя семья живут в Риге, а большинство наших родственников - в России и Украине. Когда привычные мессенджеры начинают работать с перебоями, хочется иметь простой и независимый способ связи. Самый простой способ из мне известных - WebRTC.
В рамках развития собственного понимания тонкостей парной разработки программ с участием LLM-агентов я решил создать PWA для видеочата на базе WebRTC при помощи Codex-агента.
Считаю, что эксперимент завершился успешно, хотя и не очень хорошо. Я использовал все лимиты Plus-подписки на Codex, но при этом получил работающий прототип.