docs/hfcs.1 (view raw)
1.\"
2.\" Copyright (c) 2019 Ted Unangst
3.\"
4.\" Permission to use, copy, modify, and distribute this software for any
5.\" purpose with or without fee is hereby granted, provided that the above
6.\" copyright notice and this permission notice appear in all copies.
7.\"
8.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15.\"
16.Dd $Mdocdate$
17.Dt HFCS 1
18.Os
19.Sh NAME
20.Nm hfcs
21.Nd honk filtering and censorship system
22.Sh DESCRIPTION
23The honk filtering and censorship system,
24.Nm hfcs ,
25controls what messages are seen and how they are presented to the user.
26Filter rules are based on a series of matches and actions.
27It is accessed via the
28.Pa filters
29menu item.
30.Pp
31Each filter has an optional
32.Ar name
33and
34.Ar notes
35for user defined purposes.
36.Pp
37The following match types are possible.
38All nonempty criteria must match.
39.Bl -tag -width include-audience
40.It Ar who
41Match an actor or domain name.
42Matches against
43.Fa Ar actor
44property.
45.It Ar include audience
46Previous match is applied against
47.Fa to
48and
49.Fa cc
50fields as well.
51.It Ar text
52Regular expression match against the post
53.Fa content .
54.It Ar is announce
55Is announced (shared).
56.It Ar announce of
57Limit prevous match to only specified actor or domain name.
58.El
59.Pp
60The following actions may be applied.
61Multiple actions may be applied, but some are subsumed by others.
62.Bl -tag -width tenletters
63.It Ar reject
64Reject this message entirely.
65.It Ar skip media
66Don't include images or attachments.
67.It Ar hide
68Remove this message from most feeds.
69.It Ar collapse
70Show only a short summary with click to view content.
71.It Ar rewrite
72Rewrite message content, using
73.Ar replace
74replacement text.
75.El
76.Pp
77The
78.Ar text
79and
80.Ar rewrite
81fields are case insensitive word anchored regular expressions.
82Specifically, an argument
83.Ql re
84will be automatically rewritten as
85.Ql \\\b(?i:re)\\\b .
86The
87.Ar replace
88text may refer to submatches using $1, etc.
89.Pp
90A post marked sensitive that does not otherwise contain a summary will
91have an invisible summary of
92.Dq unspecified horror
93that can be matched against and will appear if the post is collapsed.
94.Pp
95An optional expiration may be specified as a duration.
96XdYhZm for X days, Y hours, and Z minutes.
97.Sh SEE ALSO
98.Xr honk 1
99.Sh CAVEATS
100Not seeing is not erasing.