BlueBubbles (iMessage)

Подключите Hermes к Apple iMessage через BlueBubbles — бесплатный сервер с открытым исходным кодом для macOS, который связывает iMessage с любыми устройствами.

Предварительные требования

Настройка

1. Установите сервер BlueBubbles

Загрузите и установите с bluebubbles.app. Пройдите к основным настройкам — войдите с помощью Apple ID и настройте способ подключения (локальная сеть, Ngrok, Cloudflare или Dynamic DNS).

2. Получите URL-адрес сервера и пароль.

В BlueBubbles Server → ** Настройки → API запишите: - URL-сервер (например, http://192.168.1.10:1234) - Пароль сервера**

3. Настроить Гермес

Запустите мастер настроек:

hermes gateway setup

Выберите BlueBubbles (iMessage) и введите URL-адрес сервера и пароль.

Или задайте переменные окружения непосредственно в ~/.hermes/.env:

BLUEBUBBLES_SERVER_URL=http://192.168.1.10:1234
BLUEBUBBLES_PASSWORD=ваш-пароль-сервера

4. Авторизуйте пользователей

Выберите один из подходов:

Сопряжение через DM (рекомендуется): Когда кто-то отправляет сообщение в ваш iMessage, Hermes автоматически отправляет код соединения. Подтвердите его с помощью:

hermes pairing approve bluebubbles <КОД>

Используйте «список сопряжения Hermes», чтобы просмотреть ожидаемые коды и одобренные пользователи.

Предварительная авторизация конкретных пользователей~/.hermes/.env):

BLUEBUBBLES_ALLOWED_USERS=user@icloud.com,+15551234567

Открытый доступ~/.hermes/.env):

BLUEBUBBLES_ALLOW_ALL_USERS=true

5. Запустить шлюз

hermes gateway run

Hermes подключается к вашему серверу BlueBubbles, регистрирует вебхук и начинает прослушивание сообщений iMessage.

Как это работает

iMessage → Messages.app → BlueBubbles Server → Вебхук → Hermes
Hermes → BlueBubbles REST API → Messages.app → iMessage

Переменные окружения

Переменная Обязательная По умолчанию Описание
BLUEBUBBLES_SERVER_URL Да URL сервера BlueBubbles
BLUEBUBBLES_PASSWORD Да Пароль сервера
BLUEBUBBLES_WEBHOOK_HOST Нет 127.0.0.1 Адрес привязки слушателя вебхука
BLUEBUBBLES_WEBHOOK_PORT Нет 8645 Порт слушателя вебхука
BLUEBUBBLES_WEBHOOK_PATH Нет /bluebubbles-webhook Путь URL вебхука
BLUEBUBBLES_HOME_CHANNEL Нет Телефон/электронная почта для доставки cron
BLUEBUBBLES_ALLOWED_USERS Нет Авторизованные пользователи через запятую
BLUEBUBBLES_ALLOW_ALL_USERS Нет ложь Разрешить всех пользователей

Автоматическая отметка сообщений как прочитанных управляется ключом send_read_receipts в разделе platforms.bluebubbles.extra в ~/.hermes/config.yaml (по умолчанию: true). Соответствующей переменной окружения нет.

Возможности

Текстовые сообщения

Отправляйте и получайте iMessages. Markdown автоматически удаляется для чистой доставки в обычном виде текста.

Богатый медиаконтент

Реакции Tapback

Реакции «Нравится», «Не нравится», «Смех», «Подчеркнуть» и «Вопрос». Требуется помощник Private API BlueBubbles.

Индикаторы набора текста

Показывает «печатает...» в беседе iMessage, пока агент обрабатывает сообщение. Требуется частный API.

Уведомления о прочтении

Автоматически отмечает сообщения как прочитанные после обработки. Требуется частный API.

Адресация чатов

Вы можете адресовать чаты по электронной почте или номеру телефона — Hermes автоматически преобразует их в GUID чатов BlueBubbles. Нет необходимости использовать сырой формат GUID.

Частный API

Некоторые функции требуют помощника Private API BlueBubbles: - Реакции Tapback - Индикаторы набора текста - Уведомления о прочтении - Создание новых чатов по адресу

Без Private API базовая отправка текстовых сообщений и медиа всё равно работает.

Устранение неполадок

«Не даётся уведомить с сервера»

Сообщения не приходят

«Помощник Private API не подключен»