You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Kevin Froman e658da13be * Added full utf-8 support via base85 1 year ago
src * Added full utf-8 support via base85 1 year ago
tests * Added full utf-8 support via base85 1 year ago
.gitignore updated gitignore 1 year ago
.travis.yml added tor build dependencies apt install 1 year ago
CHANGELOG.md * Added full utf-8 support via base85 1 year ago
LICENSE initial commit 1 year ago
Makefile added stuff for CI 1 year ago
README.md added stream.py, still need func to add to stream 1 year ago
dummy.png fixes and added images 1 year ago
logo.png improved readme# 1 year ago
no-dummy.png fixes and added images 1 year ago
requirements.in added stuff for CI 1 year ago
requirements.txt added stuff for CI 1 year ago
run_tests.sh initial commit 1 year ago
setup.cfg initial commit 1 year ago
setup.py * Added full utf-8 support via base85 1 year ago

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

Limitations + Road map

This project will forever follow the KISS principle, but these two three will be addressed.

  • Multi-byte character support (full utf-8 support)
  • Tor bridge support
  • Support non-anonymous hidden services. Mainly useful for certain development needs