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 .
54The special value of "." will match any post with a summary only.
55.It Ar is reply
56A reply to another post.
57.It Ar is announce
58Is announced (shared).
59.It Ar announce of
60Limit prevous match to only specified actor or domain name.
61.El
62.Pp
63The following actions may be applied.
64Multiple actions may be applied, but some are subsumed by others.
65.Bl -tag -width tenletters
66.It Ar reject
67Reject this message entirely.
68.It Ar skip media
69Don't include images or attachments.
70.It Ar hide
71Remove this message from most feeds.
72.It Ar collapse
73Show only a short summary with click to view content.
74.It Ar rewrite
75Rewrite message content, using
76.Ar replace
77replacement text.
78.El
79.Pp
80The
81.Ar text
82and
83.Ar rewrite
84fields are case insensitive word anchored regular expressions.
85Specifically, an argument
86.Ql re
87will be automatically rewritten as
88.Ql \\\b(?i:re)\\\b .
89The
90.Ar replace
91text may refer to submatches using $1, etc.
92.Pp
93A post marked sensitive that does not otherwise contain a summary will
94have an invisible summary of
95.Dq unspecified horror
96that can be matched against and will appear if the post is collapsed.
97.Pp
98An optional expiration may be specified as a duration.
99XdYhZm for X days, Y hours, and Z minutes.
100.Sh SEE ALSO
101.Xr honk 1
102.Sh CAVEATS
103Not seeing is not erasing.