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