Видео ролики бесплатно онлайн

Смотреть аниме видео

Официальный сайт physbook 24/7/365

Смотреть видео бесплатно

dancingrobot84 19.07.2011 16:35

Qt SoftwarePassmate - yet another хранилка паролей

Main window

Здравствуйте, дорогие любители пингвинов и прочей живности!

Сегодня на ваш суд я бы хотел представить свою небольшую, но симпатичную программку для хранения паролей. На днях с моей легкой руки она уже заимела версию 0.5.1, которую вполне можно применять промышленно:) Вобщем, прошу под кат всех, кого мне удалось заинтриговать.

И что она умеет?

Passmate сохраняет пароли и файлы в зашифрованном виде в некотором storage-файле. Используется алгоритм шифрования AES256, соответственно одну вещь запомнить придется - это ключ к storage (который еще и придумать надо).

Что мне нужно, чтобы она работала?

Нужно всего ничего: libpcre, openssl и Qt4. Последнее можно вычеркнуть любителям консольных программ, ибо и такая версия имеется.

Это понятно, а вот как ее установить? Apt-get, не?

К сожалению, пока не :( Пока даже ebuild для своей любимой Gentoo я еще не успел сделать из-за отсутствия времени. Но исходный код Passmate находится на Github'e, а значит можно просто его оттуда загрузить и собрать все самому. Благо, что с помощью CMake этот процесс сильно упрощается. Подробную инструкцию можно найти здесь в разделе Compiling.

Апдейт: Пакет для Debian/Ubuntu здесь.

Зачем люди что-то придумывают? Я вот пользуюсь <�имя программы> и горя не знаю!

Это же отлично, что у вас есть подходящая программа! Мне когда-то пришлось задуматься над вопросом сохранности паролей и ни одна из известных программ не подошла. Взять хотя бы KeePassX. Я вот не люблю кучу полей, форм, таблиц... Хотелось чтобы все было просто и красиво. Поэтому и решил DIY.

Вот, собственно, что у меня вышло.

Add new password
Add new file
Delete entry
File window
На последок

Чего бы мне хотелось? Мне бы хотелось услышать гневных пользователей, ВНЯТНО говорящих об эпических (не меньше) ошибках в данной программе. Мне бы хотелось увидеть в pull-requestах смелых и терпеливых девелоперов, готовых присоединиться к разработке и копанию моего быдлокода. Мне бы хотелось увидеть во Входящих в Gmail гениальные и интересные идеи для Passmate. Вот чего бы мне хотелось.

Т.к. я немного взволнован, то мог упустить что-то важное или не очень. Оставляйте комментарии к этому посту или пишете мне сразу на , я постараюсь на все вопросы ответить.

Спасибо за внимание!

Qt-Apps page


Тэги: passmate qt пароли хранение паролей
+ 14 -
Похожие Поделиться

enot 19.07.2011 17:54 #
+ -8 -
еще один хелловорлд? (зачем? plain text + openssl + пара функций в .bashrc. а еще лучше память тренировать :)
алсо, смысл использовать cmake если у qt есть свой с блекджеком и шлюхами специально заточенный для сборки qt-приложений?
dancingrobot84 19.07.2011 18:00 #
+ 3 -
1. Это же отлично, что у вас есть plain text + openssl + пара функций в .bashrc. а еще лучше память!:)
2. Холиварная тема. Каждый использует то, что ему нравится. Мне нравится CMake.
h31 19.07.2011 18:27 #
+ 0 -
специально заточенный для сборки qt-приложений?

