No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
retiport eeb5284d5c v0.6
- Добавлен VkInterface (без документации)
- Исправлена ошибка в composer
2026-07-13 22:23:19 +03:00
base65536.py v0.3 2026-07-13 22:19:38 +03:00
composer.py v0.6 2026-07-13 22:23:19 +03:00
daemonlib.py v0.5 2026-07-13 22:21:49 +03:00
data.py v0.1 2026-07-13 22:17:41 +03:00
launchlib.py v0.5 2026-07-13 22:21:49 +03:00
libmax_browser.py v0.5 2026-07-13 22:21:49 +03:00
libmax_debug.py v0.5 2026-07-13 22:21:49 +03:00
libmax_direct.py v0.5 2026-07-13 22:21:49 +03:00
MaxInterface.py v0.5 2026-07-13 22:21:49 +03:00
OzonInterface.py v0.5 2026-07-13 22:21:49 +03:00
README.md v0.6 2026-07-13 22:23:19 +03:00
TelemostInterface.py v0.5 2026-07-13 22:21:49 +03:00
textcoder.py v0.5 2026-07-13 22:21:49 +03:00
videocoder.py v0.5 2026-07-13 22:21:49 +03:00
VkInterface.py v0.6 2026-07-13 22:23:19 +03:00

retiport

Версия v0.6

Макс

Внимание!

Использование данного приложения нарушает правила использования Макс

Требуемые библиотеки:

  • undetected-chromedriver (только для бэкенда browser)
  • websockets (только для бэкенда direct)

Требуемые приложения:

  • chromium (только для бэкенда browser)

Настройка

Пример настройки reticulum:

[[max_transport]]
  type = PipeInterface
  enabled = true
  command = 'python3 /home/user/retiport/MaxInterface.py '{"chat_id": 234532357, "browser": {"instant_typing": true, "max_stale_time": 100, "headless": true}}''
  respawn_delay = 5

Внимание: reticulum по умолчанию считает, что пропускная способность PipeInterface 1 Мбит/с. Это создаст проблемы, если у вас включен режим transport. Для изменения пропускной способности необходимо изменить BITRATE_GUESS в Reticulum/RNS/Interfaces/PipeInterface.py

Обход детекции

Я не знаю есть ли в Макс детекция скритов. Для обхода детекции применяется собственная кодировка данных, которая генерирует текст, похожий на русские предложения, а также можно включить ограничение скорости печати.

Когда мгновенная печать выключена, большинство передач занимают много времени и вылетают в таймаут. Для защиты аккаунтов мгновенная печать по умолчанию выключена.

Опции

Обязательные опции:

  • chat_id (int) -- id чата (часть после / в URL) Примечание: Здесь можно использовать значение 0, и тогда сообщения будут отправлятся в Избранное. Это позволяет передавать данные, используя один аккаунт, но работает только на бэкенде direct

Необязательные опции:

  • backend (str) -- Выбор бэкенда (browser, direct, debug)
  • encoding (str) -- Выбор кодмровки данных (text, base64, base85, base65536)
  • browser -- Настройки бэкенда browser
  • direct -- Настройки бэкенда direct
  • bootstrap (bool, по умолчанию: false) -- Запустить в режиме настройки
  • "Общие настройки отправки сообщений"

Настройки бэкенда browser: Этот бекенд использует управление веб-приложением Макс через undetected-chromedriver для отправки сообщений

  • typing_speed (int, по умолчанию: 500) -- Скорость печатания (символы в минуту)
  • typing_speed_variance (float, по умолчанию: 0.3) -- Насколько может замедляться скорость печатания
  • instant_typing (bool, по умолчанию: false) -- Печатать мгновенно
  • "Общие настройки браузера"

Настройки бэкенда direct: Этот бэкенд использует внутренний API Макс (websocket) для отправки сообщений

  • user_data_dir (str, по умолчанию: ~/.reticulum/interfaces/MaxConnection-direct/) -- Папка, в которой хранятся данные бэкенда
  • user_agent (dict) -- Значение userAgent, которое передаётся Макс
  • ver (int, по умолчанию 11) -- Значение ver, которое передаётся Макс
  • reconnect_time (1000, по умолчанию 1000) -- Время, через которое будет переподключение в случае потери соединения
  • autodelete (dict) -- Настройки автоудаления
    • enable (bool, по умолчанию false) -- Автоматически удалять сообщения после отправки (может вызвать проблемы с browser клиентами)
    • only_for_me (bool, по умолчанию false) -- Удалять "Только для меня"

Режим настройки

При использовании бэкенда browser:

Для входа в аккаунт необходимо запустить libmax.py с опцией {"bootstrap": true} и войти в аккаунт из мобильного приложения. После этого необходимо выйти из браузера через Меню > Выйти, иначе вход не сохранится.

