Skip to main content

ethernot

Super-simple encrypted command line text messaging where messages are stored only in the memory of all computers connected.

pronounced like "ethernet" but... not

installation

pip install ethernot (or pipx if you so require)

usage

ethernot --server <server> --user <username> If the server requires, you may --renewcerts There is a test server hosted at 70.27.0.129, or you may host your own instance of tethernot by scrolling down.

features

  • Runs on any device that supports Python and is connected to the internet.
  • No port forwarding necessary, unless you're hosting a relay server.
  • Server never saves any messages - not even in memory. It can't even read them.
  • Your messages are never saved to disk. They're only kept alive by any clients connected.
  • No stupid accounts needed. All messages are only linked to whichever username you choose for the session.
  • Multiple channel support.
  • Minimal command line interface. Server doesn't even need to output anything (but it still does).
  • No analytics, trackers, or bigwig corporate executives spying on your every move.
  • Per-IP rate limiting and basic sync - no banning though, that just wouldn't work.
  • Kinda-sorta-encrypted? idk encryption is hard

NOTE: Traffic is encrypted, but ethernot is !VULNERABLE! to man-in-the-middle attacks during a client's *first* connection.

hosting

To host your own tethernot server:

  • Install tethernot's dependencies: asyncio, cryptography
  • Port forward port 6780 on your router. This will vary based on your manufacturer; if you can't figure out how to do it, you shouldn't be messing with it.
  • NOTE: If your network is behind CG-NAT, you will not be able to port forward and thus will not be able to run tethernot. The client will still run fine!
  • Clone the repository: git clone https://github.com/qwikster/ethernot.git
  • Move into it: cd /ethernot
  • Start the tethernot.py script: python tethernot.py
  • That's it! Share the ip with your users and they can connect. You can't do anything but see IP addresses on this client, it's just a relay.
  • If you ever need to regenerate the server certificates: python tethernot.py --regencerts

arguments

Some useful arguments for tethernot:

Argument Use Default Value
--regencerts Regenerate certificates to connect clients anew. --
--port <0-65536> Choose a port to run tethernot on. 6780
--bucket Set the max messages a client can send before being rate limited. 5 messages
--bucketfill Set the regeneration rate in seconds (float) of the rate limit "bucket". 1.0 seconds
--blocktime Set time in seconds to block a user after they've been rate limited. 30 seconds

Metadata

Release files for ethernot 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ethernot 0.2.0
File Size Uploaded
ethernot-0.2.0.tar.gz 22.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ethernot 0.2.0
File Interpreter ABI Platform
ethernot-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 44.3 kB

Release files / ethernot-0.2.0.tar.gz

Download URL ethernot-0.2.0.tar.gz
Size 22.0 kB
Tags Source
SHA-256 checksum
How to use checksums
eac75d78f10010660c5d47b287f27954ea0c2acae0a80f6212e4e9467b33e3f2
BLAKE2b-256 checksum
How to use checksums
e74463a40a2d9575ea52fa5afa44c14e80f06130595858565d30dd8bff141d87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.15

Release files / ethernot-0.2.0-py3-none-any.whl

Download URL ethernot-0.2.0-py3-none-any.whl
Size 22.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
52ba0bca50bd17db6e493557fec4b6a7b7ff83356c2f8e1f7d7bd4587fce3ccd
BLAKE2b-256 checksum
How to use checksums
93a8c4a2e396ed024c4345ad9d26f78e8921eee94e63afe80ad20b02de3913c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.15

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page