Оно какое-то кривое. CMake гибче.
0xd34df00d 19.07.2011 18:31 #
+ 0 -
У qmake весьма слабенькая и хреновенькая система сборки, на самом деле, от которой они сами подумывают отказываться. Пруфы на кутилабсовых блогах.
librarian 19.07.2011 18:01 #
+ 2 -
Ща пакетик по быстрому соберу для Debian/Ubuntu
dancingrobot84 19.07.2011 18:02 #
+ 0 -
Отлично! Большое спасибо:)
librarian 19.07.2011 18:40 #
+ 2 -
Пакет сделал для ubuntu, сейчас протестирую его сборку в чистом окружении в squeeze.
http://i.libc6.org/media/opensource/passmate_0.5.1-1_i386_ubuntu.deb
dancingrobot84 19.07.2011 18:43 #
+ 0 -
Хорошо:) У меня уже почти ночь, скоро буду спать. Завтра если буду свободен заведу страничку на qt-apps и ваш пакет мне очень пригодится. Спасибо!
librarian 19.07.2011 19:08 #
+ 0 -
CMake Error at src/qt/CMakeLists.txt:21 (execute_process):
execute_process called with no value for WORKING_DIRECTORY.
Только что появилось
librarian 19.07.2011 19:19 #
+ 0 -
В общем ошибка странноватая, на "грязном" окружении не проявилась, на чистом - проявилась
Откатился на https://github.com/dancingrobot84/passmate/commit/a0f5e69ee5f868af0d53d18e051d195ce3ca4e84 и всё ок
dancingrobot84 20.07.2011 05:10 #
+ 0 -
Мда, интересная ошибка... Правильно сделали, что откатились - последние коммиты в основном README да кросскомпиляции под винду касались. Можно было прям до самого тега 0.5.1 даже откатится:)
librarian 20.07.2011 14:45 #
+ 2 -
В общем сделал чистые пакеты для squeeze 32/64 бита и для lucid, тоже 32/64.
http://i.libc6.org/media/opensource/
http://i.libc6.org/media/opensource/passmate_0.5.1-1_i386_squeeze.deb
http://i.libc6.org/media/opensource/passmate_0.5.1-1_amd64_squeeze.deb
http://i.libc6.org/media/opensource/passmate_0.5.1-1_i386_lucid.deb
http://i.libc6.org/media/opensource/passmate_0.5.1-1_amd64_lucid.deb
dancingrobot84 21.07.2011 06:20 #
+ 0 -
Большое спасибо! Сейчас добавлю их на страничку в Qt-Apps.
librarian 19.07.2011 19:14 #
+ 2 -
http://i.libc6.org/media/opensource/passmate_0.5.1-1_i386_debian.deb
пакет для debian, сборка протестирована в чистом окружении
Директория debian/ https://github.com/librarian/passmate-debian
enot 19.07.2011 18:04 #
+ -1 -
до читал до конца
Мне бы хотелось увидеть в pull-requestах смелых и терпеливых девелоперов, готовых присоединиться к разработке и копанию моего быдлокода. Мне бы хотелось увидеть во Входящих в Gmail гениальные и интересные идеи для Passmate. Вот чего бы мне хотелось.

поржал.

у тебя программа с тремя кнопочками и аудиторией в два с половиной человека. или ты туда собираешь встроить функционал по управлению реактором атомной станции в следующей версии? :)

более того, красивое имя занято ет ановер виндоус хренью
dancingrobot84 19.07.2011 18:11 #
+ 3 -
У Линуса когда-то тоже была программа с аудиторией в несколько человек. Linux называется. Насчет атомной станции - вряд ли, я не настолько силен в физике к сожалению:(

Жаль что имя занято, я не знал. Значит придется связываться с автором сей программы и что-то решать.
enot 19.07.2011 18:24 #
+ -3 -
У Линуса когда-то тоже была программа с аудиторией в несколько человек. Linux называется.

о'рили? это каким ж надо обладать самолюбием, чтобы сравнивать свой хелловорлд из ста строк с ядром линукса.

Жаль что имя занято, я не знал. Значит придется связываться с автором сей программы и что-то решать.
аааа, я понял, ты меня троллишь
0xd34df00d 19.07.2011 18:38 #
+ 3 -
Попробуйте посмотреть в сторону нашего проекта — http://leechcraft.org , там тоже кути, симейк, плюсы, немного буста и много-много амбиций и идей. И мало разработчиков :)
Ебилды есть в rion, советую 9999, анмаски в Documentation оверлея :)
dancingrobot84 19.07.2011 18:42 #
+ 0 -
Я о вас слышал:)

