← duga.pw наверх
← duga.pwнаверх

Как пользоваться Duga

Одна страница обо всём проекте: сайт, приложения на всех платформах, переписка, приватность, связь без интернета, рации, свой сервер, звонки. Каждое утверждение здесь проверено по исходному коду проекта — что не подтвердилось, в текст не попало.

без номера телефона и почты сквозное шифрование работает и без интернета свой сервер по желанию

1. Что такое Duga

Duga — мессенджер без привязки к номеру телефона или почте: учётная запись — это ключ, который создаётся прямо на вашем устройстве, а не на чужом сервере. Из этого ключа выводится Duga-ID — им вас находят собеседники.

Главный принцип: связь работает и без интернета, а сервер — только помощник. Если рядом есть другой телефон с Duga, сообщение может дойти напрямую — по Wi-Fi, по Bluetooth, эстафетой через чужие телефоны или по радио. Сервер Duga ускоряет доставку и хранит письма для тех, кто сейчас выключен, но не является единственным путём, которым может пойти переписка. В приложении это можно проверить руками: режим «Только офлайн» (Настройки → Безопасность) полностью отключает соединение с сервером, а переписка с теми, кто рядом, продолжает работать.

Чем ещё отличается от привычных мессенджеров:

2. С чего начать: какая версия нужна

У Duga нет единого «правильного» способа начать — версия зависит от того, чем вы пользуетесь и нужна ли вам связь совсем без сети.

ПлатформаГде взятьОсобенность
Веб-версияapp.duga.pw, любой браузер ничего не ставить; офлайн-связь (Bluetooth, Wi-Fi Direct, рация, радио) в браузере не работает — это ограничение самого браузера
Android — обычнаяduga-android.apk на duga.pw несколько мегабайт; через интернет, а без него — напрямую между телефонами: общий Wi-Fi, раздача, Wi-Fi Direct без роутера, Bluetooth. Хватает почти всем
Android — с дальней сетьюduga-android-mesh.apk там же около 30 МБ; всё то же самое плюс радиосвязь LoRa на километры и эстафета через чужие узлы-ретрансляторы (нужен радиомодуль RNode). Внутри настоящий Python — отсюда и размер
Windows / macOSzip-архив на duga.pw распаковать и запустить, см. раздел 9
Linuxduga-linux.AppImage chmod +x и запуск; нужен установленный python3 (в большинстве дистрибутивов уже есть)
iPhone (iOS) пока не готово, кнопка на сайте помечена «скоро» — честно об этом ещё раз в разделе «Чего пока нет»
Обе Android-сборки подписаны одним ключом разработчика: можно поставить одну поверх другой, переписка и ключи сохранятся.

3. Первый вход: как заводится личность

6–7 сентября 2026 года разработчик поменял, как заводится учётная запись — страница описывает то, что реально показывает экран входа сейчас, и оба пути, старый и новый.

Как это выглядит сегодня: имя и PIN, без видимого ключа

На экране входа нажимаете «Создать аккаунт» (или отдельную кнопку «Создать без сети» — сейчас они ведут в один и тот же сценарий) и вводите:

  1. Имя

    Как вас будут видеть собеседники.

  2. PIN или пароль для этого устройства

    Не короче четырёх знаков, дважды. Этим PIN шифруются ваши ключи прямо на этом устройстве — сервер о нём не знает и его не проверяет.

Дальше приложение честно пишет «Рождаю ключи…»: они создаются локально, Duga-ID появляется сразу, и писать по локальной сети и радио можно немедленно — ещё до всякой связи с сервером. Ключ входа при этом на экране не показывается и копировать его не нужно — раньше было иначе, но в клиенте, который сейчас отдаётся сайтом, это устроено так. Регистрация на сервере (чтобы вас находили и чтобы сообщения доходили, когда прямой связи нет) — отдельный, более поздний шаг: адрес от него не меняется, публикуется уже существующий ключ. Если есть интернет, это обычно происходит само, через одну-две секунды после создания; вручную — кнопкой «Опубликовать личность на сервере» в Настройках → Безопасность.

Если ключ входа уже есть (прежний способ)

Классический способ никуда не делся: поле «Ключ входа» и кнопка «Войти» на экране входа по-прежнему принимают ключ, полученный раньше при регистрации таким способом. Так же можно войти на новом устройстве, если такой ключ у вас сохранён.

Второе устройство: вход по QR

