Skip to content

Commit ffce9bb

Browse files
committed
readme
1 parent cdd8c6f commit ffce9bb

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

readme.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Проект
2+
#### выполнил Алексей Шадрунов @shadrunov, БИБ202
3+
4+
## Концепция
5+
Приложение представляет собой простой чат с простым шифрованием. Он состоит из серверной и клиентской части. Сервер хранит пользователей и сообщения и предоставляет информацию клиенту, клиент взаимодействует с пользователем.
6+
7+
* для шифрования используется шифр Виженера и [библиотека](https://github.com/philipperemy/easy-encryption), так как его наиболее просто применить, хотя он и не обладает защищённостью.
8+
* для хранения и передачи сообщений используется формат json и [другая библиотека](https://github.com/nlohmann/json).
9+
10+
## Запуск
11+
Код скомпилирован для Linux. Для запуска сервера запускайте server, для клиента -- client.
12+
> Данные хранятся в оперативной памяти.
13+
14+
Для локального использования применяется localhost:1234.
15+
> Сервер не поддерживает параллельное подключение нескольких клиентов. Чат пока **асинхронный**.
16+
17+
## Использование
18+
1. Сначала надо зарегистрироваться (кнопка u). Придумайте новый никнейм. Если уже регистрировались, введите существующий.
19+
1. Далее можно синхронизировать сообшения с сервером. Эта операция запрашивает список чатов, в которых участвует пользователь, и загружает все сообщения на клиент.
20+
1. В списке чатов можно выбрать нужный чат или создать новый. Для создания чата надо нажать n, ввести никнейм собеседника (он должен быть зарегистрирован в системе), **придумать** ключ шифрования, далее ввести сообщение и отправить его. Ключ надо запомнить и лично (или по защищённому каналу) сообщить собеседнику.
21+
1. Чтобы открыть существующий чат, вам нужно ввести ключ шифрования от чата. После этого сообшения будут расшифрованы, и, если ключ верный, вы сможете понять текст.
22+
23+
## Плюсы
24+
* Шифрование производится на клиенте, ключ и открытый текст не передаётся на сервер, никто, кроме вас и вашего собеседника ~~и хакера который взломал слабый шифр~~ не сможет прочитать сообщения.
25+
* Простота и минимализм: никаких картинок, только текст :)
26+
* Анонимность и простота регистрации: вы можете придумать любой никнейм (из букв, цифр и нижнего подчёркивания), и это всё, что требуется для регистрации. Даже пароль не нужен!!
27+
28+
## Скриншоты
29+
![image1](https://i.ibb.co/P6V34VQ/Screenshot-from-2021-06-16-21-10-11.png)
30+
![image2](https://i.ibb.co/wQhCDWP/Screenshot-from-2021-06-16-21-10-24.png)
31+
![image3](https://i.ibb.co/DKDZpmx/Screenshot-from-2021-06-16-21-13-21.png)

0 commit comments

Comments
 (0)