mirror of
https://github.com/openmax-server/server.git
synced 2026-05-24 04:21:42 +03:00
Compare commits
2 Commits
master
...
25206d7e62
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
25206d7e62 | ||
|
|
6a82004727 |
1
docs/proto/oneme_tcp.md
Normal file
1
docs/proto/oneme_tcp.md
Normal file
@@ -0,0 +1 @@
|
|||||||
|
TODO
|
||||||
29
docs/proto/tamtam_ws.md
Normal file
29
docs/proto/tamtam_ws.md
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# Описание протокола TamTam по Websocket
|
||||||
|
|
||||||
|
## Основная информация
|
||||||
|
В веб версии мессенджера ТамТам используется протокол, работающий поверх Websocket.
|
||||||
|
|
||||||
|
Пакеты в этом протоколе являются текстовыми JSON данными.
|
||||||
|
|
||||||
|
Структура пакета:
|
||||||
|
```
|
||||||
|
{
|
||||||
|
ver: int,
|
||||||
|
cmd: int,
|
||||||
|
seq: int,
|
||||||
|
opcode: int,
|
||||||
|
payload: {}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
* ver - версия протокола
|
||||||
|
* cmd - определяет, от кого отправлен пакет. клиент - 0, сервер - 1
|
||||||
|
* seq - порядковый номер пакета (сервер дублирует его из запроса клиента)
|
||||||
|
* opcode - команда
|
||||||
|
* payload - полезная нагрузка команды
|
||||||
|
|
||||||
|
## Команды протокола
|
||||||
|
|
||||||
|
### PING (1)
|
||||||
|
Клиент периодически отправляет пакет с командой PING и пустой нагрузкой серверу.
|
||||||
|
Сервер отвечает ему тем же.
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
# Патч MAX для IOS
|
|
||||||
|
|
||||||
1) Распаковываете IPA
|
|
||||||
2) Находите файл MAX в Payload/Max.app
|
|
||||||
3) Открываете hex-редактор и находите api.oneme.ru и меняете на свой
|
|
||||||
При желании можете поменять другие URL
|
|
||||||
URL не должен привышать количество символов которое было у изначального URL!
|
|
||||||
4) Открываете IPA как архив и добавляете патченный файл MAX в Payload/Max.app
|
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
# Навигация по faq
|
# Навигация по faq
|
||||||
|
|
||||||
## Работа с сервером
|
## Работа с сервером
|
||||||
- [Установка сервера](install.md)
|
[Установка сервера](install.md)
|
||||||
|
|
||||||
## Патчинг клиентов
|
## Патчинг клиентов
|
||||||
- [Патч мобильного клиента для Android](patch_apk.md)
|
[Патч apk](patch_apk.md)
|
||||||
- [Патч мобильного клиента для IOS](patch_ipa.md)
|
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
> [!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,6 +22,4 @@ 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)
|
||||||
- [Документация проекта](https://github.com/openmax-server/docs)
|
|
||||||
- [Публичные сервера](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:
|
||||||
@@ -184,4 +186,4 @@ class OnemeMobileServer:
|
|||||||
self.logger.info(f"Сокет запущен на порту {self.port}")
|
self.logger.info(f"Сокет запущен на порту {self.port}")
|
||||||
|
|
||||||
async with self.server:
|
async with self.server:
|
||||||
await self.server.serve_forever()
|
await self.server.serve_forever()
|
||||||
|
|||||||
Reference in New Issue
Block a user