Как стать автором
Обновить

Комментарии 19

Чем плох KeePass? Алгоритмы открытые, есть опенсорсные клиенты для Android/Windows/Linux.
Есть онлайн версия, даже была статья автора на хабре.


Если по существу конкретно этого, то с точки зрения подходов к дизайну страничка весьма сомнительная.
Размеры шрифтов хаотичные, даже на КДПВ видны кривые отступы.


Посмотрев код по-диагонали тоже можно найти много сырого.
Какие-то функции/переменные названы камелКейсом, какие-то снейк_кейсом, где-то одновременно всё встречается. Даже файлы названы по-разному.
Константы вроде CLIENT_ID вероятно, не стоит хранить текстом в коде, и в нескольких местах.
Есть ни о чем не говорящие state0/1/2


Даже для проекта выходного дня всё выглядит далековатым до альфа версии и с практиками, которые вызывают вопросы.

Спасибо за отзыв.
Если критика моей поделки только в дизайне и правилах названия переменных — то я доволен. Для первой поделки на новом ЯП для меня нормально.

Где-то камелКейсом а где-то снейк_кейсом — в разных источниках примеров были разные правила именования.

CLIENT_ID привязывает приложение к доменному имени, без знания этого гугл не пустит на drive.

В отличии от других — мою поделку можно на своих мощностях развернуть. Не нужно использовать плагинов. Некоторые из них имеют плохую историю.
Использование в хранения критичных данных неподконтрольных мощноностей, в которых есть ссылки на неподконтрольные ресурсы мне не понравилось. Написал это.

Дело не в дизайне и правилах названия переменных. Код просто сырой.


Хаотичность нейминга ну вообще никак не связана с тем, что ЯП новый лично для вас и с тем, что в разных источниках примеров были разные правила именования. Разве копипаст к чему-то обязывает?
Это лишь показывает, что лично у вас нет какой-либо культуры кода и систематики. Да и многие линтеры часто выдают предупреждения, если стиль отличается от общепринятого в данной среде.


В отличии от других.

Каких конкретно? Упомянутый мной KeeWeb вполне себе может быть self-hosted, формат бд поддерживается несколькими клиентами, плюс база шифруется полностью, ключи достаточно криптостойкие, есть большое сообщество.


CLIENT_ID привязывает приложение к доменному имени, без знания этого гугл не пустит на drive.

К вашему доменному имени. Для того, чтобы хостить у себя так или иначе придётся свой токен создавать. Поэтому в той версии, которая выкладывается в паблик, не должно храниться никакой информации, специфичной для разных инстансов.


P.S. Эта статья больше подходит для хабра, нежели для гиктаймс, т.к. направленнность у сайта иная, и топик к ИБ имеет отношение достаточно косвенное.

Спасибо, вы мне доказали, что у меня нет стиля и культуры кода, ни этим я зарабатываю, это хобби.
Кроме общих слов про стиль и культуру есть какие-нибудь проблемы в коде?
Слово «сырой» требует каких-то конкретных примеров.

Да и многие линтеры часто выдают предупреждения, если стиль отличается от общепринятого в данной среде.
В js в браузере нет линтера, нечему было подсказать.

