Jackjackbits/Bitgat: Bluetooth -сетка чат, IRC Vibes

Безопасное, децентрализованное, одноранговое приложение для обмена сообщениями, которое работает над сетями Bluetooth. Никакого интернета не требуется, нет серверов, нет номеров телефонных номеров – просто чисто зашифрованное общение.

Этот проект выпущен в общественном достоянии. Увидеть ЛИЦЕНЗИЯ Файл для деталей.

  • Децентрализованная сетчатая сеть: Автоматическое обнаружение со стороны сверстников и реле сообщений с несколькими хопами над Bluetooth LE
  • Сквозное шифрование: X25519 Exchange + AES-256-GCM для личных сообщений
  • Комнатные чаты: Тематические групповые сообщения с дополнительной защитой пароля
  • Магазин и вперед: Сообщения, кэшируемые для автономных сверстников и доставляются, когда они воссоединяются
  • Конфиденциальность сначала: Нет учетных записей, нет телефонов, нет постоянных идентификаторов
  • Команды в стиле IRC: Привычный /joinВ /msgВ /who интерфейс стиля
  • Удержание сообщения: Дополнительное сохранение сообщений в комнате, контролируемое владельцами комнат
  • Универсальное приложение: Нативная поддержка iOS и MacOS
  • Покрыть трафик: Запутывание времени и фиктивные сообщения для повышения конфиденциальности
  • Аварийная вытирание: Triple-Tap, чтобы мгновенно очистить все данные
  • Оптимизация производительности: Сжатие сообщений LZ4, адаптивные режимы аккумулятора и оптимизированные сети

Вариант 1: Использование Xcodegen (рекомендуется)

  1. Установите Xcodegen, если вы еще этого не сделали:

  2. Генерировать проект XCode:

    cd bitchat
    xcodegen generate
  3. Откройте сгенерированный проект:

Вариант 2: Использование Swift Package Manager

  1. Откройте проект в Xcode:

    cd bitchat
    open Package.swift
  2. Выберите целевое устройство и запустите

Вариант 3: Ручной проект XCODE

  1. Откройте Xcode и создайте новое приложение iOS/macOS
  2. Скопируйте все файлы Swift из bitchat каталог в ваш проект
  3. Обновление info.plist с разрешениями Bluetooth
  4. Установите цель развертывания в iOS 16.0 / macOS 13.0
  • /j #room – Присоединяйтесь или создайте комнату
  • /m @user message – Отправить личное сообщение
  • /w – Список пользователей онлайн
  • /rooms – Показать все обнаруженные комнаты
  • /clear – Очистить сообщения чата
  • /pass [password] – Установить/сменить пароль комнаты (только владелец)
  • /transfer @user – Переводная владение комнатой
  • /save – Переключить сохранение сообщения для комнаты (только владелец)
  1. Запустите сучку на вашем устройстве
  2. Установите свое прозвище (или используйте автоматическую сгенерированную)
  3. Вы автоматически подключитесь к близлежащим сверстникам
  4. Присоединиться к комнате с /j #general или начать общаться на публике
  5. Сообщения передаются через сеть сетки, чтобы достичь отдаленных сверстников
  • Защита пароля: Владельцы комнат могут устанавливать пароли с /pass
  • Удержание сообщения: Владельцы могут обеспечить обязательное сохранение сообщений с /save
  • @ Упоминает: Использовать @nickname Упомянуть пользователей (с автозаполнением)
  • Перевод права собственности: Передайте управление доверенным пользователям с /transfer
  • Частные сообщения: X25519 Обмен ключами + шифрование AES-256-GCM
  • Сообщения комнаты: Аргин2D Defsall The Derovation + AES-256-GCM
  • Цифровые подписи: ED25519 для подлинности сообщений
  • Впередная секретность: Новые пары ключей сгенерировали каждый сеанс
  • Нет регистрации: Нет учетных записей, электронных писем или телефонов
  • Эфемерный по умолчанию: Сообщения существуют только в памяти устройства
  • Покрыть трафик: Случайные задержки и фиктивные сообщения предотвращают анализ трафика
  • Аварийная вытирание: Логотип с тройным натапностью, чтобы мгновенно очистить все данные
  • Местный первый: Работает полностью в автономном режиме, не связаны с серверами
  • LZ4 сжатие: Автоматическое сжатие для сообщений> 100 байтов
  • 30-70% сбережения полосы пропускания На типичных текстовых сообщениях
  • Умное сжатие: Пропускает уже сжатые данные
  • Адаптивные режимы мощности: Автоматически настраиваются на основе уровня батареи
    • Режим производительности: полные функции при зарядке или> 60% батареи
    • Сбалансированный режим: работа по умолчанию (30-60% батарея)
    • Saver Power: уменьшенное сканирование, когда <30% батарея
    • Ультра-низкий питание: аварийный режим, когда <10% батарея
  • Фоновая эффективность: Автоматическая сохранение питания при фоне приложения
  • Настраиваемое сканирование: Рабочее цикл адаптируется к состоянию батареи
  • Оптимизированные фильтры цветения: Более быстрое повторное обнаружение с меньшим количеством памяти
  • Агрегация сообщений: Партии небольшие сообщения для уменьшения передач
  • Адаптивные лимиты соединения: Регулирует составные соединения на основе режима питания
Read more:  Бой Юбэнк-младший против Бенна 26 апреля на стадионе «Шпор»

Bitchat использует эффективный бинарный протокол, оптимизированный для Bluetooth LE:

  • Компактный формат пакета с полем 1-байтового типа
  • Маршрутизация сообщений на основе TTL (макс 7 хмеля)
  • Автоматическая фрагментация для больших сообщений
  • Дедупликация сообщения через уникальные идентификаторы
  • Каждое устройство действует как клиент и периферийные
  • Автоматическое обнаружение сверстников и управление соединением
  • Хранить и отправиться в автономную доставку сообщений
  • Адаптивная служба для оптимизации батареи

Для получения подробной документации по протоколу см. Технический белый документПолем

  1. Установите свою команду разработчиков в настройках проекта
  2. Настройка подписания кода
  3. Архивируйте и распространяются через App Store или Testflight

Протокол предназначен для платформы. Клиент Android может быть построен с помощью:

  • Bluetooth Le Apis
  • Та же самая структура и шифрование
  • Совместимый сервис/характерные Uuids

2025-07-07 00:05:00


1751851448
#JackjackbitsBitgat #Bluetooth #сетка #чат #IRC #Vibes

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.