You are not logged in.

#1 2012-08-30 19:22:13

lykaner
Member
Registered: 2012-08-30
Posts: 44

KeePassC: A KeePassX compatible password manager with curses-interface

Hey guys,

I want to announce KeePassC, a password manager compatible to KeePass v.1.x. and KeePassX that comes with a curses-interface (I'm sure that I'm not the only person who's waited for such a program). It's written in Python 3 and uses my module kppy.

For those who doesn't know: KeePassX is a password manager that encrypts the whole database with AES.

Homepage: http://raymontag.github.com/keepassc/
AUR: https://aur.archlinux.org/packages.php?ID=62396

It has some bugs for sure, I would welcome reports smile

Last edited by lykaner (2013-04-06 10:21:29)

Offline

#2 2012-08-30 20:07:31

firecat53
Member
From: Sammamish, Wa
Registered: 2007-05-14
Posts: 1,447
Website

Re: KeePassC: A KeePassX compatible password manager with curses-interface

FIrst bug report smile
1. I can't see my ~/Dropbox/.keepass directory. Need to see hidden directories.
2. Can't use the backspace key while making a new entry (I'm inside tmux, by the way, if that makes any difference)

Request:
1. vim-like j/k/h/l navigation and the ability to just type a path instead of navigating to it. An interface like the 'ranger' filemanager would be very easy to navigate.
2. Maybe have a little bar that shows the common commands that can be toggled on and off...or just left on while learning new keys
3. Open the default browser for the given URL
4. Allow copy username to clipboard as well.

I'll watch this and see where it goes smile

Thanks!
Scott

Offline

#3 2012-08-31 10:49:01

zeltak
Member
From: New England
Registered: 2010-08-07
Posts: 165

Re: KeePassC: A KeePassX compatible password manager with curses-interface

sounds amazing

aur package installs but i get this error on launch:

Traceback (most recent call last):
                                    File "/usr/bin/keepassc", line 1479, in <module>
                                                                                        app = App()
                                                                                                     File "/usr/bin/keepassc", line 83, in __init__
                                                                                                                                                       self.loginname = getlogin()
                                                                                                                                                                                  OSError: [Errno 2] No such file or directory
                                          %                                                                                                                                         .-(~)----------------------------------------------------------------------------------------------------------------------------------------------------------------(zeltak@zx200)-
