68 lines
3.1 KiB
Markdown
68 lines
3.1 KiB
Markdown
|
---
|
||
|
layout: page
|
||
|
title: ActivityPub Web Handler
|
||
|
---
|
||
|
The ActivityPub ([activitypub.js](/core/servers/content/web_handlers/activitypub.js)) provides [ActivityPub](https://www.w3.org/TR/activitypub/) support currently compatible with [Mastodon](https://joinmastodon.org/) and perhaps similar ActivityPub systems within the [Fediverse](https://en.wikipedia.org/wiki/Fediverse) allowing direct and public messaging, following/followers, etc. to be integrated with the ENiGMA½ BBS system.
|
||
|
|
||
|
# Supported Features
|
||
|
* ActivityPub with Mastodon support
|
||
|
* Users are generated a random avatar once enabled with the ability to change them within their ActivityPub configuration
|
||
|
* Social Manager
|
||
|
* Actor search (that is, other users within the Fediverse)
|
||
|
* Private and public messaging to/from the Fediverse
|
||
|
|
||
|
# Configuration
|
||
|
## Enabling ActivityPub
|
||
|
Full ActivityPub support requires the [Web Server](./web-server.md) module be enabled as well as a number of Web Handlers. Each handler configured within the `contentServers.web.handlers` block keys below of your `config.hjson` must be set to `enabled: true`:
|
||
|
|
||
|
| Handler | Key | Description | Default |
|
||
|
|---------|-----|-------------|---------|
|
||
|
| [WebFinger](./webfinger-handler.md) | `webFinger` | Allows other servers to discover your user/Actors | disabled |
|
||
|
| System General | `systemGeneral` | Serves avatar images | enabled |
|
||
|
| NodeInfo2 | `nodeInfo2` | Allows other systems to query information about your node | enabled |
|
||
|
| ActivityPub | `activityPub` | Described within this file | disabled |
|
||
|
|
||
|
**Example**
|
||
|
```js
|
||
|
contentServers: {
|
||
|
web: {
|
||
|
handlers: {
|
||
|
webFinger: {
|
||
|
enabled: true
|
||
|
}
|
||
|
// ...
|
||
|
activityPub: {
|
||
|
enabled: true
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
|
||
|
## Configuration Keys
|
||
|
| Key | Description |
|
||
|
| ----|-------------|
|
||
|
| `enabled` | Boolean. Set to `true` to enable WebFinger services |
|
||
|
| `selfTemplate` | String. Provide a fully qualified, or relative to [static root](./web-server.md#static-root) path to a template file for fetching profile information. Defaults to the same file used for [WebFinger](./webfinger-handler.md) queries; See [WebFinger](./webfinger-handler.md#profile-template) for more information.
|
||
|
|
||
|
## Configuring Defaults
|
||
|
### General
|
||
|
General ActivityPub configuration can be found within the `activityPub` block:
|
||
|
|
||
|
| Key | Description | Default |
|
||
|
| ----|-------------|---------|
|
||
|
| `autoSignatures` | Include auto-signatures in ActivityPub outgoing message/Notes? | `false` |
|
||
|
| `maxMessageLength` | Max single message/Note length in characters. Note that longer lengths *are* generally allowed by remote systems. | `500` |
|
||
|
|
||
|
### Default User Settings
|
||
|
Settings applied to new users or users first enabling ActivityPub are found within `users.activityPub` with the following members:
|
||
|
|
||
|
| Key | Description | Default |
|
||
|
| ----|-------------|---------|
|
||
|
| `enabled` | Enabled for users by default? | `false` |
|
||
|
| `manuallyApproveFollowers` | Do users need to manually approve followers? | `false` |
|
||
|
| `hideSocialGraph` | Hide users social graph? (followers, following, ...) | `false` |
|
||
|
| `showRealName` | Show real name? | `true` |
|
||
|
|
||
|
|