Coder Social home page Coder Social logo

babab / dispass Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 1.0 1.62 MB

Disperse and dispell passwords with a free alternative manager.

Home Page: https://dispass.org

License: Other

Python 88.66% Shell 6.41% Makefile 4.93%
command-line labels no-database passphrase-generator password-manager python

dispass's People

Contributors

babab avatar pyup-bot avatar ryuslash avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

ryuslash

dispass's Issues

dispass list output is broken on labels with sequence numbers higher then 9

When one or more of the labels have a sequence number > 9, the
formatting of the table is broken when running dispass list:

~% dispass list
+---------+--------+----------+--------+---+
| Label   | Length | Algo     | Number | X |
+---------+--------+----------+--------+---+
| hotmail |     16 | dispass1 |      1 | n |
| test    |     30 | dispass2 |      10 | n |
+---------+--------+----------+--------+---+

dispass assumes "test"?

It seems that 0.1a8 doesn't complain anymore when no label has been given and just assumes test.

Using test as the password aswell:

$ dispass -o
Password:
test   MTI1ZDZkMDNiMzJjODRkNDkyNzQ3Zj
$ dispas -co
Password:
Password (again):
test   MTI1ZDZkMDNiMzJjODRkNDkyNzQ3Zj

Perhaps you meant to do this, then you can disregard this issue.

Show error message when passing malformed specification to dispass update

Updating a label where the right number of colons are present in the specification works without problems:

$ dispass update hotmail 18::
Label 'hotmail' updated

If the specification is malformed it currently prints a traceback:

$ dispass update hotmail 18:
Traceback (most recent call last):
  File "/usr/local/bin/dispass", line 24, in <module>
    pycommand.run_and_exit(DispassCommand)
  File "/usr/local/lib/python2.7/dist-packages/pycommand.py", line 220, in run_and_exit
    sys.exit(cmd.run())
  File "/usr/local/lib/python2.7/dist-packages/dispass/dispass.py", line 157, in run
    return cmd.run()
  File "/usr/local/lib/python2.7/dist-packages/dispass/commands/update.py", line 76, in run
    seqno = params[2] if params[2] else None
IndexError: list index out of range

Add option to lookup a lable in lablefile

Running dispass without arguments will diplay all labels stored in the labelfile.
This may feel uncomfortable to the security conscious and also might invite users to keep
a DisPass instance displaying all passphrases for long periods of time.

Adding an option to 'grep' the label from the labelfile might lead to more convenient usage.

No OK with RET

In the windows version of gdispass (haven't tested in in GNU/Linux) I cannot get it to generate a password by pressing <RETURN> in the Password text field. It would be nice if this could be added so I don't have to grab my mouse to do it.

Remove logic from UI code

To allow multiple front-ends, some logic in the UI code needs to be refactored and placed into the core modules.

Location of labelfile(s)

There should be a way to set a location for the default labelfile.
Some people may not want it in their $HOMEs.

For this to work I'm thinking about starting the interactive label editor (in development) when no ~/.dispass file can be found.
Then create an option in the editor to save the default labelfile and maybe more labelfile locations to a config file.

Inconsistency with `-g`

When using the dispass gui with dispass v0.1a8 it will complain when a password is less than 8 characters long, but the cli/curses interface doesn't complain about this.

Show status of num-lock and caps-lock during password input in the CLI

It would be nice to have an indication of the state of num-lock and caps-lock while entering passwords (especially in the CLI when using a device that has no pretty indicator lights).

Preferably it will (only) show a warning when:

  • caps-lock is ON
  • num-lock is OFF

This task is for the CLI support.

The label file can't be found on windows

In Windows the installer doesn't set DISPASS_LABELFILE to some value like %USERPROFILE%\AppData\dispass\labels. Windows doesn't know about XDG_CONFIG_HOME and just can't parse the ~ in ~/.local/share/dispass/labels. So, out of the box, it won't find the label file anywhere.

Show status of num-lock and caps-lock during password input in the GUI

It would be nice to have an indication of the state of num-lock and caps-lock while entering passwords (especially in the CLI when using a device that has no pretty indicator lights).

Preferably it will (only) show a warning when:

  • caps-lock is ON
  • num-lock is OFF

This task is for GUI support.

dispass2 isn't read from labelfile and ignores -n

First, when the following is placed in my labels file, regular DisPass seems to ignore the algorithm specification.

Labelfile:

test               algo=dispass2

And then I call and get:

$ dispass -o test
Password: 
test   NjIzYzkyZDhjM2U4MGE2OTYzNTk5ZT

But when I test with dispass2 I get:

$ dispass -oa dispass2 test
Password: 
test   ZGMwYWM0YmYxYzIwNDc5MTVkZTg5Nz

So it seems that DisPass ignores the algorithm specification in the labelfile.

Second, when using dispass2, DisPass doesn't seem to take the -n parameter into account:

$ dispass -oa dispass2 -n 2 test
Password: 
test   ZGMwYWM0YmYxYzIwNDc5MTVkZTg5Nz

I've tried multiple orders (putting -n 2 before -a dispass2, for example), but nothing seems to change it.

I will try to fix this later, if you don't beat me to it.

`gui` doesn't listen to the `-f` flag

When starting the gui as:

dispass -f labels gui

Having made sure that labels exist, I still get the selection list for my standard label file instead of the ones specified in ./labels.

Show error message regarding missing python-tk in gdispass

Currently, starting gDisPass with dispass gui shows a helpful error message like this:

Could not find Tkinter, this is a package needed for using
the graphical version of dispass.
To install, search for a python-tk package for your OS.
Arch Linux              # pacman -S python-tk
Debian / Ubuntu         $ sudo apt-get install python-tk
OpenBSD                 # pkg_add -i python-tk

However, starting gDisPass with gdispass print a traceback:

Traceback (most recent call last):
  File "/usr/local/bin/gdispass", line 21, in <module>
    from dispass.gui import GUI
  File "/usr/local/lib/python2.7/dist-packages/dispass/gui.py", line 16, in <module>
    from Tkinter import (
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 42, in <module>
    raise ImportError, str(msg) + ', please install the python-tk package'

The -s switch fails

Imagine I have the following 2 lines in my labelfile

google          algo=dispass2     seqno=2
google-mycompany-account

Now I can't use test with the stored algorithm because the -s
switch will complain that I should be more specific if I use:

dispass -s google

Even though I'm specifying one exactly.

This means that I'd have to remember which algorithm and sequence
number I use for google and specify them on the command line each
time, which seems like it would defeat the purpose of the labelfile.

Show message when interrupting `dispass gui`

When gDisPass is started with the gdispass script and it is interrupted by the user in the command line using Ctrl+C, the interrupt gets handled nicely:

$ gdispass
^C
Ok, bye

Doing the same when gDisPass is started with dispass gui prints a traceback:

$ dispass gui
^C
Traceback (most recent call last):
  File "/usr/local/bin/dispass", line 24, in <module>
    pycommand.run_and_exit(DispassCommand)
  File "/usr/local/lib/python2.7/dist-packages/pycommand.py", line 220, in run_and_exit
    sys.exit(cmd.run())
  File "/usr/local/lib/python2.7/dist-packages/dispass/dispass.py", line 157, in run
    return cmd.run()
  File "/usr/local/lib/python2.7/dist-packages/dispass/commands/gui.py", line 47, in run
    g.mainloop()
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1073, in mainloop
    self.tk.mainloop(n)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.