Go to file
Kevin Froman cafa4e6d11 improved readme# 2020-04-25 03:16:34 -05:00
src + finished basic client tests 2020-04-24 18:43:24 -05:00
tests allow client test more time to execute 2020-04-24 18:54:12 -05:00
.gitignore updated gitignore 2020-04-23 04:29:35 -05:00
.travis.yml added tor build dependencies apt install 2020-04-23 04:55:39 -05:00
CHANGELOG.md bump version 2020-04-24 18:53:15 -05:00
LICENSE initial commit 2020-04-16 06:41:49 -05:00
Makefile added stuff for CI 2020-04-23 04:36:55 -05:00
README.md improved readme# 2020-04-25 03:16:34 -05:00
dummy.png fixes and added images 2020-04-20 06:15:19 -05:00
logo.png improved readme# 2020-04-25 03:16:34 -05:00
no-dummy.png fixes and added images 2020-04-20 06:15:19 -05:00
requirements.in added stuff for CI 2020-04-23 04:34:51 -05:00
requirements.txt added stuff for CI 2020-04-23 04:34:51 -05:00
run_tests.sh initial commit 2020-04-16 06:41:49 -05:00
setup.cfg initial commit 2020-04-16 06:41:49 -05:00
setup.py bump version 2020-04-24 18:53:15 -05:00

README.md

Build Status

Only you and the person you're talking to should know the details of the conversation. This includes metadata.

This is a Python library to share data anonymously and securely* with limited traffic metadata. It is designed for generic byte streaming over a private tunnel, using Tor onion services..

This library is meant to be used by other libraries or applications, however a script 'yam' is included to enable basic CLI instant messaging.

* The ID one connects to a host with must be shared via a secure (private, authenticated) channel.

install 📥

$ pip install youandme

You also need a recent Tor daemon in executable path. 0.4 Tor is what is tested. https://www.torproject.org/download/tor/

basic chat usage 💬

$ yam.py host

This will start a bare-bones CLI-based chat and output an address to be given to a friend.

The friend connects:

$ yam.py conn --address <address>

purpose 🧑‍🤝‍🧑

In normal socket connections, Eve can see when Alex and Bob communicate and the size of their communications.

This library sends continuous streams of data (null bytes) even when no information is being communicated, in order to increase unobservability of transmission times and packet sizes.

Anonymity and encryption is provided via Tor onion services, though this library could easily be adapted to use plaintext (and encryption by an application) or another relay like I2P.

security 🔒

As stated above, this library does no authentication. However, if the ID is shared privately and safely, the tunnel will have roughly the security of a Tor v3 onion service, with increased metadata unobservability.

That said, one should not rely on any software when the stakes are too high.

what an attacker sees in a normal Tor connection

what an attacker sees in a youandme connection