A useless C2S ActivityPub server
Find a file
2023-01-18 05:05:02 +00:00
.well-known Add static files 2023-01-18 01:19:53 +00:00
users So it turns out my HTTP signatures were correct... 2023-01-18 05:05:02 +00:00
activity.jsonld Implement (broken) HTTP signatures 2023-01-18 05:01:59 +00:00
client.py Implement (broken) HTTP signatures 2023-01-18 05:01:59 +00:00
LICENSE Initial commit 2023-01-18 00:18:22 +00:00
private.pem Implement (broken) HTTP signatures 2023-01-18 05:01:59 +00:00
public.pem Implement (broken) HTTP signatures 2023-01-18 05:01:59 +00:00
README.md Implement (broken) HTTP signatures 2023-01-18 05:01:59 +00:00
server.py So it turns out my HTTP signatures were correct... 2023-01-18 05:05:02 +00:00

fuwuqi

Fuwuqi (fúwùqì or 服务器 means "server" in Chinese) is a useless C2S ActivityPub server for "extremely hardcore" ActivityPub enthusiasts. Craft your own exquisite WebFinger response! Customize your actor object exactly like you want! Hack and extend the 100-line Python server code!

If that sounds like a world of pain, close this webpage now... OK, got that out of the way. Time for some fun!

Configuration

First, clone this repo on your server.

Now, generate an RSA keypair on your client device:

openssl genrsa -out private.pem 2048
openssl rsa -in private.pem -outform PEM -pubout -out public.pem

Rename users/test.jsonld to your username and pop it open in your favorite text editor. You should change 0.exozy.me to match your server's domain name, test to your username, and the publicKeyPem field to the public key you just generated.

Onward! Now open .well-known/webfinger in your editor, and modify it similarly.

That wasn't so bad, was it? (sobbing sounds)

Usage

Alright, time for the real deal. Start up python main.py on your server. If you want to customize the port or whatever, just change the source code.

Now on your client device, open up your favorite C2S ActivityPub client... oh wait... there aren't any! Welp, you'll just have to settle for reading the AP spec, writing some homemade JSON, and figuring out how python client.py works.

Like and subscribe and enjoy your new "extremely hardcore" ActivityPub server!!! 🎉😎🚀🙃🥳

Resources