Каких конкретно?
Для развертывания нужен просто вебсервер.
Просто отдавать странички.
К нему ещё нужен сертификат-канал надо защищать.
Нет никакого формата БД. Это делалось как замена keymemo.com для себя.
Получилось, поделился.
Весь код сайта (имеется в виду https://keymemo.github.io) доступен для анализа, доступна вся история изменений. Код исполняется в локальном браузере, а не где-то на хостинге.
Сертификат и хостинг принадлежит github. Все ведь верят github'у.

К вашему доменному имени.
Было бы странно чтобы в моём приложении был CLIENT_ID не моего (если считать keymemo.github.io моим) домена. Разве нет?
Вы считаете, что нужно было выложить непонятно что делающий код и предложить желающим разместить его у себя предварительно зарегистрировавшись разработчиком у гугла, вписав CLIENT_ID и поделиться впечатлениями?
Я с вами не согласен.

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

Процитирую себя из самого начала поста
Для размещения в «Я пиарсь» не хватает кармы, поэтому здесь.


Идея интересная, но у меня не взлетела. Хром Версия 48.0.2564.82 (64-bit)
Только колёсико крутится
Вероятно вы не разрешили всплывающее окно, которое открывается для авторизации и уточнения папки для хранения секретов — в строке адреса справа значок с крестиком.
Ну и версия Chrome слегка устарела, актуальна 58.0.3029.81.
Что бы окно не блокировась достаточно сделать его вызов по какой-то активности пользователя, нажатию кнопки, к примеру.
Да, это выход.
Есть возможность определить, что браузер блокирует (именно блокирует) всплывающие окна?

Всплывающее окно появляется из скриптов гугла при попытке доступа к drive.
Резервную копию секретов с keymemo.com можно сохранить прямо из браузера — в настройках заходим в «Посмотреть резервную копию секретов (html)», после чего просто Ctrl+S. Автоматически тоже не получается уже давно… писать тоже пробовал, тишина :(
Только что проверил — через сайт сохранить можно.

Рабочая последовательность:
-открыть https://www.keymemo.com/, лучше в «инкогнито»
-авторизоваться
— выбрать «Настройки \ Посмотреть резервную копию секретов (html)», откроется новая вкладка
— авторизовываться не надо
— правая кнопка \ «сохранить как», сохраниться файл
Далее этот файл можно открыть, авторизоваться и увидеть секреты.
Именно этот файл можно импортировать в keymemo.next.
Дополнил пост.
Извините за оффтоп и рекламу, но пробовал онлайн-сервисы и грустил, переживая о сохранности, года 1.5
Перешёл на keepass. На линуксах было хорошо, на маке хорошо, на ios чуть похуже, но терпимо.
Локальное хранение ключа позволяет шарить базу через облачные сервисы. Минималистичный дизайн. Открытые исходники. Это же подарок судьбы просто!

Я понимаю и уважаю желание написать велосипед, больше обучения полезного и продуктивного! Но относится к таким проектом иначе как к лабораторным — сложно.
Keepass'ом не пользовался. Не понравилась идея таскать с собой исполняемые файлы и базу.
К моменту появления dropbox'ов уже пользовался keymemo.
Пришло время уйти с keymemo — пришлось написать самому.

Уважаемые критикующие, пожалуйста критикуйте предметно, в чем принципиально проблемы моей поделки.
Пока критика была «неинформативно названные переменные», «не по стандарту», «по двум разным стандартам в одном проекте» (приятно что проектом назвали).
А не подскажете клиент под Мак для keepass хороший (кроме вебовой версии и wine+mono)
Пользуюсь MacPass. Исходники в гите лежат.
У него все печально с поддержкой браузерами, в частности сафари. Там клиент начинает работать как сервер, а расширение дергает его через веб. При этом он просто показывает все логины/пароли, не фильтруя по урлу( По факту все добавляю во встроенный keychain. Но — добавил и забыл. Если что — актуальный всегда под рукой.
Мож кто знает нормальное enterprise решение на эту тему?
Чтобы для комманды, селф хостед, с вариантами авторизации (домен/серт/сторонний плугин), и без браузер плугинов как passbolt (даже свой клиент лучше чем плугины, но в идеала браузер онли).
Что уже смотрел:
PassBolt
Vaultier (давно уже мертв вроде как)
По комментам из поста об оригинальном keymemo.com вам может подойдет webpassword.ru
Не селф-хостед
Подчистил, добавил подробностей для размещения на своих ресурсах.
https://github.com/keymemo/keymemo.github.io
Дополнить пост не дает отсутствие кармы, хотя волшебным образом пост перенёсся в «Я пиарюсь».
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории