brewserverblocklist/README.md

81 lines
2.7 KiB
Markdown
Raw Normal View History

# Brew Server Blocklist
2023-01-07 09:04:34 +01:00
Friendica publishes the server wide blocklists for other servers in the
fediverse. This script will collect the blocklists of servers of your
choice and create a merged blocklist from them that you can then import
into your own Friendica server.
To make certain that you don't block just any instance in the fediverse
because $somebody has it on their blocklist you assign _trustlevels_ to
the correctnes of the blocklists of the other servers. Only when a server
is blocked with a total trustlevel that is above a confidence level, it
will be added to resulting blocklist automatically. Otherwise the user
will be ask if they want to add a node to their blocklist or not.
The entries of your own servers blocklist will always gain enough trust
so that they are added on the final blocklist again.
## Config file
To use the script you have to create a config file. The structure of the
file is the following
```
[soc1.example.com]
trust = 40
[soc2.example.com]
trust = 50
[soc3.example.com]
trust = 50
[soc4.example.com]
trust = 90
```
it assignes _trust_ values to nodes in the network. The node domain names
are given in the `[]`. These are the nodes that the script will collect
the server blocklists from.
Trust levels can be negative. Once their summed value does reach a value of
100 the blocklist entry is trusted automatically without user interaction.
## Author
* Tobias Diekershoff <tobias(dot)diekershoff(att)gmx(dot)net>
## LICENSE
berewserverblocklist Copyright (C) 2023 Tobias Diekershoff
2023-01-07 10:32:31 +01:00
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or (at
your option) any later version.
2023-01-07 10:32:31 +01:00
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
2023-01-07 10:32:31 +01:00
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
### REUSE compliance
This project uses [REUSE](https://reuse.software/) to ensure that all components
are release under a FLOSS compatible license. If you contribute to the project,
please ensure that your contribution is REUSE compliant.
2023-01-07 10:32:31 +01:00
This can be done by adding the following to your `.git/hooks/pre-commit` hook.
``` shell
#!/usr/bin/env bash
reuse lint
```
2023-01-07 10:32:31 +01:00
## Credits
`brewserverblocklist` was created with [`cookiecutter`](https://cookiecutter.readthedocs.io/en/latest/) and the `py-pkgs-cookiecutter` [template](https://github.com/py-pkgs/py-pkgs-cookiecutter).