При использовании бэкенда direct:

Для входа в аккаунт необходимо запустить libmax.py с опцией {"bootstrap": true}. Он даст URL, который необходимо превратить в QR-код и отсканировать мобильным приложением

OZON (beta)

Внимание!

Я не знаю соблюдает ли эта программа правила использования Ozon

Требуемые библиотеки:

  • websockets

Настройка

Пример настройки reticulum:

[[ozon_transport]]
  type = PipeInterface
  enabled = true
  command = 'python3 /home/user/retiport/OzonInterface.py '{"chat_id": "80854a26-978b-4449-88aa-5edb4e2712d1", "max_stale_time": 100}''
  respawn_delay = 5

Вход в аккаунт

Для входа в аккаунт необходимо войти в него в браузере, после чего сохранить значение куки __Secure-refresh-token в файл <userdata>/token.txt (полный путь к файлу вы сможете увидеть запустив libozon)

Опции

Обязательные опции:

  • chat_id (str) -- id чата (часть после ?id= в URL) Примечание: Здесь можно использовать даже чаты, в которые нельзя отправлять сообщения из веб-интерфейса

Необязательные опции:

  • user_data_dir (str, по умолчанию: ~/.reticulum/interfaces/OzonConnection/) -- Папка, в которой хранятся данные браузера
  • encoding (str) -- Выбор кодмровки данных (text, base64, base85, base65536)
  • reconnect_time (1000, по умолчанию 1000) -- Время, через которое будет переподключение в случае потери соединения
  • user_agent (str) -- Значение User-Agent, которое передаётся OZON
  • "Общие настройки отправки сообщений"

Яндекс.Телемост

Требуемые библиотеки:

  • undetected-chromedriver

Требуемые приложения:

  • chromium
  • firejail (если включён)

Настройка

Пример настройки reticulum:

[[telemost_transport]]
  type = PipeInterface
  enabled = true
  command = 'python3 /home/user/retiport/TelemostInterface.py '{"conference_id": 3809200289", "headless": True}''
  respawn_delay = 5

Firejail

Chromium запускается с параметрами, которые даёт всем сайтам полный доступ ко всем медиаустройствам и сам телемост выбырает, какие устройства использовать. Это значит, что он может открыть любую камеру и микрофон в системе (например, если виртуальная камера сломается). Для защиты от этого можно использовать firejail, который разрешит доступ только в виртуальной камере и заблокирует доступ к микрофонам.

Опции

Обязательные опции:

  • conference_id (int) -- id конференции (часть после /j/ в URL) Примечание: id уже созданных встреч можно найти используя этот google запрос

Необязательные опции:

  • tx (dict) -- Настройки отправки данных
    • camera (dict) -- Настройки виртуальной камеры
    • encoding (dict) -- Настройки кодировки
  • rx (dict) -- Настройки получения данных
    • encoding (dict) -- Настройки кодировки
  • firejail (bool, по умолчанию: false) -- Включить firejail (см. выше)
  • "Общие настройки браузера"

Настройки виртуальной камеры:

  • fps (int, по умолчанию: 16)
  • width (int, по умолчанию: 1920)
  • height (int, по умолчанию: 1080)

Настройки кодировки:

  • fps (int, по умолчанию: 1) -- Частота обновления картинки (должна быть делителем camera.fps)
  • width (int, по умолчанию: 32) -- Количество блоков по горизонтали (должна быть делителем camera.width)
  • height (int, по умолчанию: 24) -- Количество блоков по вертикали (должна быть делителем camera.height)

Общие настройки браузера

  • user_data_dir (str, по умолчанию: ~/.reticulum/interfaces/<имя интерфейса>/) -- Папка, в которой хранятся данные браузера
  • driver_path (str) -- Путь к undetected-chromedriver
  • chromium_path (str) -- Путь к chromium
  • headless (bool, по умолчанию: false) -- Запускать chromium без видимого окна

Общие настройки отправки сообщений

  • max_message_size (int, по умолчанию: 128) -- Максимальный размер сообщения (в байтах, до кодировки)
  • max_stale_time (int, по умолчанию: 1024) -- Если за это время ни будет отправлен ни один байт, то сообщение будет отправлено, даже если оно не достигло max_message_size
  • min_message_interval (int, по умолчанию: 1000) -- Минимальный промежуток времени между двумя сообщениями (миллисекунды)
  • flush_mode (str, по умолчанию: auto) -- Метод очистки буфера (auto: автоматический, может иметь очень большой пинг, interval: отправляет сообщение каждые min_message_interval мс, имеет стабильный пинг, но отправляет больше сообщений)