StealthSurf for Developers
342 subscribers
7 photos
1 file
12 links
Субканал @stealthsurf_vpn для разработчиков.

Публикуем код, решения, гайды и пишем про разработку сервиса в целом.

Наш GitHub: https://github.com/stealthsurf-vpn
Download Telegram
Выпускаем форк telemt-docker и telemt для поднятия MTProto в Docker

Обнаружили критический баг в сортировке, который вызывала панику ядра и перезагружал контейнер 112 (!) раз в сутки. Взяли и исправили.

В ближайшее время начнем использовать его на сервисе.

🌐 GitHub Repository
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2
Продолжаем развивать telemt

На этот раз добавили поддержку tls_domain. Это значит, что в ближайшее время на сервисе можно будет задавать кастомный SNI для MTProto.

Особенно актуально для белого игрового интернета.

Commit b816857
❤5
Выпущена версия awg-server 1.0.3.

Внесенные изменения:

• Исправлена документация: ранее отображались руководства по установке версии 1, а не версии 2.

• Добавлен метод stats для отображения потребления пользователем.

• Реализована возможность изменения всех параметров версии 2.
1🔥2
5❤5😱5👨‍💻2
Теперь у нас открыт фронт статус-страницы и постепнно публикуются скрипты для настройки инфраструктуры
2👍4🔥3😱3
Выпущена версия awg-server 1.0.4.

• Расширенный роутинг

Появились три режима маршрутизации:

• full — весь трафик через VPN;
• bypass — весь IPv4-трафик, кроме указанных сетей;
• split — только выбранные сети с возможностью добавить исключения.

CIDR-сети нормализуются, дубликаты удаляются, а результат вычитания остаётся детерминированным и минимальным.

• Новые режимы DNS

Теперь поддерживаются:

- серверный DNS по умолчанию;
- собственный список из нескольких DNS-серверов;
- системный DNS без строки DNS в конфигурации.

Legacy-настройка DNS сохранена для обратной совместимости.

• Больше индивидуальных настроек клиента

Добавлены отдельные MTU, локальный ListenPort, настройка PersistentKeepalive, split routing и уникальный 32-байтовый PSK для каждого нового клиента.

Исправлена генерация AWG 2.0: параметры S3 и S4 теперь всегда попадают в конфигурацию, даже если равны нулю. Также появилась строгая проверка CPS-параметров J/S/H/I.

• Генерация AWG-параметров

Можно генерировать случайные наборы H1–H4/S1–S2 и перегенерировать их для существующих клиентов. Остальные настройки, ключи, PSK, адрес, routing и дата создания при этом сохраняются.

После перегенерации потребуется заново получить и применить клиентскую конфигурацию.

• Надёжность и безопасность

Операции создания, обновления, удаления, миграции и перегенерации теперь выполняются транзакционно. Перед перемещением peer обязательно сохраняется актуальный snapshot трафика.

При повреждённом persisted state сервер прекращает запуск вместо молчаливой потери клиентов. Внутренние ошибки устройства, диска и rollback не раскрываются наружу.

Self-update теперь проверяет Ed25519-подпись, checksum, manifest, версию, размер файла и защищён межпроцессным lock.

• Новый CI и релизный процесс

Добавлены race-тесты, go vet, проверка форматирования, ShellCheck, actionlint, тесты release-скриптов и сборка всех целевых платформ.

Релизы содержат шесть бинарников, SHA256SUMS и подписанный manifest. Автоматический deployment на серверы полностью удалён — workflow отвечает только за безопасную публикацию GitHub Release.

Старые клиенты без PSK, legacy DNS и конфигурации без явного routing продолжают поддерживаться.
🔥5
StealthSurf for Developers
Релиз этой версии с поддержкой всех настроек, роутинга и DNS будет на сервисе позднее.
Вышло обновление до версии 1.0.5

• Локальная сеть

Теперь пользователи могут создавать свои собственные локальные комнаты (подсети) и общаться друг с другом.

Это позволяет, например, получить доступ к игровому серверу, который запущен на ПК другого человека.

Важно находиться на одном сервере
🔥5
stealthsurf_adaptive_tunnel_spec.md
150.5 KB
Получилось дописать полный план разработки SAT (StealthSurf Adaptive Tunnel) — нашего собственного протокола

Над ресерчем работали GPT 5.6 Sol Ultra + Opus 5 + Немного Falbe (до релиза Opus 5)

Неоднократно менялись тех. подробности, но получилось достичь идеального формата

В таком же формате попробуем применить ИИ. О ходе разработке и результатах сообщим отдельно.

* Часть кода уже написана (~15-20%). Если дальше пойдут ИИ-агенты, то откроем код для всех
❤8🔥3👏3
StealthSurf for Developers
stealthsurf_adaptive_tunnel_spec.md
Прошли первые тесты протокола на нашей базовой инфраструктуре (те же сервера, базовый тариф). Результаты хорошие, но не идеальные.

Как это работает в ранней версии протокола (сейчас статус: НЕ ГОТОВО К ПРОДУ): попытки подключиться по TCP падают и перебирают настройки под капотом. Причем идут параллельно.

Формально это сборник всех протоколов приложения существующего, но фактически просто ядро со всеми доступными транспортами и протоколами.

Получается, что тесты на максимальную скорость, доступность и SNI (в реальном времени меняется) происходят идут на базе протокола, а не приложения.

Пока еще не делали сравнение с Hysteria 2. Сделаем — опубликуем пост.

