Provided by: snac2_2.45-1build3_amd64 bug

NAME

     snac — message formatting and file format documentation

DESCRIPTION

     The snac daemon processes messages from other servers in the Fediverse using the ActivityPub
     protocol.

     This manual describes the allowed formatting of note messages and the disk storage layout of
     snac server and user data. For the operation manual, see snac(1).  For the administration
     manual, see snac(8).

   Message Formatting
     Message notes respect the entered new line breaks rigurously.  A special subset of Markdown
     is allowed, including:

     bold        **text between two pairs of asterisks**

     italic      *text between a pair of asterisks*

     code        Text `between backticks` is formatted as code.

                 ```
                 /* text between lines with only three backticks is preformatted */
                 int main(int argc, char *argv[])
                 {
                     return 0;
                 }

                 ```

     links       Standalone URLs.

     quoted text
                 Lines starting with >.

     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.

     Emoticons / Smileys / Silly Symbols
                 The following traditional ASCII emoticons or special strings are converted to
                 related emojis:

                 :-) :-D X-D ;-) B-) :-( :-* <3 :-/ 8-o
                 %-) :_( :-| >:-( :facepalm: :shrug: :shrug2:
                 :eyeroll: :beer: :beers: :munch: :thumb:

   Accepted HTML
     All HTML tags in entries are neutered except the following ones:

     a p br blockquote ul ol li cite small
     span i b u s pre code em strong hr img del

   Disk Layout
     This section documents version 2.7 of the disk storage layout.

     The base directory contains the following files and folders:

     server.json
                 Server configuration.

     user/       Directory holding user subdirectories.

     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.

     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.

     inbox/      Directory storing collected inbox URLs from other instances.

     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.

     error/      If this directory exists, HTTP signature check error headers are logged here.
                 Only useful for debugging.

     log/        If this directory exists, log messages are also stored there in daily files.

     app/        This directory stores Mastodon API apps.

     token/      This directory stores Mastodon API tokens.

     style.css   The server-wide CSS. The content of this file is inserted into the HTML output
                 unless a user-specific one exist in the user's static/ folder.

     greeting.html
                 This file is served when the server base URL is requested from a web browser.
                 See snac(8) for more information about the customization options.

     public.idx  This file contains the list of public posts from all users in the server.

     Each user directory is a subdirectory of BASEDIR/user/, has the user id as name and contains
     the following subdirectories and files:

     user.json   User configuration file.

     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'.

     key.json    Secret/public key PEM data.

     followers.idx
                 This file contains the list of followers as a list of hashed object identifiers.

     followers/  This directory stores hard links to the actor objects in the object storage.

     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.

     private.idx
                 This file contains the list of timeline entries as a list of hashed object
                 identifiers.

     private/    This directory stores hard links to the timeline entries in the object storage.

     public.idx  This file contains the list of public timeline entries as a list of hashed
                 object identifiers.

     public/     This directory stores hard links to the public timeline entries in the object
                 storage.

     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.

     hidden/     This directory contains references to the hidden timeline entries.

     limited/    This directory contains references to the actor URLs for limited users (those
                 being followed but with their boosts blocked).

     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.

     static/     Files in this directory are served as-is when requested from the
                 https://HOST/USER/s/... URL path. A special file named style.css can contain
                 user-specific CSS code to be inserted into the HTML of the web interface.

     history/    This directory contains generated HTML files. They may be snapshots of the local
                 timeline in previous months or other cached data.

SEE ALSO

     snac(1), snac(8)

AUTHORS

     grunfink @grunfink@comam.es: https://comam.es/snac/grunfink

LICENSE

     See the LICENSE file for details.