feat: добавил первое описание протокола
9
Home.md
9
Home.md
@ -1 +1,8 @@
|
|||||||
Добро пожаловать в вики.
|
# Cline
|
||||||
|
|
||||||
|
Небольшой пет-проект чата, которым можно с комфортом пользоваться из консоли, располагая не очень большим набором инструментов. При этом мы хотели бы приоретизировать приватность
|
||||||
|
|
||||||
|
|
||||||
|
## Протокол
|
||||||
|
|
||||||
|
Сервер испльзует API, применяющий самописный протокол. Подробнее [тут](./MessageProtocol.md).
|
||||||
|
|||||||
94
MessageProtocol.md
Normal file
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
|
||||||
|
\`\`\`
|
||||||
|
```
|
||||||
|
|
||||||
|
### Ответ
|
||||||
|
|
||||||
|
## Протокол шифрования
|
||||||
|
|
||||||
|
### Пожелания автора
|
||||||
|
|
||||||
|
На данный момент хочется, чтобы данный протокол передачи сообещний поддерживал следующие возможности:
|
||||||
|
|
||||||
|
- Сквозное шифрование
|
||||||
|
- Опциональные цифровые подписи сообщений и их верификация по открытым ключам
|
||||||
|
- Был немногословен
|
||||||
|
- Опционально поддерживал сложную аутентификацию
|
||||||
|
|
||||||
|
### Описание
|
||||||
|
|
||||||
|
Протокол шифрования на данный момент в разработке, поскольку это требует хороших глубоких знаний во многих областях
|
||||||
|
|
||||||
Reference in New Issue
Block a user