About
ActivityPub source implementation for Awakari.
Actually, just another Fedivers server that follows specified publishers on behalf of a user.
Awakari is a service consuming public only updates from various sources and filters these for a user.
The purpose is only to notify user in real time and provide a link to the source (e.g. post).
If you don't want Awakari to follow you, just find it in a list of your followers and remove.
Conversion Schema
Specific (non "as is") attribute conversions:
Source Activity Attribute |
Destination CloudEvent Attribute |
Notes |
actor.id |
source |
|
actor.name |
subject |
e.g. "John Doe" |
published |
time |
|
content |
<text data> |
|
summary |
<text data> |
Prepends the existing text data (if any) with a line separator |
type |
action |
e.g. "Create" |
object.id |
objecturl |
only if object is link |
object.type |
object |
e.g. "Note" |
object.attachment.id |
attachmenturl |
only if attachment is link |
object.attachment.url |
attachmenturl |
only if attachment is object |
object.attachment.mediaType |
attachmenttype |
only if attachment is object |
object.content |
<text data> |
Prepends the existing text data (if any) with a line separator |
object.inReplyTo |
inreplyto |
|
object.location |
latitude |
|
object.location |
longitude |
|
object.startTime |
starts |
|
object.summary |
<text data> |
Prepends the existing text data (if any) with a line separator |
object.image |
imageurl |
|
Notes:
-
All other attributes (not mentioned in the table above) are been converted as is, e.g. "duration" -> "duration"
-
Activity attribute may be an "object" without an activity type (verb, e.g. "Create").
Then it's also been converted as "object" in addition to the activity fields.
Compatibility
Other
Public Key
openssl genrsa 2048 | openssl pkcs8 -topk8 -nocrypt -out private.pem
openssl rsa -in private.pem -outform PEM -pubout -out public.pem
kubectl create secret generic int-activitypub-keys \
--from-file=public=public.pem \
--from-file=private=private.pem
Manual Testing
Example request:
grpcurl \
-plaintext \
-proto api/grpc/service.proto \
-d '{ "addr": "Mastodon@mastodon.social" }' \
localhost:50051 \
awakari.int.activitypub.Service/Create