Skip to main content

Simple private data sharing via bytearrays, Tor tunneling and metadata paranoia

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

youandme-2.0.0.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

youandme-2.0.0-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file youandme-2.0.0.tar.gz.

File metadata

  • Download URL: youandme-2.0.0.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for youandme-2.0.0.tar.gz
Algorithm Hash digest
SHA256 e778e256686f97b7a2c6ccbe9e4491120f186d4995166a75ae7cff52a52ccfd2
MD5 11f1f0b270ac66451d3d33d6a3dcffd5
BLAKE2b-256 728a664352070287bac2b58fa83a4c9aff8b8ba65a823e4214ca249771d2c9af

See more details on using hashes here.

File details

Details for the file youandme-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: youandme-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 23.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for youandme-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3b92ac6e06f93457ac1a7c1b5c69f595c329ff283b23594297eb65bee8d00cb9
MD5 6f16c7da122d49d450bd6ea7bf48a55f
BLAKE2b-256 a0ca3ad9908d6eb820eb7a611debde36a15e5cfa27b8d1c5e5b76766cd9cb885

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page