Skip to content

Простой, минималистичный и функциональный онлайн менеджер паролей.

License

Notifications You must be signed in to change notification settings

waflawe/eXinakai

Repository files navigation

eXinakai

Простой, минималистичный и функциональный онлайн менеджер паролей, написанный на фреймворках Django, Django REST Framework. Проект использует реляционную СУБД PostgreSQL в качестве основной базы данных, библиотеку celery для работы с отложенными задачами, нереляционную СУБД Redis в качестве брокера сообщений и для кэширования. Также применяется библиотека dj-rest-auth для операций с аккаунтом через REST API, к которому также имеется Swagger-схема, сгенерированная при помощи drf-spectacular. Программа Docker'изирована. Используемый линтер и форматер кода - ruff.

Documentation in English

Карта контента

Быстрый старт

Установка

git clone https://github.com/waflawe/eXinakai.git
cd eXinakai/

Запуск в режиме локальной разработки

  1. Установка зависимостей:
pip install -r requirements/dev.txt
  1. Создаем файл .env и заполняем его по примеру файла .env.template, при необходимости изменяя помеченные комментарием переменные.
  2. Запускаем отдельно три окна терминала. В первом запускаем Redis:
redis-server
  1. Во втором запускаем Celery:
celery -A core.celery_setup:app worker --loglevel=info
  1. В третем запускаем проект:
python manage.py runserver 0.0.0.0:8000
  1. Переходим в интернет-обозревателе на страницу 127.0.0.1:8000.
  2. Наслаждаемся.

Запуск в продакшен-режиме через Docker

  1. Создаем файл .env.docker и заполняем его по примеру файла .env.docker.template, при необходимости изменяя помеченные комментарием переменные.
  2. Поднимаем Docker-compose:
docker-compose up
  1. Переходим в интернет-обозревателе на страницу 127.0.0.1:80.
  2. Наслаждаемся.

Описание функционала

Работа с аккаунтом

В eXinakai можно выполнять следующие действия с аккаунтом:

  1. Регистрация
  2. Авторизация
  3. Сброс пароля аккаунта
  4. Изменение пароля аккаунта
  5. Изменение настроек аккаунта, таких как:
    • Временная зона
    • Аватар пользователя
    • Электронная почта
    • Включение/выключение двухэтапной аутентификации через электронную почту

Менеджер паролей

В eXinakai Ваши пароли шифруются и дешифруются ключом шифрования, выдаваемом при регистрации. Без ключа шифра прочитать или изменить пароли невозможно. Так же при создании нового пароля к нему можно добавить примету.

Если ключ шифрования передан верно, можно выполнять следующие действия с паролями:

  1. Создание паролей
  2. Чтение паролей и поиск по их приметам и коллекциям
  3. Обновление приметы или коллекции пароля
  4. Удаление паролей

Так же в eXinakai действует удобная система коллекций для паролей. Она позволяет собрать набор неограниченного числа паролей в одном месте, что позволяет лучше ориентироваться в менеджере, когда их не мало. Внутри системы можно:

  1. Добавлять коллекции
  2. Удалять коллекции
  3. Добавлять пароли к коллекции
  4. Менять коллекцию пароля

Еще имеется встроенный гибкий генератор паролей. Он работает даже без передачи верного ключа шифрования, просто войдя в аккаунт.

Скриншоты

Менеджер паролей

  1. Создание паролей:
    Создание паролей
  2. Чтение паролей:
    Чтение паролей
  3. Генерация паролей:
    Генерация паролей
  4. Добавление коллекции паролей:
    Добавление коллекции паролей

Работа с аккаунтом

  1. Регистрация:
    Регистрация
  2. Авторизация:
    Авторизация
  3. Сброс пароля аккаунта:
    Сброс пароля аккаунта
  4. Изменение пароля аккаунта:
    Изменение пароля аккаунта
  5. Изменение настроек аккаунта:
    Изменение настроек аккаунта
  6. Страница двухэтапной аутентификации:
    Страница двухэтапной аутентификации

Лицензия

Этот проект лицензирован MIT лицензией.