• Stars
    star
    148
  • Rank 249,983 (Top 5 %)
  • Language
    HTML
  • License
    ISC License
  • Created almost 12 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Python implementation of 1Password keychains

Build Status

onepasswordpy is a pure-python library for manipulating 1Password's .agilekeychain files. Right now, it supports decrypting and loading all data types. Creation of new items will come in a future release. It will also support .cloudkeychain files in a future release. See TODO.markdown for other things that might come in future releases.

IMPORTANT NOTE: I am not in any way affiliated with AgileBits, the makers of 1Password. Their software is awesome and you should probably go buy it. Please don't sue me!

Dependencies

This project depends on the following major third-party libraries:

  • simplejson
  • cryptography

In addition to that, you also need to have following crypto libs installed on your system:

  • On Ubuntu ( openssl-dev , libffi-dev )
  • On RHEL/SuSE ( openssl-devel, libffi48-devel )

This is a human-readable denormalized list; for the actual list, look at setup.py.

There are three different providers for the most expensive crypto operation (key derivation via PBKDF2):

  • nettle (via ctypes): finishes test suite in 0.35s
  • cryptography: finishes test suite in 1.4s

These will be imported in that order. If you don't have nettle, everything will fall back gracefully to cryptography (which is also used for the speedy symmetric crypto).

Unit tests are written using nose and unittest2; you should install those (with yum, apt-get, pip, or whatever else suits your fancy) and run nosetests tests to run the tests.

This library ought to work with Python 2.6, 2.7, and 3.3+.

License

This work is licensed under the ISC license. The full contents of this license are available as the file LICENSE.txt

More Repositories

1

muttdown

Markdown in mutt
Python
55
star
2

rust-syslog-rfc5424

RFC5424-compliant IETF syslog parser in Rust
Rust
45
star
3

rdtsc

Python wrapper around the RDTSCP instruction to get the cycle counter on X86
Python
18
star
4

einotail

Like `tail -F` but with more epoll and inotify
C
11
star
5

pystack

Examine Python stack traces on Linux using the magic of ptrace(2).
C++
9
star
6

fakemtpd

a simple fake SMTP server for testing purposes
Python
7
star
7

devpi

irrationally better
C
7
star
8

aabot

An IRC bot that detects links to images and writes them back to IRC
Python
6
star
9

sedc

A compiler for sed
Haskell
6
star
10

turtles

Turtles
Python
6
star
11

nixTime

Pebble watchface displaying human time and Unix Epoch time (updating minutely to conserve battery)
C
5
star
12

eppipe

An epoll-based wrapper for terminating children when stdin closes
C
5
star
13

jsSnow

Browser-based snow
JavaScript
3
star
14

wamupd

Wide-area Multicast DNS Updater
Ruby
3
star
15

sshfp

A fork of the sshfp utility
3
star
16

variables_file.vim

Vim Script
2
star
17

advent_of_code_2022

2022 Advent of Code Solutions
Rust
2
star
18

cwviz

Circuit Visualizer
Ruby
2
star
19

noxeyes

xeyes, without the x
Python
2
star
20

tornado_proxy

Tornado implementation of the PROXY protocol
Python
2
star
21

cloudflare_exposure

New tooling to figure out what services I use use CloudFlare for HTTPS
Python
2
star
22

comparison_timing_attack_demo

A readable demonstration of comparison function timing attacks
Python
1
star
23

memtime

A program for sampling and graphing memory usage of other processes
1
star
24

tornado_irc

IRC client library for Python's Tornado async framework
Python
1
star
25

licenses_from_pypi

Look up the licenses for python packages quickly
Python
1
star
26

evecho

A simple echo server written using libevent so I could learn how to use libevent
C
1
star
27

parse_haproxy_logs

A perl program for parsing HAProxy http-mode logs. Largely undocumented.
Perl
1
star
28

projroot

Tool for detecting project roots
Rust
1
star