feat: добавил первое описание протокола

2025-04-28 23:11:45 +03:00
parent ce46aee079
commit 825a2a2c91
2 changed files with 102 additions and 1 deletions

@ -1 +1,8 @@
Добро пожаловать в вики.
# Cline
Небольшой пет-проект чата, которым можно с комфортом пользоваться из консоли, располагая не очень большим набором инструментов. При этом мы хотели бы приоретизировать приватность
## Протокол
Сервер испльзует API, применяющий самописный протокол. Подробнее [тут](./MessageProtocol.md).

94
MessageProtocol.md Normal file

@ -0,0 +1,94 @@
# Quilin
## Полезная нагрузка
### Пожелания
На этом этапе пользователь может обозначить следующие моменты - будет ли он использовать цифровые подписи, tls, аутентификацию по токенам и прочие радости
### Отправка
Похож на документ в yaml формате. В начале идет название протокола и указание его версии. В случае общения с сервером этот протокол подразумевается по умолчанию и будет использоваться его последняя версия
То, что начинается с // - комментарий
```
// Опциональное указание протокола и версии
[Quilin [VERSION]]
// Дополнительные опции
[o/options]: [sign/s] [no-tls/nt]
// Указание аккаунта, от имени которого отправляется сообщение
from: {nickname}
// Пользователь может использовать временный токен, отправляемый сервером,
// чтобы идентифицироваться и авторизоваться. В таком случае указывать ник
// не обязательно
token: {some token}
// Получатель
to: {name} // используется ник пользователя или название чата.
// Названия чатов начинаются со значка #
// Разделитель, показывающий окончание служебной информации
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat
non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
```
Без комментариев все то же самое
```
[Quilin [VERSION]]
[o/options]: [sign/s] [no-tls/nt]
from: {nickname}
token: {some token}
to: {name}
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat
non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
```
#### Описание опций
- sign/s: передаваемое сообщение использует цифровые подписи. Серверу следует эти подписи публичными ключами, привязанными к аккаунтам. Если подпись не удастся проверить, сообщение будет отброшено
- no-tls - не использовать и не проверять tls у сервера. Не безопасно
#### Пример отправки сообщения
```
from: ElectronixTM
to: MrQiz
---
Hello, my dear friend, how are you?
May you please give me some advice on the following code snippet:
\`\`\`py
import antigravity
\`\`\`
```
### Ответ
## Протокол шифрования
### Пожелания автора
На данный момент хочется, чтобы данный протокол передачи сообещний поддерживал следующие возможности:
- Сквозное шифрование
- Опциональные цифровые подписи сообщений и их верификация по открытым ключам
- Был немногословен
- Опционально поддерживал сложную аутентификацию
### Описание
Протокол шифрования на данный момент в разработке, поскольку это требует хороших глубоких знаний во многих областях