mirror of
https://github.com/openmax-server/server.git
synced 2026-05-23 12:01:43 +03:00
Compare commits
14 Commits
dev/0.1.0
...
1623dd391d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1623dd391d | ||
|
|
77da4a1b61 | ||
|
|
f9b6b2c75e | ||
|
|
930a95453f | ||
|
|
2776051b17 | ||
|
|
1d4cb2d248 | ||
|
|
ba6191d7e3 | ||
|
|
48c74153ec | ||
|
|
ea9e4761bc | ||
|
|
e6d693efbd | ||
|
|
dae26f02a8 | ||
|
|
ca652aab03 | ||
|
|
2ce4ac64e2 | ||
|
|
6a82004727 |
@@ -1 +0,0 @@
|
|||||||
TODO
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
# Описание протокола TamTam по Websocket
|
|
||||||
|
|
||||||
## Основная информация
|
|
||||||
В веб версии мессенджера ТамТам используется протокол, работающий поверх Websocket.
|
|
||||||
|
|
||||||
Пакеты в этом протоколе являются текстовыми JSON данными.
|
|
||||||
|
|
||||||
Структура пакета:
|
|
||||||
```
|
|
||||||
{
|
|
||||||
ver: int,
|
|
||||||
cmd: int,
|
|
||||||
seq: int,
|
|
||||||
opcode: int,
|
|
||||||
payload: {}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
* ver - версия протокола
|
|
||||||
* cmd - определяет, от кого отправлен пакет. клиент - 0, сервер - 1
|
|
||||||
* seq - порядковый номер пакета (сервер дублирует его из запроса клиента)
|
|
||||||
* opcode - команда
|
|
||||||
* payload - полезная нагрузка команды
|
|
||||||
|
|
||||||
## Команды протокола
|
|
||||||
|
|
||||||
### PING (1)
|
|
||||||
Клиент периодически отправляет пакет с командой PING и пустой нагрузкой серверу.
|
|
||||||
Сервер отвечает ему тем же.
|
|
||||||
@@ -22,3 +22,6 @@
|
|||||||
2. Открываем консоль в той же директории и производим декомпиляцию: `apktool d <имя apk> -o max`
|
2. Открываем консоль в той же директории и производим декомпиляцию: `apktool d <имя apk> -o max`
|
||||||
3. Заходим в папку проекта и заменяем во всех классах "api.oneme.ru" на свой адрес сервера
|
3. Заходим в папку проекта и заменяем во всех классах "api.oneme.ru" на свой адрес сервера
|
||||||
4. Производим повторную сборку с помощью команды: `apktool b max -o max_modified.apk`
|
4. Производим повторную сборку с помощью команды: `apktool b max -o max_modified.apk`
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
> Если у вас возникает ошибка при при повторной сборке, попробуйте декомпилировать клиент с параметром -r
|
||||||
|
|||||||
8
faq/patch_ipa.md
Normal file
8
faq/patch_ipa.md
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# Патч MAX для IOS
|
||||||
|
|
||||||
|
1) Распаковываете IPA
|
||||||
|
2) Находите файл MAX в Payload/Max.app
|
||||||
|
3) Открываете hex-редактор и находите api.oneme.ru и меняете на свой
|
||||||
|
При желании можете поменять другие URL
|
||||||
|
URL не должен привышать количество символов которое было у изначального URL!
|
||||||
|
4) Открываете IPA как архив и добавляете патченный файл MAX в Payload/Max.app
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
# Навигация по faq
|
# Навигация по faq
|
||||||
|
|
||||||
## Работа с сервером
|
## Работа с сервером
|
||||||
[Установка сервера](install.md)
|
- [Установка сервера](install.md)
|
||||||
|
|
||||||
## Патчинг клиентов
|
## Патчинг клиентов
|
||||||
[Патч apk](patch_apk.md)
|
- [Патч мобильного клиента для Android](patch_apk.md)
|
||||||
|
- [Патч мобильного клиента для IOS](patch_ipa.md)
|
||||||
|
|||||||
11
faq/servers.md
Normal file
11
faq/servers.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
> [!Caution]
|
||||||
|
>
|
||||||
|
> На данной странице представлены инстансы от сторонних разработчиков.
|
||||||
|
>
|
||||||
|
> Используйте на свой страх и риск
|
||||||
|
>
|
||||||
|
|
||||||
|
# Открытые сервера
|
||||||
|
|
||||||
|
* [JustMAX](https://t.me/justmax_official)
|
||||||
|
* [mox.nyako.tk](https://t.me/opengrame/296), порт 443 (регистрация по реальному номеру)
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
> [!Caution]
|
> [!Caution]
|
||||||
>
|
>
|
||||||
> Проект находится на ранней стадии разработки и вероятно полон багов.
|
> Проект находится на ранней стадии разработки и, вероятно, полон багов.
|
||||||
>
|
>
|
||||||
> Использование в профессиональных средах не рекомендовано.
|
> Использование в профессиональных средах не рекомендовано.
|
||||||
>
|
>
|
||||||
@@ -13,7 +13,7 @@ https://t.me/openmax_alerts
|
|||||||
# Требования
|
# Требования
|
||||||
|
|
||||||
- Python 3.12+ (поддержка версий ниже не гарантирована)
|
- Python 3.12+ (поддержка версий ниже не гарантирована)
|
||||||
- MariaDB, MySQL или SQLite
|
- MariaDB, MySQL или SQLite (использование последнего не рекомендуется, так как поддержка ещё в разработке)
|
||||||
- Уметь патчить клиент MAX или собирать Komet из исходного кода (естественно с заменой сервера)
|
- Уметь патчить клиент MAX или собирать Komet из исходного кода (естественно с заменой сервера)
|
||||||
- Сертификат и приватный ключ X.509 (для тестирования сервера можно сгенерировать самоподписанный: ```openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365```)
|
- Сертификат и приватный ключ X.509 (для тестирования сервера можно сгенерировать самоподписанный: ```openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365```)
|
||||||
|
|
||||||
@@ -22,4 +22,5 @@ https://t.me/openmax_alerts
|
|||||||
Клиент может быть практически любым, главное условие - чтобы он был совместим с официальным сервером (`api.oneme.ru` / `api.tamtam.chat`).
|
Клиент может быть практически любым, главное условие - чтобы он был совместим с официальным сервером (`api.oneme.ru` / `api.tamtam.chat`).
|
||||||
|
|
||||||
# Дополнительная информация
|
# Дополнительная информация
|
||||||
[Faq](faq/readme.md)
|
- [FAQ](faq/readme.md)
|
||||||
|
- [Публичные сервера](faq/servers.md)
|
||||||
|
|||||||
@@ -123,6 +123,8 @@ class OnemeMobileServer:
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.logger.error(f"Произошла ошибка при работе с клиентом {address[0]}:{address[1]}: {e}")
|
self.logger.error(f"Произошла ошибка при работе с клиентом {address[0]}:{address[1]}: {e}")
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
|
except AttributeError:
|
||||||
|
self.logger.error(f"Повреждённый пакет от клиента {address[0]}:{address[1]}, пропускаю")
|
||||||
|
|
||||||
# Удаляем клиента из словаря
|
# Удаляем клиента из словаря
|
||||||
if userPhone:
|
if userPhone:
|
||||||
|
|||||||
Reference in New Issue
Block a user