32 lines
1.0 KiB
Markdown
32 lines
1.0 KiB
Markdown
## Blacklist import script
|
||
|
||
### ejabberd config
|
||
To use this script properly, a separate `yml` file is necessary, as the script will overwrite the file. To further
|
||
protect the config the `allow_only` sections defines only `acl` rules.
|
||
```yaml
|
||
"/etc/ejabberd/blacklist.yml":
|
||
allow_only:
|
||
- acl
|
||
```
|
||
|
||
### script configuration
|
||
|
||
The script is meant to be used in an automatic fashion.
|
||
Arguments:
|
||
|
||
- -dr , --dry-run : perform a dry run. `blacklist.txt` and `.etag` are written but no yaml file is overwritten.
|
||
- -o , --outfile filepath : set path to output file
|
||
|
||
The dry-run argument will output the file path, if set, in addition to the contents of the yaml file which would have be produced.
|
||
|
||
### script workflow
|
||
1. check if `.etag` file is present
|
||
2. HEAD request
|
||
2.1 requests etag and `.etag` are equal
|
||
2.1.1 use local `blacklist.txt` file
|
||
2.2 requests etag and `.etag` are _not_ equal
|
||
2.2.1 request new `blacklist.txt`
|
||
2.2.2 save new `.etag` and `blacklist.txt` file
|
||
3. process `blacklist.txt` and parse output file
|
||
|