mirror of
https://codeberg.org/grunfink/snac2.git
synced 2024-11-23 05:45:03 +00:00
171 lines
5.6 KiB
Groff
171 lines
5.6 KiB
Groff
.Dd $Mdocdate$
|
|
.Dt SNAC 5
|
|
.Os
|
|
.Sh NAME
|
|
.Nm snac
|
|
.Nd message formatting and file format documentation
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
daemon processes messages from other servers in the Fediverse
|
|
using the ActivityPub protocol.
|
|
.Pp
|
|
This manual describes the allowed formatting of note messages
|
|
and the disk storage layout of
|
|
.Nm
|
|
server and user data. For the operation manual, see
|
|
.Xr snac 1 .
|
|
For the administration manual, see
|
|
.Xr snac 8 .
|
|
.Ss Message Formatting
|
|
Message notes respect the entered new line breaks rigurously.
|
|
A special subset of Markdown is allowed, including:
|
|
.Bl -tag -width tenletters
|
|
.It bold
|
|
**text between two pairs of asterisks**
|
|
.It italic
|
|
*text between a pair of asterisks*
|
|
.It code
|
|
Text `between backticks` is formatted as code.
|
|
.Bd -literal
|
|
```
|
|
/* text between lines with only three backticks is preformatted */
|
|
int main(int argc, char *argv[])
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
```
|
|
.Ed
|
|
.It links
|
|
Standalone URLs.
|
|
.It quoted text
|
|
Lines starting with >.
|
|
.It User Mentions
|
|
Strings in the format @user@host are requested using the Webfinger
|
|
protocol and converted to links and mentions if something reasonable
|
|
is found.
|
|
.It Emoticons / Smileys / Silly Symbols
|
|
The following traditional ASCII emoticons or special strings are
|
|
converted to related emojis:
|
|
.Bd -literal
|
|
:-) :-D X-D ;-) B-) :-( :-* <3 :-/ 8-o
|
|
%-) :_( :-| >:-( :facepalm: :shrug: :shrug2:
|
|
:eyeroll: :beer: :beers: :munch: :thumb:
|
|
.Ed
|
|
.El
|
|
.Pp
|
|
.Ss Accepted HTML
|
|
All HTML tags in entries are neutered except the following ones:
|
|
.Bd -literal
|
|
a p br blockquote ul ol li cite
|
|
span i b u pre code em strong
|
|
.Ed
|
|
.Pp
|
|
.Ss Disk Layout
|
|
This section documents version 2.7 of the disk storage layout.
|
|
.Pp
|
|
The base directory contains the following files and folders:
|
|
.Bl -tag -width tenletters
|
|
.It Pa server.json
|
|
Server configuration.
|
|
.It Pa user/
|
|
Directory holding user subdirectories.
|
|
.It Pa object/
|
|
Directory holding the ActivityPub objects. Filenames are hashes of each
|
|
message Id, stored in subdirectories starting with the first two letters
|
|
of the hash.
|
|
.It Pa queue/
|
|
This directory contains the global queue of input/output messages as JSON files.
|
|
File names contain timestamps that indicate when the message will
|
|
be sent. Messages not accepted by their respective servers will be re-enqueued
|
|
for later retransmission until a maximum number of retries is reached,
|
|
then discarded.
|
|
.It Pa inbox/
|
|
Directory storing collected inbox URLs from other instances.
|
|
.It Pa archive/
|
|
If this directory exists, all input and output messages are logged inside it,
|
|
including HTTP headers. Only useful for debugging. May grow to enormous sizes.
|
|
.It Pa error/
|
|
If this directory exists, HTTP signature check error headers are logged here.
|
|
Only useful for debugging.
|
|
.It Pa log/
|
|
If this directory exists, log messages are also stored there in daily files.
|
|
.It Pa app/
|
|
This directory stores Mastodon API apps.
|
|
.It Pa token/
|
|
This directory stores Mastodon API tokens.
|
|
.It Pa style.css
|
|
The server-wide CSS. Not used directly; everytime a new user is created, this
|
|
file is copied to the user
|
|
.Pa static/
|
|
folder.
|
|
.It Pa greeting.html
|
|
This file is served when the server base URL is requested from a web browser. See
|
|
.Xr snac 8
|
|
for more information about the customization options.
|
|
.It Pa public.idx
|
|
This file contains the list of public posts from all users in the server.
|
|
.El
|
|
.Pp
|
|
Each user directory is a subdirectory of
|
|
.Pa BASEDIR/user/ ,
|
|
has the user id as name and contains the following subdirectories and files:
|
|
.Bl -tag -width tenletters
|
|
.It Pa user.json
|
|
User configuration file.
|
|
.It Pa user_o.json
|
|
User configuration override file. This file is intended for administrators to
|
|
override some user preferences. For current version, the fields that can be
|
|
overridden are 'purge_days' and 'email'.
|
|
.It Pa key.json
|
|
Secret/public key PEM data.
|
|
.It Pa followers.idx
|
|
This file contains the list of followers as a list of hashed object identifiers.
|
|
.It Pa followers/
|
|
This directory stores hard links to the actor objects in the object storage.
|
|
.It Pa following/
|
|
This directory stores the users being followed as hard links to the 'Follow'
|
|
or 'Accept' objects in the object storage. File names are the hashes of each
|
|
actor Id.
|
|
.It Pa private.idx
|
|
This file contains the list of timeline entries as a list of hashed
|
|
object identifiers.
|
|
.It Pa private/
|
|
This directory stores hard links to the timeline entries in the object storage.
|
|
.It Pa public.idx
|
|
This file contains the list of public timeline entries as a list of hashed
|
|
object identifiers.
|
|
.It Pa public/
|
|
This directory stores hard links to the public timeline entries in the object
|
|
storage.
|
|
.It Pa muted/
|
|
This directory contains files which names are hashes of muted actors. The
|
|
content is a line containing the actor URL.
|
|
Messages from these actors will be ignored on input and not shown in any timeline.
|
|
.It Pa hidden/
|
|
This directory contains references to the hidden timeline entries.
|
|
.It Pa queue/
|
|
This directory contains the output queue of messages generated by the user as
|
|
JSON files. File names contain timestamps that indicate when the message will
|
|
be sent. Messages not accepted by their respective servers will be re-enqueued
|
|
for later retransmission until a maximum number of retries is reached,
|
|
then discarded.
|
|
.It Pa static/
|
|
Files in this directory are served as-is when requested from the
|
|
.Pa https://HOST/USER/s/...
|
|
URL path. A special file named
|
|
.Pa style.css
|
|
can contain user-specific CSS code to be inserted into the HTML of the
|
|
web interface.
|
|
.It Pa history/
|
|
This directory contains generated HTML files. They may be snapshots of the
|
|
local timeline in previous months or other cached data.
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr snac 1 ,
|
|
.Xr snac 8
|
|
.Sh AUTHORS
|
|
.An grunfink Lk https://comam.es/snac/grunfink @grunfink@comam.es
|
|
.Sh LICENSE
|
|
See the LICENSE file for details.
|