Если личность заведена по-новому (видимого ключа нет), добавить второе устройство можно только так: на новом устройстве нажмите «Войти по QR» — оно покажет код (в нём нет секретов, только разовый публичный ключ); на уже вошедшем устройстве этот код снимают камерой и сверяют отпечаток на обоих экранах — это защита от того, что кто-то чужой подставит вам свой код вместо своего. Новое устройство получает отдельный, отзывный ключ входа: его можно в любой момент отозвать в списке «Устройства, которым выписан ключ» (Настройки → Безопасность), не трогая остальные устройства.

Если это устройство уже помнит старую учётную запись

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

Резервные копии на случай потери устройства

Насколько на самом деле защищён ключ, которым запечатана переписка, и что для этого нужно сделать дополнительно — честно разобрано в разделе 5.

Двухэтапная проверка

В Настройках → Безопасность можно включить дополнительную проверку при входе с нового устройства — PIN-код или код из приложения-аутентификатора (TOTP). Это отдельная настройка, не то же самое, что PIN этого устройства из раздела выше.

4. Переписка

Кнопка «Создать» (значок +) открывает всё, что можно завести: добавить контакт, новую группу, новый канал, найти канал по поиску, список рассылки, новое сообщество, добавить историю, ленту «Моменты», инкогнито-профиль, «Избранное» (заметки самому себе) и обратную связь разработчику.

Виды переписки

ЧтоОсобенность
Личные сообщениятекст, голосовые, вложения, стикеры
Группыто же самое плюс опросы — опрос можно создать только в группе
Каналыпубличное вещание на подписчиков; можно найти чужой канал через поиск
Сообществаобъединяют несколько групп под общей «крышей»
Списки рассылкиотдельная сущность для массовой рассылки одного и того же текста
Истории и «Моменты»история у контакта живёт ограниченное время; «Моменты» — общая лента
Инкогнито-профильотдельная временная личность для анонимного общения

Вложения

Кнопка «Вложение» в чате открывает: фото, видео, файл, видео-кружок, геопозицию, фото со спойлером, эффект и отложенную отправку — во всех разговорах; и ещё три пункта только в личных сообщениях — альбом, фото «один раз» (исчезает после просмотра) и живую геопозицию.

Перевод и свои боты

В Настройках → «Язык и перевод» отдельно друг от друга настраиваются язык самого интерфейса приложения и язык, на который переводятся чужие сообщения — можно включить автоматический перевод входящих. В Настройках → «Боты» можно создать собственного бота — со своим кодом и правилами.

5. Приватность и безопасность простыми словами

Что шифруется и что видит сервер — включая то, что пока не идеально

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

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

С обновления начала сентября 2026 года есть отдельная схема (Настройки → Безопасность → «Личность и это устройство»): корневой секрет выводит ключ печати, который никогда не покидает устройство, отдельно от ключа входа. Личности, заведённые по-новому (раздел 3), печатают новые сообщения уже так. Но и для них старая, ещё расшифровываемая копия по умолчанию остаётся на сервере «на случай отката» — полностью закрыть эту лазейку можно только отдельным, необратимым шагом: кнопкой «Завершить переход» на том же экране, после которой сервер прежнюю копию уничтожает.

Короче: содержимое переписки сервер прочитать не может, а вот ключ, которым она запечатана, — пока может, если вы не перенесли личность и не завершили переход. Экран «Личность и это устройство» в любой момент честно показывает, что именно сейчас лежит на сервере у вашей учётной записи.

Что можно настроить самому

PIN-замок приложения (это отдельная настройка от PIN личности)

Это не тот же PIN, что задаётся при создании личности (раздел 3) и шифрует ключи на диске, — необязательный замок поверх уже открытого приложения. Он закрывает экран и выгружает ключ переписки из памяти: пока код не введён, приложение физически ничего не расшифровывает. Честно о границах защиты — так, как это прямо написано в самом приложении: если на устройстве нет отдельного защищённого сейфа системы, база переписки на диске остаётся незашифрованной, и человек с доступом к самому устройству или профилю браузера прочитает её в обход PIN. От случайного взгляда PIN защищает, от изъятия устройства — нет.

Дополнительно доступен тревожный (принудительный) PIN: при вводе на экране блокировки он показывает пустой профиль вместо настоящего. И «быстрый выход» — сочетание Ctrl+Shift+X мгновенно блокирует приложение.

Доверенные устройства и их отзыв

