epicyon/README.md

44 lines
1.3 KiB
Markdown
Raw Normal View History

2019-07-04 20:50:46 +00:00
<img src="https://code.freedombone.net/bashrc/epicyon/raw/master/img/logo.png?raw=true" width=256/>
2019-07-04 21:20:26 +00:00
A minimal ActivityPub server.
2019-06-28 18:55:29 +00:00
2019-06-29 10:08:59 +00:00
Based on the specification: https://www.w3.org/TR/activitypub
2019-06-29 11:47:33 +00:00
Also: https://raw.githubusercontent.com/w3c/activitypub/gh-pages/activitypub-tutorial.txt
2019-06-29 10:08:59 +00:00
2019-07-04 21:21:10 +00:00
## Goals
2019-07-04 21:20:26 +00:00
* A minimal ActivityPub server, comparable to an email MTA.
* Server-to-server and client-to-server protocols supported.
* Opt-in federation. Federate with a well-defined list of instances.
* Resistant to flooding, hellthreads, etc.
* Support content warnings, reporting and blocking.
* http signatures and basic auth.
* Compatible with http (onion addresses), https and dat.
* Minimal dependencies.
* Data minimization principle. Configurable post expiry time.
* Commandline interface. If there's a GUI it should be a separate project.
* Designed for intermittent connectivity. Assume network disruptions.
* Suitable for single board computers.
2019-06-28 18:55:29 +00:00
## Install
``` bash
2019-07-04 20:42:05 +00:00
sudo pacman -S tor python-pip python-pysocks python-pycryptodome python-beautifulsoup4
2019-07-02 17:11:59 +00:00
sudo pip install commentjson
2019-07-04 20:44:03 +00:00
```
## Running Tests
To run the unit tests:
``` bash
python3 epicyon.py --tests
```
To run the network tests. These simulate instances exchanging messages.
``` bash
python3 epicyon.py --testsnetwork
```