Простой, минималистичный и функциональный онлайн менеджер паролей, написанный на фреймворках Django, Django REST Framework. Проект использует реляционную СУБД PostgreSQL в качестве основной базы данных, библиотеку celery для работы с отложенными задачами, нереляционную СУБД Redis в качестве брокера сообщений и для кэширования. Также применяется библиотека dj-rest-auth для операций с аккаунтом через REST API, к которому также имеется Swagger-схема, сгенерированная при помощи drf-spectacular. Программа Docker'изирована. Используемый линтер и форматер кода - ruff.
git clone https://github.com/waflawe/eXinakai.git
cd eXinakai/
- Установка зависимостей:
pip install -r requirements/dev.txt
- Создаем файл .env и заполняем его по примеру файла .env.template, при необходимости изменяя помеченные комментарием переменные.
- Запускаем отдельно три окна терминала. В первом запускаем Redis:
redis-server
- Во втором запускаем Celery:
celery -A core.celery_setup:app worker --loglevel=info
- В третем запускаем проект:
python manage.py runserver 0.0.0.0:8000
- Переходим в интернет-обозревателе на страницу 127.0.0.1:8000.
- Наслаждаемся.
- Создаем файл .env.docker и заполняем его по примеру файла .env.docker.template, при необходимости изменяя помеченные комментарием переменные.
- Поднимаем Docker-compose:
docker-compose up
- Переходим в интернет-обозревателе на страницу 127.0.0.1:80.
- Наслаждаемся.
В eXinakai можно выполнять следующие действия с аккаунтом:
- Регистрация
- Авторизация
- Сброс пароля аккаунта
- Изменение пароля аккаунта
- Изменение настроек аккаунта, таких как:
- Временная зона
- Аватар пользователя
- Электронная почта
- Включение/выключение двухэтапной аутентификации через электронную почту
В eXinakai Ваши пароли шифруются и дешифруются ключом шифрования, выдаваемом при регистрации. Без ключа шифра прочитать или изменить пароли невозможно. Так же при создании нового пароля к нему можно добавить примету.
Если ключ шифрования передан верно, можно выполнять следующие действия с паролями:
- Создание паролей
- Чтение паролей и поиск по их приметам
- Удаление паролей
Так же имеется встроенный гибкий генератор паролей. Он работает даже без передачи верного ключа шифрования, просто войдя в аккаунт.
- Регистрация:
- Авторизация:
- Сброс пароля аккаунта:
- Изменение пароля аккаунта:
- Изменение настроек аккаунта:
- Страница двухэтапной аутентификации:
Этот проект лицензирован MIT лицензией.