В приложении (не в браузере) есть раздел «Устройства с доступом»: переписка хранится на телефоне, а браузеру можно временно разрешить доступ по QR-коду. Разрешение можно отозвать в любой момент — тогда переписка в том браузере исчезнет, а на телефоне останется нетронутой. Это отдельный список от «Устройств, которым выписан ключ» из раздела 3 — тот про вход по QR на новых устройствах, этот — про временный доступ браузеру.

Если телефон потерян

  1. Если есть доступ с другого устройства — сразу отзовите доступ у синхронизированных браузеров в разделе «Устройства с доступом».
  2. На новом устройстве войдите тем же ключом входа и восстановите прошлую переписку кодом восстановления (или из Duga Safe, если он делался).
  3. Если ключ входа (или PIN этого устройства — смотря как заведена личность) нигде не сохранён и не перенесён на другое устройство — доступ к учётной записи восстановить нельзя: он есть только у владельца и нигде больше не хранится.

6. Связь без интернета

Bluetooth, Wi-Fi Direct, рация, интерком и дальняя радиосеть из этого раздела — только в приложении для Android; в браузере их нет и не будет — это ограничение самого браузера, а не наше решение. Настольное приложение (Windows/macOS) с версии 1.2.2 получило свой, более узкий кусок этого раздела — локальную сеть и эстафету, без Bluetooth и радио: подробности в разделе 9.

Что работает рядом, без роутера и без сервера

Дальняя сеть (радио LoRa)

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

Режим «Только офлайн»

Полностью отключает соединение с сервером (Настройки → Безопасность). Связь с теми, кто рядом, продолжает работать — это тот самый принцип из раздела 1, который можно проверить руками.

Сеть любого масштаба: узел на роутере

Телефоны находят друг друга широковещательным пакетом, а такой пакет живёт ровно в одной подсети — первый же роутер его отбрасывает. Поэтому просто поставить два роутера рядом недостаточно, чтобы телефоны за ними увидели друг друга.

Решение — программный узел Duga на роутере (там, где это позволяет прошивка, например OpenWrt) или на любом мини-ПК рядом с ним. В своей подсети узел находит телефоны сам, без всякой настройки на телефоне; с соседним узлом он соединяется по обычному сетевому адресу — а это роутер уже пропускает. Сколько бы участков сети ни было, сообщение проходит по цепочке узлов. Узел также держит накопитель: письмо для выключенного адресата полежит на узле и уйдёт, как только тот появится.

НужноЗначение
Устройствомини-ПК, одноплатник или роутер с Linux и Python 3.7+
Интернетне нужен нигде и никогда
Постоянный адресобязателен, закрепляется в настройках роутера

Настройка на самом узле — два отдельных каталога: один для сетевой программы (rnsd), другой для накопителя писем (lxmd). Обе программы читают файл с именем config в своём каталоге; если положить их в один каталог, накопитель молча останется выключенным. Обе программы ставятся автозапуском (systemd) и держат связь постоянно.

На телефоне, если он в другой подсети, чем узел: Duga → «Связь без интернета» → «Через роутеры: сеть любого масштаба» → «Вписать узел дальней сети» — указать адрес узла и порт 4242.

Чего узел на роутере не делает: не читает переписку (несёт только запечатанные конверты, ключей у него нет), не заменяет сервер (учётные записи, поиск людей и группы — не его дело) и не даёт интернета — вся его задача в том, чтобы работать без интернета.

7. Рации и платы

Duga умеет работать и как настоящая радио-рация на отдельной маленькой плате: две такие платы слышат друг друга напрямую по радио LoRa (диапазон 868 МГц и близкие к нему по региону) — без вышек сотовой связи и без роутера. Это отдельное железное устройство, не телефон.

Heltec V3Heltec V4Heltec T114
ЭкранOLED, чёрно-белыйOLED, чёрно-белыйцветной
Мощность передатчика22 дБм~28 дБм (с усилителем)
Wi-Fi и шлюз в интернет-серверестьестьнет
Разъём GPSнетестьесть
V3 и V4 внешне почти неотличимы, а прошивки у них разные: плата V4 с прошивкой от V3 включится и отчитается об успехе, но не включит усилитель мощности — и её просто не услышат на нужном расстоянии. После прошивки сверяйте имя платы на экране.

