81 lines
2.7 KiB
Markdown
81 lines
2.7 KiB
Markdown
# Brew Server Blocklist
|
|
|
|
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
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
This can be done by adding the following to your `.git/hooks/pre-commit` hook.
|
|
|
|
``` shell
|
|
#!/usr/bin/env bash
|
|
reuse lint
|
|
```
|
|
|
|
## 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).
|