Wolfram
Описание
Языки
- Swift79,1%
- Objective-C20,8%
- C0,1%
Wolfram
Wolfram — нативный VPN-клиент для iPhone на Swift с Packet Tunnel Extension и backend-core на базе sing-box.
Цели проекта
Проект реализует стабильный и расширяемый VPN-клиент с опорой на системные механизмы iOS:
- контейнерное приложение (
)Wolfram - Packet Tunnel Extension (
)WolframPacketTunnel - backend-core (
/ sing-box)Libbox.xcframework
Ключевая идея: бизнес-логика и модель данных остаются backend-agnostic, а extension остается тонким и отвечает только за запуск туннеля и обмен состоянием.
Поддерживаемые протоколы
- VLESS (+ Reality)
- VMess
- Trojan
- Shadowsocks
- SOCKS
- Hysteria2
Функциональность
- Подключение/отключение VPN с управлением выбранным профилем
- Импорт конфигураций по ссылкам и из подписок
- Полноценное управление источниками подписок (создание, редактирование, удаление, скрытый и шифрованный режимы)
- Правила маршрутизации: сценарии + расширенный редактор (
,geoip,geosite,ip_cidr,domain_regex,destination_group,port,network) с локальной валидациейdns_mode - Диагностика качества соединения: health-сигналы, история по окнам час/день/неделя, агрегированные сводки, графики RTT/Jitter/трафика и оценка стабильности по сессиям
- Статистика трафика
- App Intents / App Shortcuts для Action Button
Архитектура
Слои приложения:
— канонические сущности и инвариантыDomain— сценарии, оркестрация состояния, use-case логикаApplication— bridge к sing-box, storage, мониторинги, import/normalizationInfrastructure— SwiftUI экраны и однонаправленный поток состоянияPresentation
Ключевые модули:
— управлениеTunnelControlNETunnelProviderManager— APIEngineBridgeи компиляция runtime-конфигаstart/stop/reload/stats— обновление, нормализация, статусы подписокSubscriptionManager— DSL правил и компиляция в backend-configRuleCompiler— health/traffic телеметрия и агрегацииDiagnostics— короткие команды для Shortcuts и Action ButtonAppIntents
Структура репозитория
— основной iOS targetWolfram/— Packet Tunnel Extension targetWolframPacketTunnel/— backend-coreFrameworks/Libbox.xcframework/— shared код и пакетыPackages/— unit-тестыWolframTests/— UI-тестыWolframUITests/
Требования
- macOS + Xcode 17+
- iOS Simulator runtime 26.2+ (или актуальный поддерживаемый)
- включенные capabilities в Apple Developer профиле:
,Network Extension,App GroupsKeychain Access Groups
Локальный запуск
Сборка:
Если используется Personal Team и недоступна capability , запускайте локальный таргет без extension:
не встраивает , не требует entitlements и автоматически работает через (режим безопасной локальной отладки UI/бизнес-логики).
Unit-тесты:
Полный прогон (unit + UI):
Отчет покрытия:
Качество и тестирование
Минимальные требования для merge:
- успешная сборка
- зеленый прогон WolframTests
- отсутствие регрессий в WolframUITests
- обновленные тесты для новой бизнес-логики
Процесс разработки на GitVerse
Репозиторий сопровождается в GitVerse и использует GitVerse как основную площадку для совместной работы.
- задачи и обсуждения ведутся в GitVerse
- изменения интегрируются через Merge Request
- ревью проводится в GitVerse
GitHub-специфичные процессы не считаются основным каналом сопровождения проекта.
Документация проекта
Безопасность
Если вы нашли уязвимость, не публикуйте ее публично до исправления.
Контакт для disclosure: lightwood-dev@proton.me Подробности: SECURITY.md
Контакты
Почта разработчика: lightwood-dev@proton.me