Полная инструкция по платам — 21 раздел с картинками: первое включение, экран и кнопки, меню, подключение телефона по Bluetooth, Wi-Fi, шлюз в интернет-сервер, знакомство плат между собой, тревога и маяк спасения, настройки по номерам, особенности T114, устранение неполадок, как защищена переписка, — вся она здесь не повторяется, а лежит отдельно:

→ Инструкция по платам /instrukciya/ → Прошить рацию из браузера

Прошивка V3 и V4 — по кабелю прямо в Chrome, ничего ставить не нужно. Для T114 там же лежит файл и короткое объяснение.

8. Свой сервер

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

Кому это нужно: тем, кому важен контроль над сервером, или сети, которая должна жить полностью автономно (например, без доступа к общему интернету вообще).

Код мессенджера один и тот же, что в основном сервисе duga.pw, что в самостоятельной установке.

Чем самостоятельная сборка честно отличается от нашего сервера

В самостоятельную редакцию физически не входят: Магазин, Игры и мини-приложения, Кошелёк, Duga Premium и звёзды, подарки, платные каналы, ассистент с языковой моделью и песочница ботов — это редакция «только связь», без извинений. Звонки, наоборот, входят: выключены по умолчанию, включаются отдельно и требуют двух открытых портов наружу — подробности и предупреждение про собеседника с одним портом 443 разобраны на странице «Свой сервер» ниже. Переписка, группы, каналы, вложения и уведомления работают без урезаний.

Как поставить

Установка — одной командой поверх Docker, три способа получить работающий HTTPS-сертификат (свой домен, бесплатный адрес вида sslip.io без домена, или полностью офлайн со своим корневым сертификатом) и код владельца, который выдаётся один раз при установке. Подробная пошаговая инструкция и все технические детали — на отдельной странице, здесь она не дублируется:

→ Поставить свой сервер /svoy-server/

9. Настольное приложение (Windows и macOS)

С версии 1.2.2 приложение — не только окно веб-версии. Личность заводится прямо на устройстве, без всякой сети (тот же порядок, что в разделе 3), а второе устройство подключается по QR оттуда же. Появился и кусок офлайн-связи из раздела 6: компьютер сам находит рядом другие устройства Duga в локальной сети и передаёт им сообщения напрямую, минуя сервер; если получателя нет рядом — несёт письмо с собой и отдаёт при встрече (эстафета). Тот же способ связи, что у приложения для телефона: компьютер и телефон в одной сети видят друг друга. Bluetooth, Wi-Fi Direct и радио LoRa по-прежнему только в Android — этими радиомодулями и разрешениями управляет операционная система телефона, у компьютера их нет.

Windows

  1. Распаковать

    Архив — в папку без кириллицы в пути, например C:\Duga\.

  2. Запустить

    Duga.exe.

  3. Пройти предупреждение системы

    Windows SmartScreen покажет «Windows защитила ваш компьютер» — это не значит, что приложение вредоносно, а значит, что оно не подписано платным сертификатом Microsoft. Нажмите «Подробнее» → «Выполнить в любом случае».

macOS

  1. Распаковать

    Перетащить Duga.app в «Программы».

  2. Снять карантин

    Приложение подписано собственной (ad-hoc) подписью и не заверено у Apple: скачанный файл получает метку карантина, и macOS откажется его открывать со словами «повреждено». Решение — одна строка в Терминале:

    xattr -dr com.apple.quarantine /Applications/Duga.app

    После этого — обычный двойной щелчок. Либо без Терминала: правый щелчок по Duga.app → «Открыть» → «Открыть» ещё раз.

Как указать свой сервер

Меню «Сервер» → «Добавить сервер…», в поле — адрес шлюза вида wss://мой-сервер.ру/ws (или ws://192.168.1.10:8765 для сервера в локальной сети). Кнопка «Сохранить» включится только после успешной проверки связи. У каждого добавленного сервера — своё, полностью отдельное хранилище: ключи и переписка одного сервера физически недоступны другому.

Данные приложения хранятся в папке профиля: Windows — %APPDATA%\Duga, macOS — ~/Library/Application Support/Duga; открыть её можно через меню «Помощь → Папка данных приложения».

10. Звонки

Звонок один на один (голосом или видео) запускается кнопкой звонка прямо в переписке и идёт через сервер-реле, который скрывает IP-адрес собеседника. Внутри группы отдельно доступна групповая голосовая комната.

Когда звонок может не соединиться

11. Если что-то не работает