Хорошо, я постараюсь глянуть поподробнее, но не могу ничего обещать - основной работы куча.
0xd34df00d 19.07.2011 18:56 #
+ 0 -
Это как раз понятно, времени редко когда выделяется достаточно :)
Поглядите, в общем, если что — связывайтесь, как вам удобнее :)
urgimus 19.07.2011 19:00 #
+ 2 -
Очень понравилось изложение статьи легко,ненавязчиво,располагающе :)
dancingrobot84 20.07.2011 05:35 #
+ 0 -
Спасибо! Я старался:)
fat0troll 19.07.2011 19:22 #
+ 1 -
рассказывай, какой генту-тег ставить, соберу для агилии тулзу твою
K-9 19.07.2011 20:46 #
+ 1 -
xapps app-crypt же.
dancingrobot84 20.07.2011 05:16 #
+ 0 -
Да наверно, x11-apps и app-crypt подойдет
fat0troll 21.07.2011 21:57 #
+ 1 -
при абсолютно одинаковом наборе софта и скрипте сборки на x86_64 оно собралось, а на i686 — нет:

-- Found Qt-Version 4.7.3 (using /usr/bin/qmake)
CMake Error at src/qt/CMakeLists.txt:21 (execute_process):
execute_process called with no value for WORKING_DIRECTORY.


-- Configuring incomplete, errors occurred!
dancingrobot84 22.07.2011 15:51 #
+ 0 -
Пофиксил только что. Сейчас должно собираться везде:)
fat0troll 22.07.2011 19:17 #
+ 0 -
оно каким-то волшебным образом мимо make лезет :)

-- Build files have been written to: /tmp/mkpkg_tmp.fat0troll/passmate/passmate.src/passmate.src/bin

всё :)
dancingrobot84 23.07.2011 04:25 #
+ 1 -
Это ниже в комментах народ заказывал, чтобы можно было собирать отдельно CLI или Qt версии. Там просто к CMake надо флажок добавить:)
fat0troll 23.07.2011 08:15 #
+ 2 -
ура, вы ещё походу и make install запилили :-)

http://packages.agilialinux.ru/search.php?lname=passmate — добро пожаловать в клуб :)
dancingrobot84 23.07.2011 14:14 #
+ 0 -
Ага, запилил. Замечательно:) Спасибо большое за пакетики:)
uscr 19.07.2011 20:53 #
+ 1 -
Выпадающий список?

Ну можно было как минимум 5 популярных выводить на формочку в виде кнопок.
dancingrobot84 20.07.2011 05:34 #
+ 0 -
Как я написал уже ниже, кроме того, что выпадающий список хорошо экономит место на экране, по нему довольно удобно искать записи - достаточно написать первые несколько букв.

Насчет 5ти популярных. Затея, конечно, интересная, но если выводить названия на кнопках, то они будут занимать много места на экране. Если прикрутить иконки, то не каждому захочется их расставлять для своих записей (я точно не буду). Если у вас есть более оптимальная версия предложенной фичи я был бы рад послушать:)
uscr 20.07.2011 15:34 #
+ 1 -
Просто я использую keepassx как раз из-за удобного (для меня) представления паролей. У меня есть группы по имени сервера, в группе туча записей для каждого пользователя. С выпадающим списком, в котором всё свалено в кучу, я сойду с ума.
Я никогда не использовал хранилку для пары паролей от нескольких сервисов, поэтому мне трудно мыслить маленьким количеством записей.
joinelf 19.07.2011 21:33 #
+ 1 -
Извините конешно...но! а где интерфейс самой проги?! на скринах вижу:
1) создание БД паролей
2) создание записи в БД
3) создание записи в файл
4) удаление записи
5) и вроде как открытие файла БД паролей

