- Python 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| base65536.py | ||
| composer.py | ||
| daemonlib.py | ||
| data.py | ||
| launchlib.py | ||
| libmax_browser.py | ||
| libmax_debug.py | ||
| libmax_direct.py | ||
| MaxInterface.py | ||
| OzonInterface.py | ||
| README.md | ||
| TelemostInterface.py | ||
| textcoder.py | ||
| videocoder.py | ||
| VkInterface.py | ||
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-- Настройки бэкенда browserdirect-- Настройки бэкенда directbootstrap(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
Требуемые приложения:
chromiumfirejail(если включён)
Настройка
Пример настройки 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-chromedriverchromium_path(str) -- Путь к chromiumheadless(bool, по умолчанию:false) -- Запускать chromium без видимого окна
Общие настройки отправки сообщений
max_message_size(int, по умолчанию:128) -- Максимальный размер сообщения (в байтах, до кодировки)max_stale_time(int, по умолчанию:1024) -- Если за это время ни будет отправлен ни один байт, то сообщение будет отправлено, даже если оно не достиглоmax_message_sizemin_message_interval(int, по умолчанию:1000) -- Минимальный промежуток времени между двумя сообщениями (миллисекунды)flush_mode(str, по умолчанию:auto) -- Метод очистки буфера (auto: автоматический, может иметь очень большой пинг,interval: отправляет сообщение каждыеmin_message_intervalмс, имеет стабильный пинг, но отправляет больше сообщений)