И, кстати: скооее всего исходники приложения будут открыты, чего требует лицензия для работы приложения с Mihomo/Sing-box

Ну и ядра, возможно.
🔥13❤3👏2👍1
Запускаем свой собственный DNS-сервис в режиме бета-тестирования

Он шифрует DNS-запросы и блокирует рекламные, трекинговые и вредоносные домены

Адрес DoH:


https://dns.stealthsurflabs.com/dns-query


• История DNS-запросов не сохраняется
• Контентные ограничения не используются: сервис не блокирует взрослые сайты, соцсети, VPN и другие категории

Важно: это адрес защищённого DNS-over-HTTPS, его нельзя вводить как обычный IP-адрес DNS

Реклама внутри YouTube и некоторых приложений может остаться — её невозможно надёжно убрать на уровне DNS

Если после подключения перестал открываться сайт или приложение — сообщите нам его название и вашего провайдера
15❤28
Проводим внутреннее тестирование своего игрового решения (а-ля ExitLag/GearUP). Спойлер: всё очень даже хорошо

Мы реализовали бинарник, который управляет агентами (= серверами) на базе Hysteria2. Примерная схема:


Client ── Relay A ──┐
├── sticky Exit ── Game
Client ── Relay B ──┘
Relay C — reserve


На тестовой инфраструктуре без части зарубежных exit-нод результаты уже неплохие: пинг такой же или чуть ниже, пакетлосс отсутствует полностью, игра работает (если она заблокирована. Пример: Fortnite)

Совместить три вышеперечисленных аспекта в условиях РУ-интернета — сложно, но, кажется, у нас получилось

Некоторым пользователям сервиса через несколько дней будет предоставлен закрытый доступ к внутреннему билду приложения

Игры нужно добавлять вручную, это не VPN на всю систему

Важно: подобный функционал строится исключительно на собственных решениях, поэтому работать он будет только в приложении StealthSurf VPN на Windows. Кроме того, из коробки можно будет использовать любой конфиг совместно с игровым ускорителем — они не будут конфликтовать
15❤24😱1
StealthSurf for Developers
Проводим внутреннее тестирование своего игрового решения (а-ля ExitLag/GearUP). Спойлер: всё очень даже хорошо Мы реализовали бинарник, который управляет агентами (= серверами) на базе Hysteria2. Примерная схема: Client ── Relay A ──┐ …
Серверный агент теперь open-source

Он отвечает за relay и exit серверы с полным описанием архитектуры. Дополнительно описали код для агентов (архитектуру, доку, конфиги, деплой и т.д)

Лицензия: Apache 2.0
❤9
Выпускаем обновление awg-server до версии 1.0.6

Ключевое: мы превратили проект из AWG 2.0-only сервера в полноценный migration-ready сервер под AmneziaWG 3.1.

• Добавили одновременную поддержку клиентов AWG 2.0 и 3.1. Старые клиенты остаются 2.0, новые по умолчанию создаются как 3.1
• Добавили явную миграцию клиента между версиями. После перехода конфигурацию клиента нужно скачать и импортировать заново
• Реализовали приватное хранение Header Protection Key для 3.1 без утечек через API, логи и аргументы процессов.
• Сделали version-aware пул интерфейсов: совместимые клиенты используют общий интерфейс, а 2.0 и 3.1 никогда не смешиваются
• Добавили все новые параметры AWG 3.1, ranges/toggles и их канонизацию
• Полностью переработали установщик: обновление amneziawg-tools и DKMS/kernel module, reload модуля, bounded runtime-probe на динамическом UDP-порту, read-back параметров и cleanup
• Сделали fail-stopped recovery: непроверенный сервис остаётся остановленным и отключённым от автозапуска даже после reboot
• Автозапуск включается только после /health и авторизованного /api/clients
• Усилили persistence, restore preflight, rollback и garbage collection приватных профилей
• Подготовили новый release pipeline с отдельными awg-server-awg31-* бинарниками и Ed25519-подписью
• Обновили README, API/configuration/installation/CI документацию и правила для AI-агентов.
• Убрали дублирующиеся тесты, сохранив критические migration/runtime/recovery проверки

Ссылка на релиз
1🔥13
Запускаем новый эксперимент на аудиторию этого канала

Добавили поддержку протокола OpenFlux, который позволяет работать в зоне белого интернета через документ Яндекса или токен от Max. Рекомендуем использовать именно документ Яндекса

Поддерживается только в приложении StealthSurf VPN для iOS с версии 1.0.18 (38) и новее. Кто хочет — соберите ядро под Android/Windows/macOS самостоятельно (мы сделаем это позднее, пока только iOS)

Для появления протокола необходимо выполнить код в консоли сайта:


localStorage.setItem("isOpenFluxEnabled", "true");
location.reload();


Далее выбираем зарубежку и ставим OpenFlux. Предварительно загрузите документ (любой Word-файл) на Диск и отключите новый редактор. Затем откройте файл, нажмите «Поделиться» и скопируйте ссылку

Автор протокола: https://github.com/p1neappleXpress/OpenFlux
❤13
StealthSurf for Developers
Из нюансов: это именно эксперимент. Протокол нестабильный и часто запускается со второго или третьего раза Особенности прописаны в консоли
Яндекс может закрывать соединение, в связи с чем необходимо пересоздавать ссылку или менять сервер (чтобы изменился подключаемый IP). Однако, если подключиться и сидеть часами, проблем нет
1👍13❤3