~mariusor/oni

Single user ActivityPub instance
Updated go-activitypub modules
Updated go-ap modules
Updated go-ap modules after the index work

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~mariusor/oni
read/write
git@git.sr.ht:~mariusor/oni

You can also use your local clone with git send-email.

#Oni

Is a single instance ActivityPub server compatible with Mastodon and the rest of the Fediverse.

#Getting the source

$ git clone https://git.sr.ht/~mariusor/oni
$ cd oni

#Features

Posting to an ONI instance is done using Client to Server ActivityPub.

The application supports text posts, image, audio and video uploads.

#Compiling

# We need to download the JavaScript dependencies, using yarn or npm
# yarn install
# npm install 
$ go mod tidy
$ go generate frontend.go
$ go build -trimpath -a -ldflags '-s -w -extldflags "-static"' -o $(go env GOPATH)/bin/oni ./cmd/oni/main.go

#Run server

# -listen can be a tcp socket, a domain socket, or the magic string "systemd"
# The later should be used if running as a systemd service with socket activation
$ oni -listen 127.0.4.2:4567 -path ~/.cache/oni

#Add root actor

# Creates an actor for URL https://johndoe.example.com and adds an OAuth2 client application with name 'johndoe.example.com'
# with OAuth2 client password 'SuperSecretOAuth2ClientPassword'. 
# The --with-token boolean flag can make the application generate an Authorization header containing a Bearer token 
# usable directly in an ActivityPub client.
$ onictl actor add --pw SuperSecretOAuth2ClientPassword https://johndoe.example.com