diff --git a/Home.md b/Home.md index 8b7bd78..95ef0d4 100644 --- a/Home.md +++ b/Home.md @@ -1 +1,8 @@ -Добро пожаловать в вики. \ No newline at end of file +# Cline + +Небольшой пет-проект чата, которым можно с комфортом пользоваться из консоли, располагая не очень большим набором инструментов. При этом мы хотели бы приоретизировать приватность + + +## Протокол + +Сервер испльзует API, применяющий самописный протокол. Подробнее [тут](./MessageProtocol.md). diff --git a/MessageProtocol.md b/MessageProtocol.md new file mode 100644 index 0000000..9a48835 --- /dev/null +++ b/MessageProtocol.md @@ -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 +\`\`\` +``` + +### Ответ + +## Протокол шифрования + +### Пожелания автора + +На данный момент хочется, чтобы данный протокол передачи сообещний поддерживал следующие возможности: + +- Сквозное шифрование +- Опциональные цифровые подписи сообщений и их верификация по открытым ключам +- Был немногословен +- Опционально поддерживал сложную аутентификацию + +### Описание + +Протокол шифрования на данный момент в разработке, поскольку это требует хороших глубоких знаний во многих областях +