an ActivityPub testing area in Flask
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
manetta 72fa9c8c21 debug 3年前
static/icons first push to the git 5年前
templates first push to the git 5年前
.gitignore returning to this prototype, trying to run it again 3年前
README.md returning to this prototype, trying to run it again 3年前
requirements.txt returning to this prototype, trying to run it again 3年前
run.py debug 3年前

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