{ "info": { "author": "Kale & Ken Kundert", "author_email": "abraxas@nurdletech.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Natural Language :: English", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Topic :: Utilities" ], "description": "Abraxas Collaborative Password Utility\n======================================\n\nIntroduction\n------------\nAbraxas is powerful password utility that can store or generate your passwords \nand produce them from the command line. It can also be configured to \nautotype your username and password into the current window so that you can log \nin with a simple keystroke.\n\nAbraxas is an alternative to the traditional password vault. The intent is not \nto store passwords, but rather to regenerate them as needed. This is done with \nthe aid of two files. The first is an accounts file that contains useful \ninformation about each account along with the parameters that control how the \npassword is generated for that account (which style of password to generate, how \nmany characters or words to include, what alphabet to use, etc.) The second is \nthe master password file. When you go to use the password generator, you will \nfirst need to unlock the master password file. You do so by providing its pass \nphrase, which only you should know. Thus, only you will be capable of generating \nthe passwords associated with your accounts. Once generated, you can specify \nthat they be displayed on the standard output, you can specify that they be \ncopied to the clipboard, or you can specify that they be typed into some other \nprogram.\n\nIn your master password file you can store more than one master password (the \npassword used to generate the passwords for your accounts). In this way this \npassword generator makes it easy to collaborate with friends and colleagues. \nSimply start by sharing a master password that you only use for shared accounts. \nA password generated for a particular account is computed from the name of the \naccount and the master password. Since your partner and you are sharing the \nmaster password, you will both generate the same password for an account as long \nas you both use the same name for the account. In other words, if Alice and Bob \nshare a master password, and if Alice wants to create a Google Docs account for \nsharing documents with Bob, she need only create the account using the password \ngenerated by Abraxas using the shared master password, and then simply tells Bob \nthat she has created a Google Docs account with the name \"abdocs\" and uploaded \nseveral documents. Without actually sharing the password, Bob uses the shared \nmaster password and the account name to regenerate the account's password \nhimself and downloads the documents.\n\nInstalling Prerequisites in Fedora with Yum\n-------------------------------------------\nAbraxas is compatible with both python 2.6 and beyond or python 3.3 and beyond. \nIt requires the following packages to fully function (run these commands as \nroot)::\n\n yum install python\n yum install python-setuptools\n yum install libyaml-devel\n yum install PyYAML\n yum install pygobject3 (if using python2)\n yum install python3-gobject (if using python3)\n yum install python-docutils\n yum install xdotool\n yum install xsel\n easy_install python-gnupg\n\nOn Centos you will also need::\n\n yum install python-argparse\n\nOn Redhat-based systems you can get these dependencies by running ./yum.sh.\n\nIf you would like to run the tests, you will also need the inform package from \nmy github account (https://github.com/KenKundert/inform.git).\n\nInstalling Prerequisites in Arch Linux with Pacman\n--------------------------------------------------\nAbraxas requires the following Arch Linux packages to fully function (run these \ncommands as root)::\n\n pacman -S git\n pacman -S python\n pacman -S python-setuptools\n pacman -S python-docutils\n pacman -S python-gobject\n pacman -S libyaml\n pacman -S xdotool\n pacman -S xsel\n easy_install python-gnupg\n easy_install PyYAML\n\nYou can install these prerequisites by running ./pacman.sh.\n\nInstalling Prerequisites in Ubuntu with Apt-Get\n-----------------------------------------------\nAbraxas requires the following Ubuntu packages to fully function (run these \ncommands as root)::\n\n apt-get install git\n apt-get install libyaml-dev\n apt-get install python3\n apt-get install python3-setuptools\n apt-get install python3-docutils\n apt-get install python3-gi\n apt-get install python3-yaml\n apt-get install xdotool\n apt-get install xsel\n easy_install3 python-gnupg\n\nYou can install these prerequisites by running ./ubuntu.sh.\nUbuntu does not provide gpg2, so you will need to change GPG_BINARY in \n``abraxas/prefs.py`` to ``gpg``.\n\nInstalling Prerequisites from Source\n------------------------------------\nOr, you can install Python from source. First get and install Python using::\n\n $ cd ~/packages/python\n $ wget http://www.python.org/download/releases/3.3.2/Python-3.3.2.tgz\n $ tar zxf Python-3.3.2.tgz\n $ cd Python-3.3.2\n $ ./configure --prefix=$HOME/.local\n $ make\n $ make install\n\nNow get easy_install::\n\n $ wget -O http://python-distribute.org/distribute_setup.py\n $ python3.3 distribute_setup.py\n\nThen you can use easy_install to install python-gnupg, argparse, docutils, and \nPyYAML as above.\n\nConfiguring GPG Agent\n---------------------\nIf you do not yet have a GPG key, you can get one using::\n\n $ gpg --gen-key\n\nYou should probably choose 4096 RSA keys. Now, edit ~/.gnupg/gpg-conf and add \nthe line::\n\n use-agent\n\nThat way, if you have an agent running (and most login environments such as \nGnome or KDE will start an agent for you; if you do not have an agent running \nyou can generally have one started for you when you login by configuring your \nSession settings) then you can just give your GPG key pass phrase once per login \nsession.\n\nThe ultimate in convenience is to use Gnome Keyring to act as the GPG agent \nbecause it allows you to unlock the agent simply by logging in. To do so, make \nsure Keyring is installed::\n\n yum install gnome-keyring gnome-keyring-pam\n\nIf you are using Gnome, it will start Keyring for you. Otherwise, you should \nmodify your .xinitrc or .xsession file to add the following::\n\n # Start the message bus if it is not already running\n if test -z \"$DBUS_SESSION_BUS_ADDRESS\"; then\n eval $(dbus-launch --sh-syntax --exit-with-session)\n fi\n\n # Set ssh and gpg agent environment variables\n export $(gnome-keyring-daemon --start)\n\nGnuPG Issues\n''''''''''''\n\nIf abraxas crashes with the message::\n\n ValueError: Unknown status message: u'PROGRESS'\n\nyou have encountered a bug in python-gnupg. I can be resolved by adding \n\"PROGRESS\" to line 219 of gnupg.py in the python-gnupg install (the path varies \nbased on the version and where you install it, but you might try something like:\n/usr/lib/python3.3/site-packages/python_gnupg-0.3.6-py3.3.egg/gnupg.py).\n\nIf you use Gnome Keyring, you should be aware the Werner Koch is very annoyed at \nit and the latest versions of gnupg will emit a warning that Gnome Keyring has \nhijacked the GnuPG agent if you try to use Gnome Keyring as the GnuPG agent. You \ncan safely ignore this message. The only way to use Gnome Keyring and avoid the \nmessage is to download the GnuPG source, delete the message, and compile it by \nhand.\n\nInstalling\n----------\nTo test the program, run::\n\n $ ./test\n\nor::\n\n $ ./test3\n\nif you plan to use python3 and have both python2 and python3 installed.\n\nOnce you are comfortable that everything is in order, you should install the \nprogram. To do so, first open the install file and make sure your version of \npython is given in the ``set python`` line. Then run::\n\n $ ./install\n\nThe program along with the man pages should end up in ~/.local.\n\nOnce installed, you should be able to get information as follows::\n\n $ man abraxas (information on how to use abraxas from the command line)\n $ man 3 abraxas (information on how to use the abraxas API)\n $ man 5 abraxas (information about the configuration files)\n\nConfiguring Vim\n---------------\nTo be able to easily edit encrypted files (such as the Abraxas master password \nfile), download the gnupg vim plugin from::\n\n http://www.vim.org/scripts/script.php?script_id=3645\n\nThen copy it into::\n\n cp gnupg.vim ~/.vim/plugin\n\nConfiguring Abraxas\n-------------------\nTo start using Abraxas you need to do a one-time setup to create your account \ndirectory (~/.config/abraxas)::\n\n $ abraxas -I \n\nwhere ```` would be replaced by the email you provided to GPG when you \ncreated your key.\n\nYou will need to edit ~/.config/abraxas to add your accounts (see ``man \n5 abraxas`` for the details). For example, to add a gmail accounts, add the \nfollowing to ``accounts``::\n\n \"gmail-derrickAsh\": {\n 'aliases': ['gmail', 'google'],\n 'template': \"=words\",\n 'username': \"derrickAsh\",\n 'url': 'https://accounts.google.com',\n 'window': [\n 'Gmail*',\n '*Google Accounts*',\n ],\n 'autotype': \"{username}{tab}{password}{return}\",\n },\n\nYou can now test this account using::\n\n $ abraxas gmail\n PASSWORD: fallacy derby twinge clone\n\nYou would then change your gmail password to the generated pass phrase. \nAlternatively, you can simply enter your existing password into \n``password_overrides`` in ``~/.config/abraxas/master.gpg`` until the next time \nyou get around to changing your password.\n\nConfiguring the Window Manager for Abraxas Autotype\n---------------------------------------------------\nIf you use Firefox or Thunderbird, I recommend you install the 'Hostname in \nTitlebar' add-on to both so that Abraxas can recognize the account to use purely \nfrom the URL.\n\nFinally, you will want to chose a keystroke sequence and configure the window \nmanager to run the password generator when you trigger it with that keystroke. \nHow you do that depends on your window manager. With Gnome, it requires that you \nopen your Keyboard Shortcuts preferences and create a new shortcut. I recommend \n``Alt-p`` as a reasonable keystroke sequence. Enter::\n\n $HOME/.local/bin/abraxas --autotype\n\nas the command to run. Then, when you create your accounts, you should add the \nappropriate window titles to the account entry so that the appropriate account \ncan be determined automatically from the window title. For example, with the \ngmail account entered above, you can go to ``gmail.com``, select the username \nfield and then type ``Alt p`` to login.\n\n | Enjoy,\n | -Ken\n\n\nChangelog\n=========\n\n1.7 (2014-01-24)\n----------------\n\n* Replaced Zenity as the dialog tool for the account picker with an internal \n version that supports navigating and selecting with the keyboard (j, k, \n return, esc).\n\n* Fixed a bug in --init (-I). Program alternately worked on either python 2 or \n 3, but not both.\n\n* Provided an expanded set of templates.\n\n* Refactored the abraxas test suite.\n\n* Added --stateless option.\n\n1.6 (2014-01-13)\n----------------\n\n* Changed the name to Abraxas", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/kenkundert/abraxas/tarball/master/1.7", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://nurdletech.com/linux-utilities/abraxas", "keywords": null, "license": "GPLv3", "maintainer": null, "maintainer_email": null, "name": "abraxas", "package_url": "https://pypi.org/project/abraxas/", "platform": "linux", "project_url": "https://pypi.org/project/abraxas/", "project_urls": { "Download": "https://github.com/kenkundert/abraxas/tarball/master/1.7", "Homepage": "http://nurdletech.com/linux-utilities/abraxas" }, "release_url": "https://pypi.org/project/abraxas/1.7/", "requires_dist": null, "requires_python": null, "summary": "password generator", "version": "1.7" }, "last_serial": 1930515, "releases": { "1.7": [] }, "urls": [] }