Skip to content
Эта страница создана и переведена с помощью ИИ. Если вы заметили неточности, помогите нам улучшить её. Редактировать на GitHub

Signal

Подключение PRX к Signal через демон signal-cli с API JSON-RPC и SSE для зашифрованного обмена сообщениями в ЛС и группах.

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

  • Номер телефона, зарегистрированный в Signal
  • Установленный и зарегистрированный signal-cli
  • signal-cli, запущенный в режиме демона с включённым HTTP API

Быстрая настройка

1. Установка и регистрация signal-cli

bash
# Установите signal-cli (см. https://github.com/AsamK/signal-cli для последней версии)
# Зарегистрируйте ваш номер телефона
signal-cli -u +1234567890 register
signal-cli -u +1234567890 verify <verification-code>

2. Запуск демона signal-cli

bash
signal-cli -u +1234567890 daemon --http localhost:8686

3. Конфигурация

toml
[channels_config.signal]
http_url = "http://127.0.0.1:8686"
account = "+1234567890"
allowed_from = ["+1987654321", "*"]

4. Проверка

bash
prx channel doctor signal

Справочник конфигурации

ПолеТипПо умолчаниюОписание
http_urlStringобязательныйБазовый URL HTTP-демона signal-cli (например, "http://127.0.0.1:8686")
accountStringобязательныйНомер телефона аккаунта signal-cli в формате E.164 (например, "+1234567890")
group_idStringnullФильтр сообщений по группе. null = принимать все (ЛС и группы). "dm" = только ЛС. Конкретный ID группы = только эта группа
allowed_from[String][]Разрешённые номера отправителей в формате E.164. "*" = разрешить все
ignore_attachmentsboolfalseПропускать сообщения, содержащие только вложения (без текста)
ignore_storiesboolfalseПропускать входящие сообщения историй

Возможности

  • Сквозное шифрование — все сообщения шифруются через Signal Protocol
  • Поддержка ЛС и групп — обработка личных сообщений и групповых разговоров
  • Поток событий SSE — прослушивание через Server-Sent Events на /api/v1/events для доставки в реальном времени
  • Отправка через JSON-RPC — отправка ответов через JSON-RPC на /api/v1/rpc
  • Гибкая фильтрация групп — приём всех сообщений, только ЛС или конкретной группы
  • Обработка вложений — опциональная обработка или пропуск сообщений только с вложениями

Ограничения

  • Требуется запуск signal-cli как отдельного процесса-демона
  • signal-cli должен быть зарегистрирован и верифицирован с действительным номером телефона
  • Один экземпляр signal-cli поддерживает один номер телефона
  • Отправка групповых сообщений требует членства аккаунта signal-cli в группе
  • signal-cli — это Java-приложение с собственными требованиями к ресурсам

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

Не удаётся подключиться к signal-cli

  • Убедитесь, что демон signal-cli работает: curl http://127.0.0.1:8686/api/v1/about
  • Проверьте, что http_url соответствует адресу и порту демона
  • Убедитесь, что правила файрвола не блокируют подключение

Сообщения из групп игнорируются

  • Проверьте фильтр group_id — если установлен "dm", групповые сообщения исключаются
  • Если задан конкретный ID группы, принимаются сообщения только из этой группы
  • Установите group_id в null (или опустите) для приёма всех сообщений

Сообщения только с вложениями пропускаются

  • Это ожидаемое поведение при ignore_attachments = true
  • Установите ignore_attachments = false для обработки сообщений только с вложениями

Released under the Apache-2.0 License.