80be2536dc | ||
---|---|---|
.gitignore | ||
LICENSE | ||
README.md | ||
epistlebox | ||
epistlebox.rs |
README.md
Epistlebox Datagram Server v0.2
Elizabeth Evelene Amelia Diode, June 2019
AGPL v3
Introduction
Email is bad, so we decided to make something even worse.
This is Epistlebox, a server application for receiving and collecting messages that people send to you. If they run their own Epistlebox instance, you can write back.
Features
- Uses TCP
- Fully multithreaded
- So simple that you can probably use it by accident
- Receives arbitrary files
- AGPL for some reason
- Decentralized communication platform!!!1
- Arguably federated
- You can block IP addresses, we're not monsters
How it works
Epislebox listens on any number of supplied TCP ports for incoming connections. When a connection
is established, Epistlebox records all the data sent to it, and emits a file containing that data
into the working directory. It also records the IP address from which each file originated in
.epistleslog
. Files are not named with any scheme associated with their contents, so finding out
what they are and how to open them is left as an exercise for the user.
For organization purposes, files received are placed into directiories by port number from which
they were received.
Epistlebox is a sister project of Sunbeam, with similar unspecified intended use cases and a similarly cursed existence. Epistlebox can complement Sunbeam by acting as a sort of recorder-logger for Sunbeam's data streams.
How to block IP addresses
These days, being able to filter the messages that are sent to you is one of the most important freedoms in all of human civilization. Epistlebox offers two simple modes of operation to allow this:
- IP addresses (v4 and v6 are both fine) listed in the file
.noepistles
will always have their connections dropped and can't send you anything. - If you suffix a port number argument with the letter
w
, then Epistlebox will only allow connections on that port if they originate from an IP address listed in.yeepistles
.
You can also designate a port as local-only, causing it to reject all connections that don't
originate from the same machine, by suffixing port arguments with p
.
How to send a message to Epistlebox
nc [server address] [port]
- Type your message, hitting enter after each line.
- Exit
nc
withctrl
-c
.
If you want to send a file to an Epistlebox instance, you could do something like
cat malware.jar | nc [server address] [port]