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.

Debian                                             $Mdocdate$                                            SNAC(5)