Пожелания:
1) хотелось бы автозаполнение записей
n) хотелось бы такюже для девайса n
n + 1) хотелось бы категории и теги
ЗЫ... и поиск тоже =)

ЗЗЫ... это не троллинг...наоборот я искренне восхищаюсь людьми, которые создают что то своё!
dancingrobot84 20.07.2011 05:30 #
+ 0 -
Так, давайте по порядку:)

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

Соответственно, два скриншота, на которых подсвечены маленькие кнопки (generate password и choose file) являются тем, что вы видите, когда хотите добавить в базу новый пароль или файл соответственно.

Теперь по поводу предложений.

1) Автозаполнение каких записей вам бы хотелось? Я немного не понял
2) То же самое с девайсом. Объясните пожалуйста поподробнее:)
3) Категории и теги. И поиск сразу. Вот. Начнем с небольшой предистории.

Когда-то я пользовался KeePassX. Там есть поиск, теги и куча прочих вещей. Проблема была в том, что мне все это добро было не нужно, так как паролей у меня не очень много (сейчас около 70 штук) и все они обычно совпадали с названиями сайтов, на которых я регестрировался. Когда я делал Passmate, мне хотелось, чтобы все было предельно просто - открыл окно, постучал по комбо первые буквы сайта, нажал на кнопку "копировать" и закрыл окно. Поэтому простейший поиск уже реализован создателями QComboBox. Насчет тегов и категорий. Это неплохая вещь, но в том виде, в котором я себе их представляю они только "утяжелят" интерфейс программы. Было бы неплохо, если бы вы попробовали нарисовать хотя бы черновой прототип того, как это будет выглядеть по-вашему.

Спасибо вам за комментарий и если вы дочитали это до конца:)
mealsforall 20.07.2011 05:50 #
+ 0 -
Кста, из всего текста так и не понял -- а что "файл" делает? В файлах хранятся отдельные группы паролей?

А не сделать ли это приложение расширением к браузеру или к Gnome Shell?
dancingrobot84 20.07.2011 06:03 #
+ 0 -
Нет, в файлах хранятся файлы:) Я, например, делаю так: создаю текстовый файл на компьютере, записываю туда информацию (например, о банковской карте - там много паролей и кодов), потом добавляю этот файл в Passmate и удаляю его (файл) с компьютера. Теперь его содержимое хранится у меня в базе в зашифрованном виде.
dancingrobot84 20.07.2011 06:05 #
+ 0 -
Расширение к браузеру - вы имеете ввиду автозаполнение полей в браузере или что-то вроде LastPass? С третьим гномом, к сожалению, не знаком, поэтому в ближайшем будущем не смогу сделать.
joinelf 20.07.2011 12:47 #
+ 0 -
Было бы неплохо, если бы вы попробовали нарисовать хотя бы черновой прототип того, как это будет выглядеть по-вашему.


Это должно выглядеть как в gmail ...несколько тегов цепляется к одной записи. Скрин прилогается.



Автозаполнение каких записей вам бы хотелось? Я немного не понял

Ниже в комментах тему расскрыли.

То же самое с девайсом. Объясните пожалуйста поподробнее:)


ну допустим под айфон, или любое другое устройство под которым можно выйти в интеренеты.
dancingrobot84 20.07.2011 12:55 #
+ 0 -
Теги - отлично, надо подумать как бы их так же удобно, как в Gmail сделать.

Автозаполнение (полей в браузере, если я правильно понял) - тоже бодрая идея. Я пользуюсь Chromium, так что если будет время, то автозаполнение сделаю сначала для него.

