Compare commits
5 Commits
8696b4bfa0
...
1623dd391d
| Author | SHA1 | Date |
|---|---|---|
|
|
1623dd391d | |
|
|
77da4a1b61 | |
|
|
f9b6b2c75e | |
|
|
930a95453f | |
|
|
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 и пустой нагрузкой серверу.
|
|
||||||
Сервер отвечает ему тем же.
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
# Навигация по faq
|
# Навигация по faq
|
||||||
|
|
||||||
## Работа с сервером
|
## Работа с сервером
|
||||||
[Установка сервера](install.md)
|
- [Установка сервера](install.md)
|
||||||
|
|
||||||
## Патчинг клиентов
|
## Патчинг клиентов
|
||||||
[Патч мобильного клиента для Android](patch_apk.md)
|
- [Патч мобильного клиента для Android](patch_apk.md)
|
||||||
[Патч мобильного клиента для IOS](patch_ipa.md)
|
- [Патч мобильного клиента для IOS](patch_ipa.md)
|
||||||
|
|
|
||||||
|
|
@ -22,5 +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)
|
- [Публичные сервера](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()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue