mirror:world
Title:
Sysadmin Suicide Squad: ActivityPub
Authors:
Aoi K.'); DROP TABLE Internet;--
Date:
Topics:
Computing
Id:
edqe0j

I've started testing unpopular ActivityPub implementations that in theory, should run fine on a small VPS or something with low specs on KyokoNet yesterday.

Episode 1: Epicyon

The installation process went like a breeze, and I barely had to use `pip`. Then I set up a subdomain on my DNS zone file, added said subdomain to the ACME client and did the usual process, more or less.

I've had to write a wrapper script and a rc.d(8) script and mess up a lot with it before I got it to work.

/usr/local/bin/epicyon ``` #!/bin/sh env USER=_epicyon PYTHONBUFFERED=true /usr/local/bin/python3 /usr/local/epicyon/epicyon.py --port 443 --proxy 7156 --domain epicyon.kyoko-project.wer.ee --registration open ```

/etc/rc.d/epicyon ``` #!/bin/ksh daemon="/usr/local/bin/epicyon" daemon_user="_epicyon"

. /etc/rc.d/rc.subr

rc_bg=YES rc_reload=NO

rc_cmd "$1" ```

And followed the nginx setup on the README file. So far so good so what? There was mostly one-way federation (i.e. I could see them, but they couldn't see me, but that wasn't the case with misskey so far)

That undeniably confirmed my concerns about AP, from my personal experience, so I wasn't really surprised.

I took down the node today because it was mostly pointless to keep it up, and I wasn't gonna really use it anyway.

Pros: * works without JavaScript and literally any browser * practically effortless to host, but your mileage may vary

Cons: * the above mentioned issues, but that's a problem with AP itself

=> https://epicyon.net

Episode 2: GoToSocial

Was kinda easy but the result wasn't that good at all.

``` #!/bin/ksh daemon="/usr/local/gts/gotosocial" daemon_user="_gts"

rc_bg=YES rc_reload=NO

rc_cmd "$1" ```

Not gonna bother to remember the `daemon_flags` of that thing. I then did the usual reverse proxy and tls cert procedure but GtS wasn't able to detect the static files for no reason at all, and the page looked so out of place that I was like, ugh.

This one didn't federate at all with everything else, again barely found by Misskey, but that's kinda about it.

Pros: * Written in Go * No JS required, in fact, it doesn't have a frontend included at all

Cons: * Ditto as Epicyon

-- snip -- I guess i'm just going to stop here, this is insane...