Девайсы - к сожалению, не смогу. У меня нет ни айфона, ни чего-нибудь с андроидом/симбианом/миго. Есть шестилетней давности Sony Ericsson, но это не дело.

Я был бы рад, если бы вы могли присоединится к разработке какой-нибудь из этих фич в свободное время:)

jungo 20.07.2011 22:58 #
+ 1 -
Касательно гуёв: было бы замечательно, если бы при повторном запуске программы (то есть когда одна копия уже висит в памяти) переводить фокус на уже запущенную копию (или разворачивать её из трея, если она там висит).

Для меня это имеет критическое значение - трея у меня как такового нет (как и вообще панелей), было бы очень удобно запускать эту тулзу по хоткеям.
dancingrobot84 21.07.2011 06:19 #
+ -1 -
Спасибо! Я тоже думал об этой возможности, но пока не знаю, как ее реализовать.
jungo 21.07.2011 13:57 #
+ 0 -
Unix-way: при запуске программы создаем какой-либо файл, говорящий о том, что программа работает, например, /var/run/passmate.pid, при выходе - удаляем его.
Соответственно при запуске программы надо проверять существует ли этот файл, и, если существует, то искать процесс запущенной программы и отсылать ему сообщение о том, что надо показаться на экране.
Как-то так.
dancingrobot84 21.07.2011 16:48 #
+ 1 -
Сейчас контроль экземпляров реализован одним из способов, которые советую сами девелоперы Qt - через QSharedMemory. В эту память можно писать всякие интересные данные и я думаю сделать фичу с "подъемом" приложения как раз с помощью мониторинга этого shared куска памяти. Если не пройдет - будет старый добрый unix way:)
jungo 21.07.2011 19:40 #
+ 0 -
Если вы это реализуете, то я, скорее всего, переползу с, по моему мнению, монструозного keepassx на вашу программу.
Ах да, еще было бы полезно реализовать поддержку хоткеев.
Тогда эта комбинация становится крайне быстрой и удобной:
1. развернул (запустил) программу
2. фокус сразу на поле выбора пароля - быстро выбрал нужный ресурс
3. нажал хоткей (ctrl+c, например), чтобы скопировать пароль
4. нажал эскейп, что бы закрыть программу
dancingrobot84 22.07.2011 15:53 #
+ 1 -
Сделано. Пересоберите с последнего коммита. Поскольку фокусом управляет сам WM, могу контролировать через Qt только разворот из трея.
jungo 22.07.2011 17:48 #
+ 0 -
Спасибо, за это вам жирный плюс!
jungo 22.07.2011 18:27 #
+ 0 -
Да, и, пожалуй, стоит переназначить очередность фокуса компонентов - при появлении формы в фокусе должен быть выпадающий список с названиями ресурсов, а не кнопка добавить, ведь пользователь чаще ищет пароль, чем добавляет.

Ну и вторым в очередь поставить поле, где содержится пароль - что бы сразу же после выбора ресурса по табу выбрать поле пароля и нажать Ctrl+C.
ekzotech 21.07.2011 07:19 #
+ 1 -
Ух ты! Круть. Сам постоянно с подобным сталкивался. Когда совсем задолбался - сделал скрипт-генератор паролей, который сначала спрашивал для чего этот пароль нужен, а затем выводил пароль и вывод отправлял в файл (вместе с указанием, от чего этот пароль). Про гуй были планы, а тут оказывается такое есть. Спасибо!

Пакетик в AUR уже кто-то оформил?
dancingrobot84 21.07.2011 16:49 #
+ 1 -
Пакетик в AUR, возможно, будет на следующей неделе, когда с отдыха вернется мой друг-арчевод:)
dront78 21.07.2011 09:43 #
+ 0 -
сделайте интеграцию с браузером для автозаполнения паролей на сайтах. плагин или как то еще - домашний каталог ведь один ;) IMHO это единственное что не хватает в стандалоне хранилках.
uscr 21.07.2011 11:05 #
+ 0 -
Я ещё придумал киллер фичу.

