Password manager
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
images
scripts
styles
README.md
favicon.png
google3f74a6c228e90d6e.html
index.html
license
manifest.json
place_on_your_site.md
service-worker.js

README.md

Менеджер для хранения паролей

с открытым исходным кодом. С помощью этого менеджера свои секреты можно и нужно хранить на своих мощностях.

Концепция

  • приложение в виде одной веб-страницы, в теле которой хранятся в зашифрованном виде значения секретных полей
  • все значения полей шифруются одним ключом шифрования (passphrase), алгоритм AES
  • секреты хранятся в кеше браузера, что обеспечивает доступ в отстутсвии интернета.
  • страница хранится в выбранной папке на drive.google.com - ещё одна степень защиты
  • история изменений/дополнений списка секретов хранится на drive.google.com в виде файлов с секретами, дата записи файла отражается в имени файла
  • каждая сохраненная страница автономна, т.е. можно имея только страницу получить доступ к своим секретам
  • создавался как замена менеджеру паролей keymemo.com

Официальный сайт KeyMemo.next - keymemo.github.io.

Весь исходный код доступен на github.com/keymemo/keymemo.github.io

Подробности:

  • доменное имя и сертификат «не зависят» от третьих лиц, кавычки можно убрать если разместить на своих мощностях
  • секреты хранятся в одном файле html
  • работает без интернета (конечно до пропадания интернета надо хотя бы раз зайти браузером, браузер закеширует)
  • только чистый js, не используются фреймворки и flash
  • никаких ссылок на внешние ресурсы, все библиотеки на борту, за исключением гугловских для доступа к drive.google.com
  • работает в Chrome, в Yandex-браузере и в Firefox. В том числе под мобильными версиями
  • файл с секретами хранится на вашем drive.google.com в отдельной (выбранной) папке, можно создать отдельный аккаунт для хранения секретов
  • каждый раз при сохранении на drive.google.com сохраняется новый файл, который в дальнейшем используется как основной
  • секреты также сохраняется в localStorage браузера (в шифрованном виде)
  • список секретов обернут в <div></div> и имеет id="div_list_secrets"
  • секреты состоят из записей, секрет обернут в <div></div>
  • каждая запись обернута в <div></div>
  • запись это пара значений имя поля/значение поля
  • «имя поля» не шифруется
  • значение поля шифруется ключом шифрования (passphrase), реализация алгоритма AES, библиотеки шифрования из проекта CryptoJS, можете поменять на свой алгоритм
  • значение дешифруется при получении полем ввода фокуса и шифруется в момент потери фокуса полем ввода и сохраняется в виде шифрованного значения в innerHTML
  • запись может быть одного из 4 типов (обычная, пароль — поможет сгенерировать, ссылка — при нажатии на название откроет новую вкладку, заметка — многострочный текст
  • обязательные записи секрета это Name, Login, Password
  • обязательные записи не удаляются
  • остальные записи не обязательны, могут добавлятся и удалятся.
  • флаг удаления хранится в data-removable, по умолчанию false
  • количество записей в секрете не ограничено
  • количество секретов не ограничено
  • поиск ведется по всем значениям поля
  • сайтом удобно (на мой взгляд) пользоваться со смартфона
  • есть импорт из файлов keymemo.com
  • есть импорт из файлов keymemo.github.io
  • весь код доступен github.com/keymemo/keymemo.github.io
  • можно и нужно разместить на своём ресурсе
  • резервная копия делается из настроек. Полученный файл содержит всё, что необходимо для доступа к паролям. Доступа к drive.google.com браузер из локального файла не даст.

Инструкция по размещению на своём ресурсе.