`-->



best

z

Offline

#4 2012-08-31 13:34:49

lykaner
Member
Registered: 2012-08-30
Posts: 44

Re: KeePassC: A KeePassX compatible password manager with curses-interface

@zeltak: I've answered your comment on aur.archlinux.org.

@firecat53: Thx for your comments, I'll work on this proposals this evening smile

Offline

#5 2012-08-31 13:43:17

zeltak
Member
From: New England
Registered: 2010-08-07
Posts: 165

Re: KeePassC: A KeePassX compatible password manager with curses-interface

btw any reason not to support the keepass v2 files (which is now supported in keepassx 2.0)?

would be much more convenient smile

best and thx for your work!

Z

Offline

#6 2012-08-31 13:46:30

lykaner
Member
Registered: 2012-08-30
Posts: 44

Re: KeePassC: A KeePassX compatible password manager with curses-interface

zeltak wrote:

btw any reason not to support the keepass v2 files (which is now supported in keepassx 2.0)?

That's on my TODO for kppy (and KeePassC which uses kppy) smile

Offline

#7 2012-09-01 08:51:41

lykaner
Member
Registered: 2012-08-30
Posts: 44

Re: KeePassC: A KeePassX compatible password manager with curses-interface

I've fixed all submitted bugs and added the requests from firecat53 but the key bar (I'll add this but I've not enough time right now. But you can get help with F1 smile ).

Offline

#8 2012-09-01 17:52:06

firecat53
Member
From: Sammamish, Wa
Registered: 2007-05-14
Posts: 1,447
Website

Re: KeePassC: A KeePassX compatible password manager with curses-interface

More bug reports smile  --
1. When keepassc is first opened, neither F1 or h open the help menu...does work later on, though
2. There's no way to back out of the file entry, file browser or password dialogs to get back to the main menu.
3. If you ^C to exit from one of those items in #2, it doesn't exit gracefully and the terminal display gets corrupted.

Feature request:
1. Add support for two-factor authentication like keepassx (Keyfiles).
2. Tab completion for filename path entry

Thanks! Hope you don't mind the input! Nice work...

Scott

Offline

#9 2012-09-01 19:38:50

lykaner
Member
Registered: 2012-08-30
Posts: 44

Re: KeePassC: A KeePassX compatible password manager with curses-interface

firecat53 wrote:

More bug reports smile  --
1. When keepassc is first opened, neither F1 or h open the help menu...does work later on, though
2. There's no way to back out of the file entry, file browser or password dialogs to get back to the main menu.
3. If you ^C to exit from one of those items in #2, it doesn't exit gracefully and the terminal display gets corrupted.

1. That's the correct behaviour because everything that could be done is displayed but maybe I should mention that in the main menu.
2. That's on my TODO.
3. Just hadn't thought of that, will add this-

firecat53 wrote:

Feature request:
1. Add support for two-factor authentication like keepassx (Keyfiles).
2. Tab completion for filename path entry

1. That's at on the top of my TODO but first I've to read this out of KeePassX source.
2. Tab completion works but only in the second layer of the filesystem (e.g. /home/ly->TAB->/home/lykaner but /ho->TAB->doesn't work); weird, will fix that.

firecat53 wrote:

Thanks! Hope you don't mind the input! Nice work...

Doesn't matter, I want to create a good program and need your help for that smile

lykaner

Offline

#10 2012-09-09 00:23:48

mr337
Member
Registered: 2012-08-12
Posts: 15

Re: KeePassC: A KeePassX compatible password manager with curses-interface

I too would like this feature smile

1. Add support for two-factor authentication like keepassx (Keyfiles).

Offline

#11 2012-09-09 04:19:21

Stebalien
Member
Registered: 2010-04-27
Posts: 1,218
Website

Re: KeePassC: A KeePassX compatible password manager with curses-interface

The ability to either record the location of the last used database or specify the location of the database on the command line would be extremely helpful.


Steven [ web : git ]
GPG:  327B 20CE 21EA 68CF A7748675 7C92 3221 5899 410C
Do not email: honeypot@stebalien.com

Offline

#12 2012-09-11 08:16:36

lykaner
Member
Registered: 2012-08-30
Posts: 44

Re: KeePassC: A KeePassX compatible password manager with curses-interface

Finally had the time to react on your messages. Watch www.nongnu.org/keepassc for a change log. The new version is already in AUR.

There's still the lack of support for keyfiles and of the ability of backout to main menu everytime but in most cases it works.

Offline

#13 2012-09-13 13:16:01

gardar
Member
From: Reykjavik, Iceland
Registered: 2012-03-23
Posts: 8

Re: KeePassC: A KeePassX compatible password manager with curses-interface

Just installed keepassc from AUR on a fresh arch install.

Traceback (most recent call last):
                                    File "/usr/bin/keepassc", line 1767, in <module>
                                                                                        app = App()
                                                                                                     File "/usr/bin/keepassc", line 65, in __init__
                                                                                                                                                       curs_set(0)
                                                                                                                                                                  _curses.error: curs_set() returned ERR

Offline

#14 2012-09-13 14:00:48

lykaner
Member
Registered: 2012-08-30
Posts: 44

Re: KeePassC: A KeePassX compatible password manager with curses-interface

gardar wrote:

Just installed keepassc from AUR on a fresh arch install.

Traceback (most recent call last):
                                    File "/usr/bin/keepassc", line 1767, in <module>
                                                                                        app = App()
                                                                                                     File "/usr/bin/keepassc", line 65, in __init__
                                                                                                                                                       curs_set(0)
                                                                                                                                                                  _curses.error: curs_set() returned ERR

Could you post which terminal you use, please?


lykaner

Offline

#15 2012-09-13 15:01:18

gardar
Member
From: Reykjavik, Iceland
Registered: 2012-03-23
Posts: 8

Re: KeePassC: A KeePassX compatible password manager with curses-interface

I'm using urxvt, (rxvt-unicode from the community repo)

Offline

#16 2012-09-15 01:16:30

lykaner
Member
Registered: 2012-08-30
Posts: 44

Re: KeePassC: A KeePassX compatible password manager with curses-interface

Just want to let you know that I implemented keyfile-authentication. I will update KeePassC in the following days. Also, I'll fix gardar's problem. It seems that urxvt doesn't support invisible cursors.

Offline

#17 2012-09-18 22:35:52

jasonwryan
Forum & Wiki Admin
From: .nz
Registered: 2009-05-09
Posts: 18,791
Website

Re: KeePassC: A KeePassX compatible password manager with curses-interface

This is cool. Thank you.

One comment: I use a yubikey for my master password (it works fine), when I enter that, it would be helpful to see some visual feedback, ie., asterisks, as it prints to the screen - assuming that this is not a security hole.

Just a thought.


Arch + dwm   •   Mercurial repos  •   Github

Registered Linux User #482438

Online

#18 2012-09-19 12:31:23

lykaner
Member
Registered: 2012-08-30
Posts: 44

Re: KeePassC: A KeePassX compatible password manager with curses-interface

Hey guys,

new version is out and uploaded to AUR. View http://www.nongnu.org/keepassc for the changelog. I've implemented most of your requests, e.g. keyfiles and parsing databases through the commandline.

@gardar: Your problem should be fixed even though I was not able to reproduce it.
@jasonwryan: It would't be a big security hole but I think it's better if other people don't know the length of your password. But great to know that it works even with a yubikey smile


lykaner

Offline

#19 2012-09-19 18:44:01

jasonwryan
Forum & Wiki Admin
From: .nz
Registered: 2009-05-09
Posts: 18,791
Website

Re: KeePassC: A KeePassX compatible password manager with curses-interface

lykaner wrote:

Hey guys,

new version is out and uploaded to AUR. View http://www.nongnu.org/keepassc for the changelog. I've implemented most of your requests, e.g. keyfiles and parsing databases through the commandline.

Nice! Thanks.

lykaner wrote:

@jasonwryan: It would't be a big security hole but I think it's better if other people don't know the length of your password. But great to know that it works even with a yubikey smile

Fair enough; altough in my case, if a shoulder surfer saw the 30+ asterisks zip across the screen, that may be considered hardening... tongue

# edit: spoke too soon...

keepassc: 1.3-1 and python-kppy: 1.3-1

jason@Veles:/home/jason/Dropbox/Documents/keepers.kdb                                                                          
Password: Traceback (most recent call last):                                                                                   
                                              File "/usr/bin/keepassc", line 1933, in <module>                                 
                                                                                                  wrapper(app.main_loop())     
                                                                                                                            File "/usr/bin/keepassc", line 495, in main_loop                                                                                  
                                                 if self.open_db() is False:                                                   
                                                                              File "/usr/bin/keepassc", line 562, in open_db   
                                                                                                                                if self.open_file() is False:                                                                                                 
                                File "/usr/bin/keepassc", line 968, in open_file                                               
                                                                                    self.db = KPDB(self.cur_dir, password, keyfile, False)                                                                                                                    
             File "/usr/lib/python3.2/site-packages/kppy.py", line 474, in __init__                                            
                                                                                       self.load()                             
                                                                                                    File "/usr/lib/python3.2/site-packages/kppy.py", line 565, in load                                                                                        
                                           masterkey = self._get_passwordkey()                                                 
                                                                                File "/usr/lib/python3.2/site-packages/kppy.py", line 1224, in _get_passwordkey                                                                                               
                                    sha.update(self.password)                                                                  
                                                               File "/usr/lib/python3.2/site-packages/Crypto/Hash/hashalgo.py", line 69, in update                                                                                                            
                       return self._hash.update(data)                                                                          
                                                     TypeError: Unicode-objects must be encoded before hashing

# edit 2: python-kppy 1.3.1-1 fixed it - thanks! smile


Arch + dwm   •   Mercurial repos  •   Github

Registered Linux User #482438

Online

#20 2012-09-21 07:51:45

jasonwryan
Forum & Wiki Admin
From: .nz
Registered: 2009-05-09
Posts: 18,791
Website

Re: KeePassC: A KeePassX compatible password manager with curses-interface

Another couple of observations.

  • 'h' doesn't show the password, it just switches back to the parent column

  • it would be cool to be able to search for an entry with / then foo, as in vim

  • another, much more far-fetched request, a way to set a db as default

Now all I need to do is convince my family to move to ekiga and I can dump qt smile

Thanks lykaner - great app.


Arch + dwm   •   Mercurial repos  •   Github

Registered Linux User #482438

Online

#21 2012-09-22 01:06:17

firecat53
Member
From: Sammamish, Wa
Registered: 2007-05-14
Posts: 1,447
Website

Re: KeePassC: A KeePassX compatible password manager with curses-interface

Looking good still! A few more minor issues:

1. In the help menu, it shows 'h' for show password -- should be 'H'
2. In the help menu, it says press any key, but the only key that will exit help is 'Enter'
3. Still need better readline support for editing entries. Can't see the cursor or use any navigation keys but 'Backspace'. (urxvt)
4. If I hit 'S' by accident to save to alternate path, there's no option to back out of that without saving
5. If I hit 'E' to edit the expiration date and then just hit 'Enter' without changing anything, keepassc crashes

.....
File "/usr/bin/keepassc", line 291, in get_exp_date  y = int(edit)         
ValueError: invalid literal for int() with base 10: '' 

6. When it does crash, I have to 'reset' the terminal to get my cursor back (urxvt)
7. How do you navigate back to a parent group from inside a subgroup? I seem to be stuck there smile
8. When you are navigating to find a keyfile, editing a password or editing the database password, it'd be nice to have a little Note at the top reminding you which item you are looking for or editing (I hit 'P' and didn't realize I was editing the database password at first instead of the item password...)
9. Feature request....not sure if it's possible. Say I've got a headless server. Is it possible to use the copy-paste features of tmux/screen (or some other non-X mechanism) to be able to use keepassc entirely on the headless server?
10. I second the feature request for '/' searches!
11. When using the file browser, it'd be neat to be able to use 'gg', 'G' and name search '/' (like in Ranger) to navigate more quickly through the filesystem. Although tab completion does work great, by the way!

Thanks a bunch! Great program!
Scott

Edit: Would you prefer bugs/feature requests here or Github or elsewhere?

Last edited by firecat53 (2012-09-22 01:20:42)

Offline

#22 2012-09-24 16:43:29

zeltak
Member
From: New England
Registered: 2010-08-07
Posts: 165

Re: KeePassC: A KeePassX compatible password manager with curses-interface

hya again.

i just switched to keepasx 2.0 (and the new 2.0 database), any news on the 2.0 database support smile

thx

Z

Offline

#23 2012-11-10 22:26:27

lykaner
Member
Registered: 2012-08-30
Posts: 44

Re: KeePassC: A KeePassX compatible password manager with curses-interface

Hey guys, last update is long ago but I've worked on KeePassC in my free time and released a new update!

Many of the things you brought up are added.

Changelog:

    Show groups and entries alphabetically sorted
    Man page
    Option to show entries on commandline
    Search utility (type 'f')
    Showing a * if the file has changed
    Use of a generalized and commandable menu
    Clear the clipboard only if the content of clipboard
    was copied from the db and not from other programs
    Fixed several bugs

@firecat53: I prefer both but I watch more on github than on this forum. But I will implement many of the things you brought up in your list!

Offline

#24 2013-01-17 13:44:29

lykaner
Member
Registered: 2012-08-30
Posts: 44

Re: KeePassC: A KeePassX compatible password manager with curses-interface

Hey guys,

development is still on and some updates are available:

* I implemented a password generator (depends optional on pwgen)
* Finally it's possible to return to the previous screen if you're in a dialog (solves firecat's issue 4)
* Issue 5 and 6 are solved, too
* xsel and pwgen are marked as optional dependencies and the program will not crash if they're not available

Actually, the updates are only available via github and the new keepassc-git-package in AUR. A 'normal' package will follow when the other requests are implemented.

@firecat: Use backspace to return to the parent group. And frankly, I don't know what you mean with headless server. Access via SSH and then copy password from there?

Edit: Or do you mean without X/Wayland etc.? For this you've the 'H'-key to copy the password with your mouse as I don't know other possibilities

Last edited by lykaner (2013-01-17 13:48:38)

Offline

#25 2013-01-17 14:00:14

zeltak
Member
From: New England
Registered: 2010-08-07
Posts: 165

Re: KeePassC: A KeePassX compatible password manager with curses-interface

thx lykaner

irs really great to hear that development is going on, i use keepassC daily!

i was wondering if there is any ETA for keepass 2.X support? i use that on my android device and windowz machine at work at would be super cool to use it with keepassC

best

Z

Offline

Board footer

Powered by FluxBB