diff --git a/README.md b/README.md
index 25822aa..f8bd290 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,26 @@
+
+
# Packmate
+
+
+### [[EN](README_EN.md) | RU]
+Утилита перехвата и анализа трафика для CTF.
+
+#### Фичи:
+* Поддерживает текстовые и бинарные сервисы
+* Умеет отображать совпадения паттернов в пакетах цветом
+ * Подстрока
+ * Регулярное выражение
+ * Бинарная подстрока (WIP)
+* Умеет сохранять пакеты в избранное и отображать только избранные пакеты
+* Работает с несколькими сервисами на разных портах
+* Поддерживает навигацию по стримам с помощью горячих клавиш
+* Конкатенирует смежные пакеты
+* Разархивирует GZIP в HTTP на лету
+
+
## Клонирование
-Поскольку этот репозиторий содержит фронтенд как submodule, его необходимо клонировать так:
+Поскольку этот репозиторий содержит фронтенд как git submodule, его необходимо клонировать так:
```bash
git clone --recurse-submodules https://gitlab.com/binarybears_ctf/Packmate.git
@@ -14,21 +34,65 @@ git pull # Забираем свежую версию мастер-репы и
git submodule update --init --recursive
```
-## Сборка
-В этом ПО используется Docker и docker-compose. В образ `packmate-app` пробрасывается сетевой интерфейс хоста, его название автоматически определяется в `./start.sh`.
+## Подготовка
+В этом ПО используется Docker и docker-compose. В образ `packmate-app` пробрасывается
+сетевой интерфейс хоста, его название указывается переменной окружения (об этом ниже).
-Так как невозможно использовать `links:` вместе с `network_mode: "host"` в docker-compose, `packmate-db` настроен на прослушивание порта 65001 с локальным ip.
+`packmate-db` настроен на прослушивание порта 65001 с локальным IP.
+При этом файлы БД не монтируются как volume, поэтому при пересоздании контейнера все стримы теряются.
-Для сборки и запуска:
+### Настройка
+Программа берет основные настройки из переменных окружения, поэтому для удобства
+можно создать env-файл.
+Он должен называться `.env` и лежать в корневой директоии проекта.
+
+В файле необходимо прописать:
```bash
-export PACKMATE_LOCAL_IP='192.168...' # IP хоста в перехватываемой сети
-export PACKMATE_INTERFACE='eth0' # Сетевой интерфейс для перехвата пакетов
-
-# Дальше все экспорты опциональны
-export PACKMATE_WEB_LOGIN='BinaryBears' # Имя пользователя для веб-интерфейса
-export PACKMATE_WEB_PASSWORD='123456' # Пароль для веб-интерфейса
-
-docker-compose up --build
+PACKMATE_INTERFACE=wlan0 # Интерфейс, на котором производится перехват трафика
+PACKMATE_LOCAL_IP=192.168.1.124 # Локальный IP сервера на указанном интерфейсе
+PACKMATE_WEB_LOGIN=SomeUser # Имя пользователя для web-авторизации
+PACKMATE_WEB_PASSWORD=SomeSecurePassword # Пароль для web-авторизации
```
-После успешного запуска Packmate будет видно с любого хоста на порту `65000`.
+### Запуск
+После указания нужных настроек в env-файле, можно запустить приложение:
+```bash
+sudo docker-compose up --build -d
+```
+
+При успешном запуске Packmate будет видно с любого хоста на порту `65000`.
+
+### Начало работы
+При попытке зайти в web-интерфейс впервые, браузер спросит логин и пароль,
+который указывался в env-файле.
+После успешного входа необходимо открыть настройки кликом по шестеренкам в правом
+верхнем углу, затем ввести логин и пароль API, указанный при входе.
+
+
+
+Все настройки сохраняются в local storage и теряются только при смене IP-адреса или порта сервера.
+
+## Использование
+Сначала нужно создать сервисы, находящиеся в игре.
+Для этого вызывается диалоговое окно по нажатию кнопки `+` в навбаре,
+где можно указать название и порт сервиса, а также дополнительные опции.
+
+Система начнет автоматически захватывать стримы и отображать их в сайдбаре.
+При нажатии на стрим в главном контейнере выводится список пакетов;
+между бинарным и текстовым представлением можно переключиться по кнопке в сайдбаре.
+
+Для удобного отлова флагов в приложении существует система паттернов.
+Чтобы создать паттерн, нужно открыть выпадающее меню `Patterns` и нажать кнопку `+`,
+затем указать нужный тип поиска, сам паттерн, цвет подсветки в тексте и прочее.
+
+### Горячие клавиши
+Для быстрой навигации по стримам можно использовать следующие горячие клавиши:
+* `Ctrl+Up` -- переместиться на один стрим выше
+* `Ctrl+Down` -- переместиться на один стрим ниже
+* `Ctrl+Home` -- перейти на последний стрим
+* `Ctrl+End` -- перейти на первый стрим
+
+
+
+*desu~*
+