Matrix Bridges

Bridges дозволяють підключити Matrix до інших месенджерів.

Що таке Bridge

Bridge — це сервіс, що транслює повідомлення між Matrix та іншим протоколом.

Типи bridges

Тип Опис Приклад
Puppeting Один Matrix юзер = один зовнішній Telegram
Relay Один бот для всіх IRC
Double-puppeting Повна синхронізація mautrix

Як працює

[Element] → [Synapse] → [Bridge] → [Telegram API] → [Telegram]
     ←          ←          ←             ←              ←

mautrix-telegram

Встановлення

version: '3.8'

services:
  mautrix-telegram:
    image: dock.mau.dev/mautrix/telegram:latest
    container_name: mautrix-telegram
    restart: unless-stopped
    volumes:
      - ./telegram-data:/data
    depends_on:
      - synapse

Конфігурація

config.yaml:

homeserver:
  address: http://synapse:8008
  domain: example.com

appservice:
  address: http://mautrix-telegram:29317
  hostname: 0.0.0.0
  port: 29317
  database: sqlite:////data/mautrix-telegram.db
  id: telegram
  bot_username: telegrambot
  bot_displayname: Telegram Bridge Bot

telegram:
  api_id: YOUR_API_ID
  api_hash: YOUR_API_HASH
  bot_token: YOUR_BOT_TOKEN

bridge:
  username_template: "telegram_{userid}"
  displayname_template: "{displayname} (Telegram)"
  allow_puppet_invite: true

  permissions:
    "*": "relaybot"
    "@admin:example.com": "admin"

Отримання Telegram API

  1. Перейти на https://my.telegram.org
  2. Увійти
  3. API development tools
  4. Create application
  5. Скопіювати api_id та api_hash

Реєстрація

# Згенерувати registration
docker exec mautrix-telegram python -m mautrix_telegram \
  -g -c /data/config.yaml -r /data/registration.yaml

# Скопіювати registration до Synapse
cp telegram-data/registration.yaml synapse-data/telegram-registration.yaml

Додати до homeserver.yaml:

app_service_config_files:
  - /data/telegram-registration.yaml

Використання

# Почати діалог з ботом
@telegrambot:example.com

# Увійти
!tg login +380XXXXXXXXX

# Ввести код
!tg code 12345

# Створити портал з чату
!tg bridge -chatid

mautrix-signal

Docker Compose

services:
  mautrix-signal:
    image: dock.mau.dev/mautrix/signal:latest
    container_name: mautrix-signal
    restart: unless-stopped
    volumes:
      - ./signal-data:/data
    depends_on:
      - signald

  signald:
    image: signald/signald:latest
    container_name: signald
    restart: unless-stopped
    volumes:
      - ./signald-data:/signald

Використання

# Почати діалог з ботом
@signalbot:example.com

# Привʼязати номер
!signal register +380XXXXXXXXX

# Підтвердити
!signal verify CODE

mautrix-whatsapp

Docker Compose

services:
  mautrix-whatsapp:
    image: dock.mau.dev/mautrix/whatsapp:latest
    container_name: mautrix-whatsapp
    restart: unless-stopped
    volumes:
      - ./whatsapp-data:/data

Використання

# Почати діалог
@whatsappbot:example.com

# Отримати QR код
!wa login

# Просканувати QR в WhatsApp
# Linked Devices  Link a Device

IRC Bridge (Heisenbridge)

Docker Compose

services:
  heisenbridge:
    image: hif1/heisenbridge:latest
    container_name: heisenbridge
    restart: unless-stopped
    command: -c /data/config.yaml http://synapse:8008
    volumes:
      - ./heisenbridge-data:/data

Використання

# Діалог з ботом
@heisenbridge:example.com

# Підключитись до мережі
ADDNETWORK Libera irc.libera.chat
OPEN Libera

# Приєднатись до каналу
JOIN #channel

Діагностика

Перевірка статусу

# Логи bridge
docker logs mautrix-telegram -f

# Статус appservice в Synapse
curl -H "Authorization: Bearer $TOKEN" \
  http://localhost:8008/_synapse/admin/v1/appservices

Типові проблеми

Проблема Причина Рішення
Bridge не відповідає Registration Перевірити app_service_config
Повідомлення не йдуть Permissions Перевірити config.yaml
Login failed API credentials Оновити api_id/hash
Timeout Network Перевірити DNS та firewall

Очистка

# Видалити ghost користувачів
!tg clean-rooms

# Reconnect
!tg reconnect

Безпека

Рекомендації

  1. Окремий акаунт — створіть новий Telegram для bridge
  2. Обмежені права — не давайте admin всім
  3. Моніторинг — слідкуйте за логами
  4. Backup — зберігайте session files

Ризики

  • Bridge має доступ до всіх повідомлень
  • Session може бути скомпрометований
  • Зовнішній сервіс може заблокувати

Шлях: services/matrix/bridges.md

UMTC Wiki © 2026 | Ukrainian Military Tactical Communications