Comments 162
Хорошо у вас получилось я себе делал похожее для того чтобы перестать юзать chrome для сохранения паролей, но пока не допилил. Только я использовал апи node.js для крипто функций и gzip. В итоге собирал все с помощью browserify.
+1
Интереса ради — как оно по скорости в ноде и браузере? Если сделать в keepass файл и поставить вычисления длиной в 1сек — за сколько откроется?
0
Напишите Доминику, пусть ссылочку добавит.
+1
Круто, спасибо! Я джва года этого ждал :) Когда-то тоже пытался соорудить нечто подобное на GWT, научился открывать базу в браузере, но на UI мне стало скучно и я забил.
+1
Пара вопросов:
1. А почему вы ограничиваете расширения открываемых файлов? Формально, расширение может быть любым, тем более для ключа.
2. Не разобрался, приложение может открывать базы, у которых одновременно задан пароль и ключ? Интуитивно не заработало…
3. Не думали реализовать возможность брать ключ из того же Dropbox, но уже без ограничения на Apps/KeeWeb?
1. А почему вы ограничиваете расширения открываемых файлов? Формально, расширение может быть любым, тем более для ключа.
2. Не разобрался, приложение может открывать базы, у которых одновременно задан пароль и ключ? Интуитивно не заработало…
3. Не думали реализовать возможность брать ключ из того же Dropbox, но уже без ограничения на Apps/KeeWeb?
+1
1. Kdbx обычно у всех называются kdbx, здесь нет смысла снимать ограничение. Ключ сейчас ограничен, потому что непонятно, что предлагается выбрать (это такая подсказка пользователю). Вобщем, я понял, кнопка с ключом интуитивно не понятна, надо придумать, что с ней сделать, и убрать ограничение. Подумаю, спасибо.
2. может, надо выбрать базу, нажать на кнопочку с ключом (справа от поля), выбрать файл, ввести пароль и нажать enter
3. про ключ в дропбоксе есть в todo; без ограничения на папку приложения — думал, как это лучше сделать. В том же приложении (всмысле приложение — dropbox app) не хочется давать много прав (могут и аппрув не дать), наверное сделаю ещё одно приложение, которое будет иметь доступ ко всему Dropbox пользователя, и для тех, кто хочет, можно будет выбрать такой вариант.
2. может, надо выбрать базу, нажать на кнопочку с ключом (справа от поля), выбрать файл, ввести пароль и нажать enter
3. про ключ в дропбоксе есть в todo; без ограничения на папку приложения — думал, как это лучше сделать. В том же приложении (всмысле приложение — dropbox app) не хочется давать много прав (могут и аппрув не дать), наверное сделаю ещё одно приложение, которое будет иметь доступ ко всему Dropbox пользователя, и для тех, кто хочет, можно будет выбрать такой вариант.
+1
1. На счет kdbx согласен. А по поводу ключа: все-таки KeePass пользуются обычно относительно продвинутые пользователи, и уж тем более, если они задали ключ. Сложности с выбором файла быть не должно, кмк.
2. Кнопка интуитивно понятна, но не работает. База, ключ, пароль «test». Пробовал сначала вводить пароль, потом указывать ключ, и наоборот — не открывает. ЧЯДНТ?
3. Звучит разумно.
2. Кнопка интуитивно понятна, но не работает. База, ключ, пароль «test». Пробовал сначала вводить пароль, потом указывать ключ, и наоборот — не открывает. ЧЯДНТ?
3. Звучит разумно.
0
1. согласен, ограничение уберу. может, перенесу кнопку ключа под пароль, а на её месте сделаю стрелочку-enter, сейчас из-за этого может быть путаница.
2. скорее всего — баг, спасибо, сегодня вечером скачаю вашу базу и посмотрю
3. там ещё есть chooser, на который аппрув не нужен, может с ним сделаю, погуглю ещё, как у других.
2. скорее всего — баг, спасибо, сегодня вечером скачаю вашу базу и посмотрю
3. там ещё есть chooser, на который аппрув не нужен, может с ним сделаю, погуглю ещё, как у других.
+2
Я открыл для себя, что ключи в KeePass бывают не только в формате XML (которые генерит KeePass), а ещё и простыми файлами, от которых в этом случае надо посчитать хэш. Спасибо, добавлю их поддержку. А ещё понял, что надо сделать обработку ошибок лучше: это у вас тестовый файл, а так базу с паролями-то не попросишь у пользователя на проверку; сделаю.
+1
Теперь этот ключ открывается, и ограничения нет, спасибо.
+1
Вам спасибо! Проверил — все работает так, как надо. Кстати, было бы классно добавить хоткей Cmd+B, который копирует логин в буфер. И, может быть, Cmd+U, который открывает ссылку в новом окне.
+1
Хоткеи такие сейчас не используются — добавлю, пусть будут, будет удобнее. Делаю новый ui для открытия, скоро он станет понятнее:
+1
Кстати. Было бы классно, если бы пароль в поле ввода можно было выделить с помощью Cmd+A. Объясню. Часто бывает, что пароль набираешь быстро и опечатываешься. Причем знаешь, что была опечатка, но точно не знаешь, сколько символов назад. Привычка — Cmd+A, Del и все сначала. Сейчас это не работает, приходится удаляться посимвольно.
+1
Должно выделяться, у меня работает и в хроме, и в мак-приложении. А в какой версии такой баг?
Я кажется понял, вы про мастер-пароль. Да, точно, сделаю обязательно.
Я кажется понял, вы про мастер-пароль. Да, точно, сделаю обязательно.
+1
KeeWeb v0.1.1, Mac OS X 10.11, Chrome 46.0.2490.80 (64-bit). Может быть, конечно, что я просто как-то не так собрал.
0
Если что, я пароль к самой базе, а не сохраненные в ней пароли имею в виду.
0
Kdbx обычно у всех называются kdbx, здесь нет смысла снимать ограничениеУ меня файл имеет другое расширение. Не вижу никакого смысла в ограничении по расширению, зачем оно?
0
Под Windows чертовски кривой инсталятор. Как можно было его собрать без:
?
!insertmacro MUI_PAGE_DIRECTORY
...
!insertmacro MUI_UNPAGE_CONFIRM
?
+2
Я не совсем понимаю, что это значит. Напишите, пожалуйста, баг в electron-builder, проект вроде бы живой и активно поддерживается. А ещё они ассоциации с типами файлов пока так и не научились делать…
0
Я добавил в шаблон поддержку нескольких языков, юникод и несколько страниц. Могу сделать и ассоциации только название параметра нужно.
Попробуйте этот шаблон: https://github.com/ANTPro/electron-builder/blob/master/templates/installer.nsi.tpl
если соберется, то сделаю патч.
Попробуйте этот шаблон: https://github.com/ANTPro/electron-builder/blob/master/templates/installer.nsi.tpl
если соберется, то сделаю патч.
0
Не собралось:
c:\Projects\keeweb>electron-builder KeeWeb-win32-ia32 --platform=win --out=. --config=./util/electron-builder.json
- Running electron-builder 2.0.2
- Starting creation of installer for ´win
makensis: Processing config: C:\Program Files (x86)\NSIS\nsisconf.nsh
makensis: Processing script file: "C:\Users\Antelle\AppData\Local\Temp\11jjzaeuvakgwsg4gs848installer.nsi" (ACP)
Unicode expects 1 parameters, got 4.
Usage: Unicode true|false
Error in script "C:\Users\Antelle\AppData\Local\Temp\11jjzaeuvakgwsg4gs848installer.nsi" on line 5 -- aborting creation process
Finished makensis with code 1
0
А почему вы выбрали electron, а не nw.js?
0
Давно хотелось попробовать и изучить (с первого взгляда очень понравился), а с nw.js дело я уже имел.
0
И что в итоге? electron себя оправдал? Какие плюсы/минусы в сравнении с nw.js?
+7
На первый взгляд, примерно то же самое. Детально я пока интересного рассказать могу не много, потому что приложение собрал только недавно и ещё в подробности не вдавался. Поживу с приложением, поиграюсь, поизучаю — если будет что рассказать, напишу пост, что и как. Из первого непонравившегося в электроне — отсутствие поддержки winxp и авто-апдейр только под мак.
+1
присоединяюсь к вопросу electron vs nw.js
+4
Ещё есть BrowsePass — существенно попроще, но исторически раньше :)
А зачем в TODO указаны mobile apps? Их же и так на каждую платформу хватает.
А зачем в TODO указаны mobile apps? Их же и так на каждую платформу хватает.
0
А что лучше использовать для android?
0
Есть, я даже рассматривал его как вариант форка, но передумал, слишком много переделок.
Mobile apps указаны, потому что существующие под iOS меня не устраивают (например, нет синка с дропбоксом, это совсем грустно), а хочется уже переползти на keepass, потому что 1password стал требовать с меня $60, при том что я сначала купил приложение за 60, а потом обновился за 20. Там посмотрю, если с PhoneGap оно быстро и просто не полетит, про приложения я скорее всего передумаю, а если полетит — и хорошо.
Mobile apps указаны, потому что существующие под iOS меня не устраивают (например, нет синка с дропбоксом, это совсем грустно), а хочется уже переползти на keepass, потому что 1password стал требовать с меня $60, при том что я сначала купил приложение за 60, а потом обновился за 20. Там посмотрю, если с PhoneGap оно быстро и просто не полетит, про приложения я скорее всего передумаю, а если полетит — и хорошо.
0
> 1password стал требовать с меня $60
Стойте, а в честь чего он стал требовать еще бабло? Там же разовая оплата софта?
Стойте, а в честь чего он стал требовать еще бабло? Там же разовая оплата софта?
0
За апдейты просят: багфиксы, секьюрити фиксы, новые операционки. Нет, я не говорю, что это должно быть бесплатным, но 60 баксов — это перебор.
0
За апдейты у меня вроде бы не просили еще, в апп сторе они приходят периодически. За другую операционку да, это печально :(
0
О, вы ещё не попали на эту их замануху. Я уже за 4 (кажется) года попал. Раз в год-два выходит новая мажорная версия, апдейт до неё стоит денег. А старая — да, ваша навечно, но больше не обновится.
0
Хм, я покупал изначально v4.4.1 (сейчас инвойс поднял) год с лишним назад. Сейчас стоит 5.4, все обновлялось через апп стор, ниразу дополнительно не платил.
0
У меня был десктоп, mac+windows, страничка проверки возможности апдейта по ключу говорит, что обновиться со скидкой уже нельзя. Мобильный да, кажется обновился в этот раз.
0
UFO just landed and posted this here
UFO just landed and posted this here
Попробую обязательно, спасибо что упомянули. Может кстати получиться и не быстрее, потому что здесь задача в том чтобы сделать много итераций шифрования ключа, а не просто последовательно обработать блоб. Проверим, если полетит, интегрирую.
0
Я не знаком ни с тем, ни с другим, но в коде для WebCrypto на каждый раунд добавляются накладные расходы на вызов webCrResult, тогда как в asmCrypto transformRounds передаётся куда-то глубже, поближе к коду шифрования.
0
Да, я как раз писал об этом: asmCrypto я пропатчил таким образом, чтобы количество циклов поддерживалось внутри библиотеки т.е. совсем-совсем близко к asm.js-шифрованию, без копирования буферов. В webcrypto вряд ли вообще когда-нибудь поддержат такой параметр, потому что он странный и в общем случае ненужный. Скорее всего накладные расходы на маршалинг в webcrypto для такой задачи оказались слишком велики. Поэтому таки ждём WASM, он спасёт производительность веба.
0
Да, ECB самый быстрый шифр (фидбека-то нет). Но если эмулировать другим режимом — затраты на фидбек всё равно в алгоритме будут, просто он не будет учитываться. Я сейчас собрал не рабочий вариант, а прототип для оценки производительности, в рабочем варианте, конечно, надо эмулировать ECB, чтобы шифровалось правильно.
На два потока разделить можно (равно как можно и в asmCrypto). Важен порядок: у asmCrypto 10мс, у WebCrypto — 500. Пока что не вижу возможности его использования для этой задачи.
На два потока разделить можно (равно как можно и в asmCrypto). Важен порядок: у asmCrypto 10мс, у WebCrypto — 500. Пока что не вижу возможности его использования для этой задачи.
0
Я о том, что если сравнивать производительность — то в одинаковых условиях. А то в вышеприведённом тесте asmCrypto работает в заведомо более лёгком режиме, чем WebCrypto.
Плюс, накладные расходы в WebCrypto можно сократить, делая каждым вызовом эдак с сотню-тысячу раундов как описано во втором ответе на StackOverflow.
Если WebCrypto и правда в разы быстрее, как сказал Lockal, усилия могут окупиться, особенно на мобильных девайсах (у меня некоторые юзеры по 10 млн раундов ставят-с...)
Плюс, накладные расходы в WebCrypto можно сократить, делая каждым вызовом эдак с сотню-тысячу раундов как описано во втором ответе на StackOverflow.
Если WebCrypto и правда в разы быстрее, как сказал Lockal, усилия могут окупиться, особенно на мобильных девайсах (у меня некоторые юзеры по 10 млн раундов ставят-с...)
+1
Про несколько вызовов в одном — это как раз то, чего хотелось. Попробую завтра.
0
WebCrypto обработал 10M раундов за 1-2 сек способом из второго ответа на SO. Добавлю поддержку обязательно, спасибо большое. Если делать это в 2 потока — можно открыть даже быстрее десктопа.
+1
Спасибо, что такой пиар моей работе сделали, я автор asmcrypto.
Что касается webcrypto и AES, чтобы не ходить по граблям, взгляните на мой другой проект, github.com/vibornoff/webcrypto-shim, — там исправлены косяки реализаций в IE и Safari.
К сожалению, IE < 11 и Safari < 8 не имеют реализации webcrypto api, поэтому придется остаться на asmcrypto если хотите большей поддрежки старых браузеров.
Что касается webcrypto и AES, чтобы не ходить по граблям, взгляните на мой другой проект, github.com/vibornoff/webcrypto-shim, — там исправлены косяки реализаций в IE и Safari.
К сожалению, IE < 11 и Safari < 8 не имеют реализации webcrypto api, поэтому придется остаться на asmcrypto если хотите большей поддрежки старых браузеров.
+2
Ну и поскольку шифруются половинки ключа, это дело отлично делится на два параллельных потока ;)
0
UFO just landed and posted this here
Сделал WebCrypto, время открытия теперь, если он поддерживается, практически как в KeePass. Опытным путём подобрал количество операций, производимых за один вызов WebCrypto, это где-то 10 000 — 100 000.
график
+2
Интересно было бы на код взглянуть, как вы это сделали.
Сколько в итоге итераций может сделать браузер (на среднем компе) за секунду, на чистом js?
Сколько в итоге итераций может сделать браузер (на среднем компе) за секунду, на чистом js?
0
Вот код, у меня результаты такие: MacBook Pro 2012, 2.5 GHz Intel Core i5 x2 — 11Mrounds/sec, Windows 8, 3.2 GHz Intel Core i7 x4 — 17Mrounds/sec (проверял на Chrome).
Демо на jsbin, можете проверить у себя, 18M итераций
Демо на jsbin, можете проверить у себя, 18M итераций
0
17M 2.2 сек.
Но не разглядел сходу в коде, это pbkdf алгоритм или нет?
Но не разглядел сходу в коде, это pbkdf алгоритм или нет?
0
Нет, это алгоритм, используемый KeePass для получения мастер-ключа. Много раз шифруется блок AES-ECB, что аналогично длинной нулевой последовательности AES-CBC.
0
Ясно.
Но есть ощущение, что таким образом можно делать хороший ключ из (относительно) несложного пароля. Но найденные до ныне js решения pbkdf2 дают не более 10^4 итераций за 1-2 секунды.
Есть мысли как этот алгоритм для этих целей прикрутить?
Но есть ощущение, что таким образом можно делать хороший ключ из (относительно) несложного пароля. Но найденные до ныне js решения pbkdf2 дают не более 10^4 итераций за 1-2 секунды.
Есть мысли как этот алгоритм для этих целей прикрутить?
0
AES-ом заменить PBKDF2 не получится. А зачем? В WebCrypto есть встроенная поддержка pbkdf2, она нативная и должна работать быстрее.
0
А сколько у них получилось? Сам алгоритм ещё сложнее, т.е. 1M pbkdf не получится, даже нативные реализации столько не умеют.
0
Там 1000. Встречал ещё 10000.
Интересно какой нынче максимум у нативных за 1-2 сек. Надо ещё покопаться.
Интересно какой нынче максимум у нативных за 1-2 сек. Надо ещё покопаться.
0
Будет ли возможность использовать свои загруженные иконки?
0
У самого KeePass есть плагин Download favicons как то так называется и он позволяет загружать любые фавиконки. Да что там, в самом Кепасе можно загружать и назначать любые картинки, просто этот плагин частенько упрощает процесс.
Типа того получится https://i.gyazo.com/1c8ba175e23a963e2bb63f41819d9519.png
Типа того получится https://i.gyazo.com/1c8ba175e23a963e2bb63f41819d9519.png
0
Будет обязательно, в TODO у меня это есть, фича полезная, фавиконы для сайтов нужны обязательно. В читалке поддержка иконок есть, нет её только в UI. Засада в чтении формата ico под маком и линкусом, придумаю что-нибудь, как более важное порешаю.
0
Теперь можно. И фавиконки даже сделал. Правда не нашёл ни одного бесплатного сервиса, способного возвращать иконку больше чем 16x16, поэтому в вебе только 16x16 из www.google.com/s2/favicons.
0
А вот и появился стоящий повод перейти с kdb на kdbx. Спасибо за приложение :).
+2
Интересно что решили встроить поддержку Dropbox.
Может тогда уж и протокол KeePassHttp запилить, чтобы интеграция с ChromeIPass \ PassIFox тоже была? Это всё же самый популярный плагин.
Может тогда уж и протокол KeePassHttp запилить, чтобы интеграция с ChromeIPass \ PassIFox тоже была? Это всё же самый популярный плагин.
+2
Спасибо за идею, добавлю в TODO, выглядит совсем просто, сделаю. Правда получится только для десктоп-приложения, конечно же.
+1
Еще здорово было бы поддержку OneDrive. Не все пользуются дропбоксом. Тем более теперь, когда первый в виндовсе по умолчанию стоит.
Без автозаполнения полей браузера тяжко. А что мешает сделать поддержку ChromeIPass в браузере? Можно же тоже его запихать в фоновую страницу собственного браузерного плагина. Тогда и виндовс приложение не понадобится.
Без автозаполнения полей браузера тяжко. А что мешает сделать поддержку ChromeIPass в браузере? Можно же тоже его запихать в фоновую страницу собственного браузерного плагина. Тогда и виндовс приложение не понадобится.
0
Есть такое, когда-нибудь будет. Если я правильно понял, плагин подключается к http-серверу, поднимаемому из приложения. Вот из веба такой сервер не поднять, там надо по-другому интегрироваться. Посмотрю потом про интеграцию с плагинами, как лучше и правильнее. Два плагина в браузере точно ставиться не будет, это очень плохой экспериенс.
0
Действительно, фиксированный порт на localhost.
Расширения хрома поддерживают listen.
По поводу интеграции passifox\chromeipass — в продвинутых настройках расширения можно оверрайдить адрес keepasshttp сервера, но там нет поддержки https, поэтому удалённо это делать опасно, и настройка спрятана под красную кнопку.
Расширения хрома поддерживают listen.
По поводу интеграции passifox\chromeipass — в продвинутых настройках расширения можно оверрайдить адрес keepasshttp сервера, но там нет поддержки https, поэтому удалённо это делать опасно, и настройка спрятана под красную кнопку.
0
По моему классная идея, с удовольствием заменил бы приложение одним html-файлом.
Сразу к вам фич-реквест: было бы крайне удобно, если бы оно как-то запоминало последний открытый файл, если это возможно сделать вообще.
Перешёл бы на вас, когда вы доберётесь второй-третьей версии.
Сразу к вам фич-реквест: было бы крайне удобно, если бы оно как-то запоминало последний открытый файл, если это возможно сделать вообще.
Перешёл бы на вас, когда вы доберётесь второй-третьей версии.
+1
Десктоп-приложения запоминают. Веб тоже будет, когда будет реализовано оффлайн-хранилище, чтобы базу из Дропбокса можно было бы сохранить в indexedDb, открыть оффлайн и засинкать, когда появится сеть — туда же будут сохраняться и открытые из файлов. Пока что прорабатываю UX для такого хранилища, чтобы было понятно, не страшно и без принудительных сохранений всего и вся без вопросов.
Согласен, да хотя бы первой. Сейчас что есть — сыро. Пока очень сыро, сам пользуюсь, натыкаюсь на баги, исправляю.
Согласен, да хотя бы первой. Сейчас что есть — сыро. Пока очень сыро, сам пользуюсь, натыкаюсь на баги, исправляю.
0
С защитой данных в контролах понятно, а как насчет расшифрованных данных во внутренних переменных? В дампе найти можно?
0
Все пароли и кастомные поля, помеченные защищёнными, хранятся заXOR-енными (код) и достаются только когда нужно значение (например, при копировании); по ним ещё предусмотрен поиск без расшифровки значения целиком. Остальное хранится открытым текстом.
Сейчас в UI есть недоделка: пароли изменяются в обычном инпуте, безопасный контрол сейчас только на экране ввода мастер-пароля, это пока что не успел.
Сейчас в UI есть недоделка: пароли изменяются в обычном инпуте, безопасный контрол сейчас только на экране ввода мастер-пароля, это пока что не успел.
0
достаются только когда нужно значение
Вот это значение потом зачищается из памяти или нет? Я не в курсе, как с этим в ноде, но подозреваю, что проблемы есть.
Если в нужный момент завалить систему с крэшдампом, там будет расшифрованный пароль?
0
Нет, уже не получится сделать. Значение надо обязательно достать в string, а это память, управляемая GC, к ней нет доступа. Вот когда будет авто-тайп — доставать значение не потребуется, тогда удастся этого избежать.
0
Вообще сделать, конечно, получится, если захотеть: можно из плюсово аддона залезть внутрь V8::String и зачситить. Скорее всего уже что-то есть такое, надо поискать.
0
Просто блестящая работа! Это действительно здорово.
Не совсем по теме — а почему вы .idea не добавили в .gitignore? (Вопрос по репозиторию)
Не совсем по теме — а почему вы .idea не добавили в .gitignore? (Вопрос по репозиторию)
0
Спасибо.
Всегда игнорю из .idea только workspace.xml — чтобы при открытии проекта в идее, в нём уже были настройки, библиотеки, исключения dist-ов и всякое.
Всегда игнорю из .idea только workspace.xml — чтобы при открытии проекта в идее, в нём уже были настройки, библиотеки, исключения dist-ов и всякое.
+2
Не спорю что такое решение имеет место быть и удобно пока Вы один, но если вдруг в проект вольются еще разработчики, это решение будет многим мешать.
Я конечно вряд ли смогу помочь с проектом, но просто для информации говорю.
Я конечно вряд ли смогу помочь с проектом, но просто для информации говорю.
+1
И чем же оно будет мешать?
+2
например разным содержимым файла misc.xml
0
Вопрос, игнорить .idea или нет — интересный, конечно. Вот на работе у нас настройки коммитятся, мы к этому пришли, потому что проект настраивать каждый раз было сложно. Тут даже рассказано, как их закоммитить. Кто-то считает, что коммитить их не надо вообще. С другой стороны, это гит, если мешают изменения в каком-то файле, всегда есть git update-index --assume-unchanged
+1
Общие настройки можно частично донести через Settings Repository.
Я не призываю целиком игнорить .idea/ — просто надо понимать, что будет мешать других разработчикам, а что нет.
Те же misc.xml и workspace.xml это сугубо персональные файлы.
Файл modules.xml смешанный — в нём есть как общие, так и персональные настройки.
А каталог runConfigurations/ и вовсе не должен игнориться — он предназначен для командной работы
Я не призываю целиком игнорить .idea/ — просто надо понимать, что будет мешать других разработчикам, а что нет.
Те же misc.xml и workspace.xml это сугубо персональные файлы.
Файл modules.xml смешанный — в нём есть как общие, так и персональные настройки.
А каталог runConfigurations/ и вовсе не должен игнориться — он предназначен для командной работы
+1
Если будет популярен, в модели всегда можно сделать поддержку другого формата. Хотя я не вижу причин на него переходить. Чем он более грамотный — хранением пароля в отдельном файле? Ну да, когда-то может быть удобно, хотя я думаю, что передача 50..100кб на один пароль (вся база поменяется) в условиях современного интернета жить не мешает.
В формате есть только пароль, а это значит, что все клиенты должны изобретать собственный формат для цветов, иконок,… — клиент получится или совсем без фич, или со своим форматом, а вот этого уже не хотелось бы.
В формате есть только пароль, а это значит, что все клиенты должны изобретать собственный формат для цветов, иконок,… — клиент получится или совсем без фич, или со своим форматом, а вот этого уже не хотелось бы.
0
Отдельные файлы позволяют вносить правки параллельно с нескольких устройств. Например, ноут в оффлайне, я на нём сохраняю новый пароль и выключаю. Даже если база была изменена до его следующего включения, в большинстве случаев всё должно синхронизироваться без вопросов. У официального кипаса, вроде, уже что-то есть на этот счёт, но сторонние клиенты вряд ли это поддерживают.
А с расшариванием вообще сказка. Каждый файл зашифровывается открытыми ключами тех, кому предоставляем доступ. При этом личные пароли можно вообще не выкладывать на общий ресурс, а расшаривать только отдельную директорию.
На счёт формата — вы правы. Нужно его развивать пока реализаций не много. Но ведь ограничений никаких нет. Всё, что может KeePass, можно реализовать и в формате pass.
Не подумайте, что я пришёл сюда критиковать ваш титанический труд. Просто очередная скорбь по тому, что более совершенные технологии часто проигрывают более распространённым.
А с расшариванием вообще сказка. Каждый файл зашифровывается открытыми ключами тех, кому предоставляем доступ. При этом личные пароли можно вообще не выкладывать на общий ресурс, а расшаривать только отдельную директорию.
На счёт формата — вы правы. Нужно его развивать пока реализаций не много. Но ведь ограничений никаких нет. Всё, что может KeePass, можно реализовать и в формате pass.
Не подумайте, что я пришёл сюда критиковать ваш титанический труд. Просто очередная скорбь по тому, что более совершенные технологии часто проигрывают более распространённым.
+1
В кипассе есть мёрж, и я сделаю авто-мёрж при синхронизации, с оффлайном по-другому не получится.
Про расшаривание согласен, но это уже больше энтерпрайз-фича. С другой стороны в кипасс атомарная единица — файл. Не так гибко, но тоже можно.
Реализовать можно, но поддерживать будет только реализовавший клиент или тот, кто согласится с принятым форматом. Официально формат не установлен, к сожалению.
Про расшаривание согласен, но это уже больше энтерпрайз-фича. С другой стороны в кипасс атомарная единица — файл. Не так гибко, но тоже можно.
Реализовать можно, но поддерживать будет только реализовавший клиент или тот, кто согласится с принятым форматом. Официально формат не установлен, к сожалению.
0
Блин, как круто! — все работает, офигенно.
Добавтье пожалуйста поддержку синхронизации измененных данных при сохранении, если открытый файл был изменен другим человеком/программой.
И кастомные иконки растровые, что бы значки сайтов отображались.
А так, чую переезд с официального клиента на ваш вовсе не за горами :)
Добавтье пожалуйста поддержку синхронизации измененных данных при сохранении, если открытый файл был изменен другим человеком/программой.
И кастомные иконки растровые, что бы значки сайтов отображались.
А так, чую переезд с официального клиента на ваш вовсе не за горами :)
0
Заметил 2 проблемы: не работает вставка (это фича?); если начать создавать новую запись, переключиться в другое окно чтобы что-то скопировать, вернуться обратно, окно сбросится. :(
0
Есть ли поддержка аппаратных ключей как второго фактора авторизации? Таких как Yubico Neo.
0
Нет, вообще не знал, что даже в KeePass так можно. А как это делается — плагином?
0
Я пользуюсь LastPass, там такое возможно. Если бы кто-то реализовал в открытом продукте — было бы круто.
0
О, у них даже для node.js либа есть developers.yubico.com/OTP/Libraries/List_of_libraries.html
Просто достаточно поддержать будет.
Просто достаточно поддержать будет.
0
А как к этому отнесется keepass? базу-то неплохо бы держать в обратно-совместимом формате.
0
Ну так с базой это не связано. Там ключи собираются вместе и затем считается общий хеш, ни как не влияющий на содержание базы. Просто появится еще одни тип ключа.
0
Я нашёл, там плагин есть какой-то, т.е. уже поддерживает (я правда не изучал, насколько что там как сделано, посмотрю) — вообще keepass поддерживает любых кастомных провайдеров (в виде дополнительного значения в мастер-хэше), так, к примеру, там сделана встроенная привязка к windows-аккаунту.
0
В мобильном хроме (samsung s5) — падает после авторизации в дропбоксе.
0
текст немного мелковат в основном окне, возможно ли сделать опцию выбора размера шрифта?
0
Огромная работа, спасибо.
Не могу сказать что работает без сучка и я даже не знаю почему случались баги.
Сначала не хотел файл сохраняться на дропбокс (просто висел и всё), только я решил подебажить и начал писать об этом — начал сохраняться. Может запрос не проходил (там есть timeout?)
Потом Сафари на яблофоне не видела его содержимого. Но после отключения режима Private который может очень мешать — заработало.
В Хроме на яблофоне вообще не заводится. Всё заканчивается страницей с цветом бэграунда приложения и ничем больше. take.ms/06SAv Даже если запрашивать Desktop page. Но я его не особо использую на мобильном.
Я просто FYI это всё описываю, думаю вам самому интересно какие бывают проблемы и бывают ли.
Не могу сказать что работает без сучка и я даже не знаю почему случались баги.
Сначала не хотел файл сохраняться на дропбокс (просто висел и всё), только я решил подебажить и начал писать об этом — начал сохраняться. Может запрос не проходил (там есть timeout?)
Потом Сафари на яблофоне не видела его содержимого. Но после отключения режима Private который может очень мешать — заработало.
В Хроме на яблофоне вообще не заводится. Всё заканчивается страницей с цветом бэграунда приложения и ничем больше. take.ms/06SAv Даже если запрашивать Desktop page. Но я его не особо использую на мобильном.
Я просто FYI это всё описываю, думаю вам самому интересно какие бывают проблемы и бывают ли.
0
С добавлением и редактированием вообще на мобильных сейчас глючно. О проблемах интересно, конечно, буду фиксить по мере возможности, как доберусь до мобильных. На андроиде пока вообще не смотрел даже, заводится ли.
Хм, в создании группы кнопка OK и правда нужна, спасибо (потому что непонятно, как выйти из диалога), в остальных местах кнопки OK нет принципиально: где можно, сохраняется сразу же, без кнопок.
А зачем на десктопе дропбокс? Так же и так есть файлы из дропбокса.
Хм, в создании группы кнопка OK и правда нужна, спасибо (потому что непонятно, как выйти из диалога), в остальных местах кнопки OK нет принципиально: где можно, сохраняется сразу же, без кнопок.
А зачем на десктопе дропбокс? Так же и так есть файлы из дропбокса.
0
> Так же и так есть файлы из дропбокса.
У меня нет. Я не использую десктопный Dropbox. Только Web. Да и в любом случае в синхронизации может быть задержка. Может у меня как раз льётся что-то на дропбокс (если бы я использовал его). И то что я открою с десктопа будет не то же, что сейчас уже на сервере.
У меня нет. Я не использую десктопный Dropbox. Только Web. Да и в любом случае в синхронизации может быть задержка. Может у меня как раз льётся что-то на дропбокс (если бы я использовал его). И то что я открою с десктопа будет не то же, что сейчас уже на сервере.
0
Пожалуйста, сделайте возможность удалить Attachment из записи. Сейчас можно только всю запись грохнуть.
0
Antelle о похоже дело не в timeout. При нажатии Cmd+S (Mac OS) запроса на Dropbox вообще не происходит, хотя «прогресс» показывает.
Вот видео. После очистки событий в консоли нажимаю Cmd+S dl.dropbox.com/s/796zvtnqrrcvg9x/screencast_2015-11-06_13-47-59.mp4?dl=0
Вот видео. После очистки событий в консоли нажимаю Cmd+S dl.dropbox.com/s/796zvtnqrrcvg9x/screencast_2015-11-06_13-47-59.mp4?dl=0
0
С добавлением в Safari тоже есть проблемы
0
Практически нигде не предусмотрено кнопок «Ок». Войти на мобильном можно только нажав «Ввод» на выдвижной клавиатуре. Но это ок. А вот группу уже не создашь — ввод на клавиатуре не работает.
upd: а, так группу и на десктопе с трудом можно создать. Это нужно догадаться что поле работает только на потерю фокуса
upd: а, так группу и на десктопе с трудом можно создать. Это нужно догадаться что поле работает только на потерю фокуса
0
В Electron приложении для Mac OS почему-то нету возможности открыть с DropBox в принципе
0
В десктопной версии для Linux — аналогично.
0
Так задумано, там проверяется, а не десктоп ли это, и отключается дропбокс (предполагается, что файлы из дропбокса есть всегда и так, и в много% случаев это справедливо). Я пока думаю над тем, как, не прилагая усилий, сделать, чтобы работал и дропбокс (для этого надо origin как у сайта, а не file://) и настраиваемые автоапдейты (а для него надо уметь открывать страничку из файла). Как/если придумаю, будет дропбокс и на десктопе.
0
Вы просто прочитали мои давние мысли и реализовали! Низкий поклон вам!
У меня история началась с переходом на мак: долго искал что же можно использовать, в итоге купил KyPass Companion. Он оказался настолько глюкавым, что пришлось просить вернуть деньги. Хотелось мультиОСное с возможностью синхронизации в облаке и тут я попадаю на Ваш пост.
С удовольствием сделаю донат.
У меня история началась с переходом на мак: долго искал что же можно использовать, в итоге купил KyPass Companion. Он оказался настолько глюкавым, что пришлось просить вернуть деньги. Хотелось мультиОСное с возможностью синхронизации в облаке и тут я попадаю на Ваш пост.
С удовольствием сделаю донат.
0
Под мак сейчас вообще клиентов хороших нет. Есть macpass, но он мало что умеет, KeePassX странный, в KeePass из-под моно, даже если закрыть глаза на интерфейс, файлы создаются через раз.
настолько глюкавымОсторожно, у меня пока глюки тоже есть, ещё 0.x…
0
Я установил и начал активно пользоваться. Словлю баги, обязательно сделаю репорт.
А подскажите, куда писать предложение Feature Requests? Может есть общедоступный такой список?
А подскажите, куда писать предложение Feature Requests? Может есть общедоступный такой список?
0
Подскажите, какие недостатки у варианта сохранять kdbx в indexedDB, а не в файловой системе клиента? Backup и restore из файла, безусловно, полезны, но режимом по умолчанию для web-приложения могла бы быть браузерная база.
0
Никаких нет. Именно так сейчас и сделано: для браузера сохраняется в indexeddb и предлагается открыть оттуда оффлайн (если база была открыта из дропбокса или залита файлом). Десктоп-приложения сохраняет файлы, открытые из файлов, обратно, в ФС.
0
Виноват. Меня смутила фраза:
Работать, каждый раз скачивая файл, неудобно, собрал приложения на electron.
0
Кажется, я понял, о чём вы. Сейчас файл считается сохранённым, когда пользователь его скачал (потому что indexeddb исчезнет при переустановке браузера) — точечка пропадает, страничка закрывается без предупреждения,… Вы имеете в виду, что хорошо было бы позволить сделать режим — открывать из indexeddb и работать прямо с ним, а в файл экспортировать по желанию. Согласен, есть оно в TODO, но сделано будет нескоро, вместе с другими хранилими кроме дропбокса, потому что требует решить задачи:
— полноценный оффлайн и синк (пока думаю над мат.моделью, будет в декабре, напишу пост на хабр про CRDT)
— рефакторинг работы с хранилищем (будет в январе)
— UX и UI выбора хранилища (уже после 1.0)
— полноценный оффлайн и синк (пока думаю над мат.моделью, будет в декабре, напишу пост на хабр про CRDT)
— рефакторинг работы с хранилищем (будет в январе)
— UX и UI выбора хранилища (уже после 1.0)
0
И все-таки, расскажите параноику, что с безопасностью у такого решения? (куда могут уйти мои пароли, и файлы баз?)
Страшно.
и как это может зависеть не только от кода автора, но и кода сторонних библиотек?
Страшно.
и как это может зависеть не только от кода автора, но и кода сторонних библиотек?
0
Мастер-пароль в памяти в plaintext не хранится даже в момент ввода, другие пароли и protected-поля достаются только когда вы запрашиваете редактирование (безопасное редактирование будет попозже) или копирование. Я привёл скриншот известного приложения, которое пароли вот вообще не XOR-ит.
Файлы баз никуда никогда не отправляются, приложение полностью оффлайновое, ни одного ресурса ниоткуда не загружает, можете отключиться от сети и работать. В десктопе апдейт-чек при желании полностью отключаем, работает по https.
> как это может зависеть от кода автора
полностью, разумеется
> и кода сторонних библиотек
библиотеки, связанные напрямую с чтением kdbx и дешфировкой: kdbxweb (принадлежит автору), включающий в себя asmCrypto, pako и xmldom. asmCrypto используется из форка автора, pako и xmldom sensitive data не обрабатывают и по сети ходить не умеют.
Всё остальное (backbone и разные либы, если интересно — список в Settings/About) тоже open-source и наличие в них закладок специально для этого приложения крайне маловероятно.
Файлы баз никуда никогда не отправляются, приложение полностью оффлайновое, ни одного ресурса ниоткуда не загружает, можете отключиться от сети и работать. В десктопе апдейт-чек при желании полностью отключаем, работает по https.
> как это может зависеть от кода автора
полностью, разумеется
> и кода сторонних библиотек
библиотеки, связанные напрямую с чтением kdbx и дешфировкой: kdbxweb (принадлежит автору), включающий в себя asmCrypto, pako и xmldom. asmCrypto используется из форка автора, pako и xmldom sensitive data не обрабатывают и по сети ходить не умеют.
Всё остальное (backbone и разные либы, если интересно — список в Settings/About) тоже open-source и наличие в них закладок специально для этого приложения крайне маловероятно.
+2
А, еще, извините если вопрос глупый: дополнения браузера имеют доступ к данным друг друга? т.е. используя подобное дополнение, и условно небезопасное сможет ли оно получить доступ к паролям? (как я понял вы пока не планируете создавать дополнений?)
И, правильно ли я понимаю, пока отсутствует дополнение — нужно каждый раз в ручную находить в приложении нужный сайт, логин и пароль, и дважды копировать из приложения в браузер данные?
И, правильно ли я понимаю, пока отсутствует дополнение — нужно каждый раз в ручную находить в приложении нужный сайт, логин и пароль, и дважды копировать из приложения в браузер данные?
0
> имеют доступ к данным друг друга? нет. но дополнений у меня пока нет, это просто страничка
> используя подобное дополнение, и условно небезопасное сможет ли оно получить доступ к паролям? да. если какое-нибудь дополнение имеет доступ к страничкам, оно может сделать с ними всё что угодно, в том числе и с этой страничкой
> нужно каждый раз… — да. авто-тайпа и интеграции с плагинами пока нет.
Про первые два вопроса. Если предположить, что в браузере есть небезопасные дополнения — лучше использовать десктоп-приложение, оно не зависит от браузера, это просто приложение с интегрированным вебкитом в качестве движка. Но всё равно пароль в конечном счёте так или иначе попадёт в браузер, так что лучше дополнения сомнительные не ставить.
> используя подобное дополнение, и условно небезопасное сможет ли оно получить доступ к паролям? да. если какое-нибудь дополнение имеет доступ к страничкам, оно может сделать с ними всё что угодно, в том числе и с этой страничкой
> нужно каждый раз… — да. авто-тайпа и интеграции с плагинами пока нет.
Про первые два вопроса. Если предположить, что в браузере есть небезопасные дополнения — лучше использовать десктоп-приложение, оно не зависит от браузера, это просто приложение с интегрированным вебкитом в качестве движка. Но всё равно пароль в конечном счёте так или иначе попадёт в браузер, так что лучше дополнения сомнительные не ставить.
+2
А что с поддержкой U2F? Планируется?
0
UFO just landed and posted this here
Only those users with full accounts are able to leave comments. Log in, please.
Как я делал веб-версию KeePass