При выборе записи касаемо ssh доступа помещать в буфер обмена строку типа:

1
ssh USER@DOMAIN \n


Потом как-либо отследить факт вставки в окно консоли и подсунуть в буфер пароль. Тогда вход на сервер будет заключаться в двукратной вставке из буфера обмена.
mironov_orig 21.07.2011 11:09 #
+ 1 -
А я придумал килер фичу, твоей килер фичи — авторизация по ключам.
uscr 21.07.2011 16:03 #
+ 0 -
Есть over kill фича твоей фичи - правила безопасности компании, например.
mironov_orig 21.07.2011 18:28 #
+ 0 -
Т.е. есть политика безопасности дающая человеку доступ по ssh с обычным паролем? (привет welinux.ru:22) С точки зрения безопасности, да и удобства, доступ по ключу лучше, хотя может быть кто-то до сих пор использует SSHv1 Ну это и не главное. Насчёт буфера, а зачем мне программа заменяющая содержимое моего буфера без спроса (это такой тонкий намёк☺). Хотя сама идея вставки пароля из буфера в ssh (!11111) это гм, некруто.
Хотя вот ещё пример, политика безопасности компании, например, может диктовать не стандартный порт для ssh.
roothome 21.07.2011 14:51 #
+ 1 -
Может кто на AUR закинет. А то время нет, лето, а попробовать хотелось бы.
mironov_orig 21.07.2011 18:32 #
+ -2 -
Не совсем по существу.
Пока даже ebuild для своей любимой Gentoo я еще не успел сделать из-за отсутствия времени.
У тебя хватило времени на оформление заметки со скринами и написание кучи каментов, но написать десяток строчек в ебилд для системы, которой сам же и пользуешься нет времени?!
dancingrobot84 21.07.2011 18:37 #
+ 2 -
Кроме написания десятка строчек надо еще знать, какие строчки писать. Я никогда не собирал пакеты ни под генту, ни под другие дистрибутивы.
mironov_orig 21.07.2011 19:44 #
+ 0 -
Окей, не обязан. Ну хоть бы make install поддержал, чтобы не пришлось вручную за тебя файлы рассовывать, а заодно и поддержал бы простуйю возможность «искаропки» собирать только 1 вариант (cli|gui) или оба.
mironov_orig 21.07.2011 19:47 #
+ 0 -
о. пропустил. осталось только install зоделать.
dancingrobot84 22.07.2011 16:12 #
+ 2 -
Сделал простую инсталляцию в /usr/bin. Также, скармливая CMake опции -DWITH_CLI, -DWITH_QT и -DWITH_TESTS можно компилить соответственно только консольную, только кутэшную версии или только тесты. Или все сразу:)
dancingrobot84 23.07.2011 04:27 #
+ 0 -
Да, и еще добавил флаг -DWITH_ALL, чтобы собирать все версии вместе с тестами. Тесты при этом, естественно, никуда устанавливаться не будут:)
jungo 22.07.2011 18:12 #
+ 1 -
Добавил пакет в AUR
fat0troll 22.07.2011 19:18 #
+ 0 -
сразу видно, доки не читал: нету там make install-а
jungo 22.07.2011 20:01 #
+ 0 -
Нашли ошибку - поправьте.
dancingrobot84 23.07.2011 04:34 #
+ 0 -
Спасибо за пакет:) Я не специалист в арчах, но боюсь, что вам придется немного поправить строчку с cmake примерно так:

cmake -DCMAKE_BUILD_TYPE=Release -DWITH_CLI=1 -DWITH_QT=1 -DCMAKE_INSTALL_PREFIX=/usr ..

потому что я немного переделал установку с требованиями самого CMake, а он по умолчанию пихает в /usr/local.

Если в арче бинарники ставятся как в фряхе, в /usr/local/bin, то можете ничего и не править:)

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн