
Зашифрованная одноранговая mesh-сеть VPN для удаленной мобильной криминалистики, обеспечивающая беспроводное получение данных через ADB и libimobiledevice, мониторинг сети и обнаружение вторжений через NAT и брандмауэры.
MESH — это сетевой инструмент для поддержки удалённого логического сбора данных с мобильных устройств.
MESH предоставляет аналитикам прямой, зашифрованный путь к мобильным устройствам для беспроводной отладки, мониторинга сети и криминалистического сбора, даже если эти устройства находятся за NAT, брандмауэрами или ограничительными мобильными сетями. Он строит частный оверлей, благодаря которому удалённое устройство ведёт себя так, как если бы оно находилось в той же локальной подсети. Для этого не требуются центральные VPN-серверы, проброс портов и постоянная инфраструктура для поддержки или защиты. Это обеспечивает простой и лёгкий удалённый мониторинг сети и сбор данных через Интернет совместно с такими инструментами, как MVT и AndroidQF.
Сети (Mesh) эфемерны и контролируются аналитиком: подключайте устройства, собирайте данные, затем разрушайте сеть. Ничего не остаётся работать, что помогает избежать отслеживания активности.
[!IMPORTANT] Публичная альфа: В настоящее время находится в публичной альфа-версии и активно разрабатывается. Проведён полный сторонний пентест, и все основные уязвимости исправлены. Возможны изменения и критические обновления. Для работы требуется определённый уровень технической экспертизы. Сообщайте об ошибках или проблемах безопасности через GitHub Issues.
Полная документация:
https://docs.meshforensics.org/
docker compose, не устаревший docker-compose). Инструкция по установке.sudo snap install task --classicbrew install go-task[!NOTE] Большинство операций во время выполнения работают с обычным
docker compose, но интерактивные задачи настройки (управление.env, шаблоны конфигурации, ротация ключей аутентификации) требуют go-task.
git clone https://github.com/BARGHEST-ngo/mesh.git
cd MESH
task build
task controlPlane
task controlPlane проведёт вас через интерактивную настройку и запустит все необходимые службы. Для большинства пользователей выбор Ephemeral с Automatic доменом — рекомендуемый путь: он не требует настройки сервера или DNS.
Выберите тип развёртывания. Эфемерная управляющая плоскость работает на вашей рабочей станции и доступна через Интернет по защищённому туннелю. Постоянная управляющая плоскость запускается на выделенном сервере, доступном из Интернета, которым вы управляете.
Выберите домен. Выбор Automatic позволяет MESH автоматически предоставить публичный HTTPS-адрес. Выберите Manual, если хотите использовать собственный домен.
Введите API-ключ. Если вы выбрали Automatic домен, вам будет предложено ввести API-ключ. Его предоставит команда Barghest — свяжитесь с нами, чтобы запросить доступ.
Подтвердите конфигурацию. Просмотрите сгенерированные настройки перед запуском MESH.
Если эти настройки неверны или настройка была прервана, удалите .env и снова выполните task controlPlane.
CONTROL_PLANE_TYPE=Ephemeral
PROXY_DOMAIN_TYPE=Automatic
MESH_SUBDOMAIN=<random 10 character slug>
FRP_AUTH_TOKEN=<secret token>
CONTROL_PLANE_URL=https://<slug>.tunnels.meshforensics.app
LOGIN_URL=https://<slug>.tunnels.meshforensics.app
Контейнеры запускаются, и генерируется API-ключ. Как только все службы станут работоспособными, MESH выведет одноразовый API-ключ для входа в веб-интерфейс.
Control plane API key (enter this in the web UI to log in):
<SECRET API KEY>
Перейдите по URL вашей управляющей плоскости и введите API-ключ при запросе для входа.
https://<slug>.tunnels.meshforensics.app
Веб-интерфейс обслуживается по HTTPS с сертификатом, автоматически выпущенным Let's Encrypt.
[!IMPORTANT] По умолчанию ACL разрешает узлам каждой сети общаться друг с другом. Для продуктивных развёртываний следует использовать ограничительные политики. Измените их через вкладку ACL.

Теперь ваша сеть MESH готова принимать узлы.
Смотрите документацию по регистрации узлов и рабочим процессам криминалистики.
task down уничтожает сеть MESH, отключая всех пользователей, и, если вы выбрали Ephemeral развёртывание с Automatic доменом, эти данные и все следы удаляются и становятся недоступными.
MESH — это сильно модифицированный форк протокола Tailscale, но ему не требуется инфраструктура Tailscale.
Для установления однорангового, сквозного зашифрованного канала используется UDP hole punching. Если UDP недоступен или заблокирован, происходит переход на E2EE HTTPS-ретрансляторы, называемые DERP-серверами. Протокол DERP DERP (Designated Encrypted Relay for Packets) серверы ретранслируют трафик между узлами, когда прямое одноранговое соединение не может быть установлено.
MESH следует той же модели. По умолчанию, если оператор не настроил собственную инфраструктуру DERP (что можно сделать с помощью управляющей плоскости MESH), MESH использует публичные DERP-серверы Tailscale для обеспечения надёжного соединения, особенно в ограничительных сетевых средах. Однако MESH не требует инфраструктуры Tailscale: операторы могут развернуть и использовать собственные DERP-серверы через управляющую плоскость, которая включает встроенную реализацию DERP. Это делает MESH полностью самодостаточным при необходимости.
DERP-серверы действуют исключительно как транспортные ретрансляторы. Они обеспечивают связь между устройствами, но не имеют доступа к передаваемым данным, которые остаются зашифрованными от начала до конца.
Улучшения включают (но не ограничиваются):
Управляющая плоскость отвечает только за обнаружение пиров и обмен ключами. Криминалистический трафик, когда это возможно, передаётся напрямую между конечными точками.



Традиционные VPN и архитектуры «звезда» вводят:
MESH разделяет координацию и транспорт данных:
MESH оптимизирован для временных сред с высоким риском, а не для постоянных корпоративных сетей.
android-client — APK-клиент для Androidcontrol-plane — Сервер координацииanalyst — CLI-клиент аналитикаРабочий процесс:
mesh-analyst-client.main.MESH лицензирован под GNU Affero General Public License v3.0 или более поздней (AGPL-3.0-or-later).
Части этого программного обеспечения являются производной работой Tailscale, который лицензирован под лицензией BSD 3-Clause. Оригинальные авторские права Tailscale и лицензия сохранены в соответствии с требованиями BSD-3-Clause. Код AmneziaWG/Wireguard лицензирован под лицензией MIT. См. .licenses/ для подробностей.
Все модификации и дополнения от BARGHEST защищены авторским правом (c) BARGHEST и лицензированы под AGPL-3.0-or-later.
WireGuard является зарегистрированным товарным знаком Jason A. Donenfeld.