Simple, anyonymous chat app where messages are never saved to a disk. Ever.
Project description
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
6780on 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.pyscript: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 |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ethernot-0.2.0.tar.gz.
File metadata
- Download URL: ethernot-0.2.0.tar.gz
- Upload date:
- Size: 22.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eac75d78f10010660c5d47b287f27954ea0c2acae0a80f6212e4e9467b33e3f2
|
|
| MD5 |
6863f19b113d64b865876499ba9c8246
|
|
| BLAKE2b-256 |
e74463a40a2d9575ea52fa5afa44c14e80f06130595858565d30dd8bff141d87
|
File details
Details for the file ethernot-0.2.0-py3-none-any.whl.
File metadata
- Download URL: ethernot-0.2.0-py3-none-any.whl
- Upload date:
- Size: 22.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52ba0bca50bd17db6e493557fec4b6a7b7ff83356c2f8e1f7d7bd4587fce3ccd
|
|
| MD5 |
d90df7538c1daac1d4bc56403eb5fa32
|
|
| BLAKE2b-256 |
93a8c4a2e396ed024c4345ad9d26f78e8921eee94e63afe80ad20b02de3913c4
|