summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/snac.18
-rw-r--r--doc/snac.510
-rw-r--r--doc/snac.857
3 files changed, 68 insertions, 7 deletions
diff --git a/doc/snac.1 b/doc/snac.1
index c3a84a9..178e594 100644
--- a/doc/snac.1
+++ b/doc/snac.1
@@ -221,12 +221,16 @@ Sends a Follow message for the specified actor URL.
.It Cm request Ar basedir Ar uid Ar url
Requests an object and dumps it to stdout. This is a very low
level command that is not very useful to you.
-.It Cm note Ar basedir Ar uid Ar text
+.It Cm announce Ar basedir Ar uid Ar url
+Announces (boosts) a post via its URL.
+.It Cm note Ar basedir Ar uid Ar text Op file file ...
Enqueues a Create + Note message to all followers. If the
.Ar text
-argument is -e, the external editor defined by the EDITOR
+argument is -e, the external editor defined by the EDITOR
environment variable will be invoked to prepare a message; if
it's - (a lonely hyphen), the post content will be read from stdin.
+The rest of command line arguments are treated as media files to be
+attached to the post.
.It Cm block Ar basedir Ar instance_url
Blocks a full instance, given its URL or domain name. All subsequent
incoming activities with identifiers from that instance will be immediately
diff --git a/doc/snac.5 b/doc/snac.5
index f10a77b..c460c7b 100644
--- a/doc/snac.5
+++ b/doc/snac.5
@@ -46,6 +46,9 @@ 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
+(Note: from version 2.51, these symbols are configurable by the
+instance administrator, so the available ones may differ).
+.Pp
The following traditional ASCII emoticons or special strings are
converted to related emojis:
.Bd -literal
@@ -106,6 +109,13 @@ This file is served when the server base URL is requested from a web browser. Se
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.
+.It Pa filter_reject.txt
+This (optional) file contains a list of regular expressions, one per line, to be
+applied to the content of all incoming posts; if any of them match, the post is
+rejected. This brings the flexibility and destruction power of regular expressions
+to your Fediverse experience. To be used wisely (see
+.Xr snac 8
+for more information).
.El
.Pp
Each user directory is a subdirectory of
diff --git a/doc/snac.8 b/doc/snac.8
index 85106d3..4929a52 100644
--- a/doc/snac.8
+++ b/doc/snac.8
@@ -230,9 +230,56 @@ for details. Further, every user can have a private CSS file in their
that will be served instead of the server-wide one.
It's not modifiable from the web interface to avoid users
shooting themselves in the foot by destroying everything.
-.Ss Old Data Purging
-From version 2.06, there is no longer a need to add a special
-cron job for purging old data, as this is managed internally.
+.Ss Custom Emojis
+From version 2.51, support for customized Emojis in posts is available
+(previously, they were hardcoded). Emojis are read from the
+.Pa emojis.json
+file in the instance base directory, as a JSON object of key / value
+pairs (if this file does not exist, it will be created with
+the predefined set). Each key in the object contains the text to be found (e.g.,
+the :-) for a smiling face), and its associated value, the text string that
+will replace it (in this example case, the HTML entity for the Unicode codepoint
+for the smiley or the Emoji itself as text).
+.Pp
+Emoji values can also be URLs to image files; in this case, they will not be
+substituted in the post content, but added to the 'tag' array as an ActivityPub
+standard 'Emoji' object (it's recommendable that the Emoji key be enclosed in
+colons for maximum compatilibity with other ActivityPub implementations, like
+e.g. :happydoggo:). These images can be served from an external source or from the
+.Pa static
+directory of the instance admin.
+.Pp
+If you want to disable any Emoji substitution, change the file to contain
+just an empty JSON object ({}).
+.Ss SPAM Mitigation
+There have been some SPAM attacks on the Fediverse and, as too many
+instances and server implementations out there still allow automatic
+account creation, it will only get worse.
+.Nm
+includes some (not very strong) tools for trying to survive the SPAM
+flood that will eventually happen.
+.Pp
+The
+.Ic min_account_age
+field in the main configuration file allows setting a minimum age (in
+seconds) to consider too recently created accounts suspicious of being
+a potential source of SPAM. This is a naïve assumption, because spammers
+can create accounts, let them dormant for a while and then start to use
+them. Also, some ActivityPub implementations don't even bother to return
+a creation date for their accounts, so this is not very useful.
+.Pp
+From version 2.50, post content can be filtered out by regular expressions.
+These weapons of mass destruction can be written into the
+.Ic filter_reject.txt
+file in the server base directory, one per line; if this file exists,
+all posts' content will be matched (after being stripped of HTML tags)
+against these regexes, one by one, and any match will make the post to
+be rejected. If you don't know about regular expressions, don't use this
+option (or learn about them in some tutorial, there are gazillions of
+them out there), as you and your users may start missing posts. Also,
+given that every regular expression implementation supports a different
+set of features, consider reading the documentation about the one
+implemented in your system.
.Ss ActivityPub Support
These are the following activities and objects that
.Nm
@@ -421,7 +468,7 @@ This is an example of a similar configuration for the Apache2 web server:
ProxyPreserveHost On
# Main web access point
-<Location /social>
+<Location /fedi>
ProxyPass http://127.0.0.1:8001/social
</Location>
@@ -481,7 +528,7 @@ an example:
# other server configuration
[...]
-location "/fedi*" {
+location "/fedi/*" {
fastcgi socket tcp "127.0.0.1" 8001
}