an ActivityPub testing area in Flask
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
manetta 72fa9c8c21 debug il y a 3 ans
static/icons first push to the git il y a 5 ans
templates first push to the git il y a 5 ans
.gitignore returning to this prototype, trying to run it again il y a 3 ans
README.md returning to this prototype, trying to run it again il y a 3 ans
requirements.txt returning to this prototype, trying to run it again il y a 3 ans
run.py debug il y a 3 ans

README.md

AP test in Flask

A basic ActivityPub server written in Flask, that listens to follow requests, based on this tutorial: https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/

This is a testing area :), to see if it is possible to use Python and Flask to write a small server that speaks ActivityPub.

This repository was sparked from a curiosity in federation and light-weight (static) website making.

Operating on the level of the ActivityPub protocol will hopefully give some insights in the way that networks on the Fediverse federate with each other.

  • What are the minimal requirements to run an Activity Pub server?
  • How could a static site federate its content with the Fediverse?
  • How are ActivityPub feeds similar and different from RSS feeds?
  • How can such server be used? What kind of publishing tools can be imagined?
  • What ActivityPub "objects" (is that the right term?) can we try out and use, next to the commonly used "Note" object?

Install this prototype

When you run this prototype on a server, you could connect to the Fediverse.

Prepare your server

For this you need to following:

  • a subdomain for the server, for example: ap.example.com
  • a SSL certificate for this domain, for which you could use: certbot from https://letsencrypt.org/
  • a reverse proxy configuration, relaying the subdomain to the Flask application running on port 5010 (by default)

Once this is set up, you can install this prototype.

Install the prototype

Make a virtual environment:

$ python3 -m venv FOLDERNAME

Activate the environment:

$ source FOLDERNAME/bin/activate

Install the dependencies:

$ pip install -r requirements.txt

Run the Flask application:

$ python3 run.py