rxcomm / pyaxo Goto Github PK
View Code? Open in Web Editor NEWA python implementation of the Axolotl ratchet protocol.
License: GNU General Public License v3.0
A python implementation of the Axolotl ratchet protocol.
License: GNU General Public License v3.0
When I am runnign python axotor.py, I get this:
Traceback (most recent call last):
File "axotor.py", line 10, in <module>
from wh import WHMgr
File "/home/matej/pyaxo/examples/wh.py", line 7, in <module>
from wormhole.wormhole import wormhole
File "/usr/local/lib/python2.7/dist-packages/wormhole/wormhole.py", line 3, in <module>
from attr import attrs, attrib
ImportError: cannot import name attrs
Before that I did:
sudo apt-get install gcc libffi-dev libsodium-dev python-dev
sudo pip install pyaxo
git clone https://github.com/rxcomm/pyaxo
cd pyaxo
sudo python setup.py install
sudo pip install PySocks
sudo pip install stem
sudo pip install wormhole
sudo pip install txtorcon
sudo pip install magic-wormhole
cd examples/
python axotor.py
I am running Ubuntu 16.04.2 LTS, 64-bit.
At @felipedau 's suggestion, I just published version 1.3 of "curve25519-donna" to PyPI. So I think you can remove the dependency_links=
portion of your setup.py now.
I am creating the FreeBSD port, it is a requirement to specify python versions, and this info isn't anywhere in the project.
I noticed the comment on: 2218830 that said it depended upon an unreleased magic-wormhole API. Just wanted to let you know that we've made a magic-wormhole release since that point, so maybe you can update the comment if that seems accurate.
cheers,
-Brian
Also, please make tests runnable w/out installing pyaxo. Add the target 'test'.
The protocol needs to be updated to the latest version of the spec at https://whispersystems.org/docs/specifications/doubleratchet/. Mostly this involves cleaning up the root key stuff and using hkdf instead of pbkdf2. Nothing in these changes affects the essential security of pyaxo.
When I try to install this in a virtualenv, I get an error culminating in error: could not create '/usr/share/pyaxo': Permission denied
which I guess stems from the BASE_DIRECTORY
stuff in setup.py? (That said, only the thing on PyPI can't install; if I clone and pip install --editable
the master branch it seems to work.
This makes something needed only for testing be required unconditionally. Should pytest-runner
be under tests_require
?
It prints these errors:
byte-compiling /usr/ports/security/py-pyaxo/work-py36/stage/usr/local/lib/python3.6/site-packages/pyaxo.py to pyaxo.cpython-36.pyc
File "/usr/local/lib/python3.6/site-packages/pyaxo.py", line 127
print 'Confirm ' + other_name + ' has identity key fingerprint:\n'
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(print 'Confirm ' + other_name + ' has identity key fingerprint:\n')?
writing byte-compilation script '/tmp/tmp0_bsh647.py'
/usr/local/bin/python3.6 /tmp/tmp0_bsh647.py
File "/usr/local/lib/python3.6/site-packages/pyaxo.py", line 127
print 'Confirm ' + other_name + ' has identity key fingerprint:\n'
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(print 'Confirm ' + other_name + ' has identity key fingerprint:\n')?
Project unmessage
depends on both pyaxo
and opuslib
. opuslib
is now pythin3-only, and pyaxo
is pythin2-only. This makes unmessage
broken.
Dear rxcomm,
Love your implementation of the Axolotl stuff, but was wondering on what information you based the derivation of the Rk, HKs etc. from the master key (lines 180+). The protocol v2 specification doesn't mention how these keys should be derived and the libaxolotl-java implementation doesn't use the header keys.
There are more differences between your implementation and the TextSecure implementation. On what specs do you base your code?
TIA
LeMoi
Running tests with ${PYTHON_CMD} -m pytest
on FreebSD 11.1
===> py27-pyaxo-0.8.1 depends on file: /usr/local/bin/python2.7 - found
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/_pytest/config.py", line 379, in _importconftest
mod = conftestpath.pyimport()
File "/usr/local/lib/python2.7/site-packages/py/_path/local.py", line 680, in pyimport
raise self.ImportMismatchError(modname, modfile, self)
ImportMismatchError: ('tests.conftest', '/home/k0rx/pyaxo/tests/conftest.py', local('/usr/ports/security/py-pyaxo/work/pyaxo-0.8.1/tests/conftest.py'))
ERROR: could not load /usr/ports/security/py-pyaxo/work/pyaxo-0.8.1/tests/conftest.py
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.