ПризнакВероятная причинаЧто сделать
«Неверный ключ входа»опечатка при вводе, либо это ключ от учётной записи на другом сервересверить ключ посимвольно; проверить, что это тот же сервер, где создавали аккаунт
После переустановки старая переписка нечитаемане был создан код восстановления заранееесли код есть — ввести на экране «Восстановление переписки»; если его не было, это необратимо
В браузере не находит никого «рядом», нет кнопки «Рация»в вебе нет доступа к Bluetooth и Wi-Fi Direct — ограничение браузерапоставить приложение для Android
Windows: «Windows защитила ваш компьютер»приложение не подписано платным сертификатом Microsoft«Подробнее» → «Выполнить в любом случае»
macOS: файл «повреждён»карантин macOS на файле без заверения Apple xattr -dr com.apple.quarantine /Applications/Duga.app
Не получается позвонитьсобеседник не в сети, плохой канал, либо свой сервер без сервера-реле для звонковпроверить, что оба на связи; для своего сервера уточнить, поднят ли LiveKit
Никого не видно поблизости в офлайн-режимевыключены Bluetooth/Wi-Fi, либо прошивка телефона ограничивает фоновую работу (MIUI и похожие)включить Bluetooth и Wi-Fi; разрешить фоновую работу через экран, который открывает само приложение
Кнопка «дальняя сеть» ничего не находитнет подключённого радиомодуля RNode, либо стоит не та сборкаубедиться, что установлена duga-android-mesh.apk и RNode подключён
Приложение предупреждает о смене ключа у собеседникасобеседник переустановил приложение, либо это подменасверить ключ или QR лично, не игнорировать предупреждение
Забыт ключ входа, кода восстановления нетключ есть только у владельца и нигде больше не хранитсязаранее, сразу после регистрации, создавать код восстановления и/или копию Duga Safe

12. Частые вопросы и словарь терминов

Нужен ли номер телефона или почта?

Нет. Учётная запись — это ключ, который создаётся на самом устройстве при регистрации, а не привязка к номеру или почте.

Можно ли пользоваться на двух устройствах сразу?

Да, но способ зависит от того, как заведена личность. Если есть сохранённый ключ входа старого образца — введите его на новом устройстве в поле «Ключ входа». Если личность заведена по-новому (видимого ключа нет) — используйте «Войти по QR» с уже вошедшего устройства. Подробнее — раздел 3.

Безопасно ли ставить APK не из магазина приложений?

Файл подписан ключом разработчика. Предупреждение системы при установке — обычная реакция на установку не из официального магазина, а не признак вредоносности.

Можно ли передать приложение другу совсем без интернета?

Да, файл APK можно передать прямо из приложения по Bluetooth или Wi-Fi.

Что перестанет работать, если выключить интернет?

Переписка с теми, кто рядом, продолжит работать (Wi-Fi, Bluetooth, эстафета, радио). Остановится то, для чего действительно нужен сервер: доставка тем, кто далеко, поиск людей по имени и звонки.

Гарантирует ли Duga, что сообщение точно дойдёт?

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

Словарь терминов

Ключ входа
секретный код, заменяющий пару «логин-пароль». У учётных записей прежнего образца показывается один раз при регистрации; при создании личности по-новому (раздел 3) не показывается вовсе — вместо него используется PIN этого устройства, а второе устройство впускают по QR.
Duga-ID
публичный номер учётной записи, производный от ключа входа — по нему вас находят собеседники.
Код восстановления
отдельный одноразово показываемый код, который расшифровывает старую переписку на новом устройстве или после переустановки.
Duga Safe
зашифрованная паролем резервная копия всего аккаунта в файле .dugasafe, которую можно скачивать заново.
Эстафета
перенос чужого зашифрованного сообщения через телефоны-посредники до тех пор, пока оно не встретит адресата.
Узел (сеть без интернета)
программа на роутере или мини-ПК, которая связывает разные подсети напрямую и хранит письма для отключённых адресатов.
LoRa
вид радиосвязи с низкой скоростью, но большой дальностью — километры без вышек сотовой связи.
RNode
радиомодуль, который подключают к телефону, чтобы работала дальняя сеть LoRa.
Шлюз (сервер)
серверная программа, которая принимает соединения приложений и передаёт зашифрованные конверты дальше.
Сквозное (end-to-end) шифрование
способ шифрования, при котором прочитать сообщение может только адресат — сервер по пути его не видит.

Чего пока нет — честно