2021-10-27 12:34:38 +02:00
|
|
|
# miniflux-filter
|
|
|
|
|
|
|
|
<!-- TOC titleSize:3 tabSpaces:2 depthFrom:2 depthTo:6 withLinks:1 updateOnSave:1 orderedList:0 skip:0 title:1 charForUnorderedList:* -->
|
|
|
|
### Table of Contents
|
|
|
|
* [Introduction](#introduction)
|
|
|
|
* [Getting Started](#getting-started)
|
|
|
|
* [example docker-compose](#example-docker-compose)
|
|
|
|
* [example filter-file](#example-filter-file)
|
|
|
|
* [Misc](#misc)
|
2021-11-01 16:45:31 +01:00
|
|
|
* [Debug](#debug)
|
|
|
|
* [Exit-Codes](#exit-codes)
|
|
|
|
* [Build Container](#build-container)
|
2021-10-27 12:34:38 +02:00
|
|
|
* [ToDo](#todo)
|
|
|
|
* [License](#license)
|
|
|
|
<!-- /TOC -->
|
|
|
|
|
|
|
|
### Introduction
|
2021-10-28 19:16:03 +02:00
|
|
|
``miniflux-filter`` is a small bash-script for [miniflux](https://miniflux.app) that marks certain articles as read, if the search conditions met.
|
2021-10-27 12:34:38 +02:00
|
|
|
|
|
|
|
### Getting Started
|
2021-10-28 19:16:03 +02:00
|
|
|
1. create an [api-key](https://miniflux.app/docs/api.html#authentication) in miniflux
|
2021-10-27 12:34:38 +02:00
|
|
|
2. create a [compose-file](./docker-compose.yml)
|
|
|
|
3. create a [filter-file](./filter.txt)
|
|
|
|
4. ````docker-compose up````
|
|
|
|
|
|
|
|
#### example docker-compose
|
|
|
|
```
|
|
|
|
version: '3.2'
|
|
|
|
services:
|
|
|
|
mf-filter:
|
|
|
|
container_name: mf-filter
|
|
|
|
restart: always
|
|
|
|
environment:
|
|
|
|
- TZ=Europe/Berlin
|
2021-11-01 16:45:31 +01:00
|
|
|
- MF_AUTH_TOKEN=XN2klsvvD[...]-dcHPaeQ=
|
|
|
|
- MF_API_URL=https://miniflux.[...].net/v1
|
|
|
|
- MF_SLEEP=60
|
|
|
|
#- MF_DEBUG=1
|
2021-10-27 12:34:38 +02:00
|
|
|
image: quotengrote/miniflux-filter:latest
|
|
|
|
volumes:
|
|
|
|
- ./filter.txt:/data/filter.txt
|
|
|
|
|
|
|
|
```
|
|
|
|
#### example filter-file
|
|
|
|
```
|
|
|
|
<part_of_url>:<search string, anything goes, but not :>
|
|
|
|
sueddeutsche.de:FC Bayern
|
|
|
|
heise.de:software-architektur.tv
|
|
|
|
heise.de:heise-angebot
|
|
|
|
tagesschau.de:FC Barcelona
|
|
|
|
heise.de:TechStage |
|
|
|
|
[...]
|
|
|
|
```
|
|
|
|
|
|
|
|
## Misc
|
|
|
|
- [tborychowski/miniflux-filter](https://github.com/tborychowski/miniflux-filter)
|
|
|
|
- [jqplay.org](https://jqplay.org)
|
|
|
|
|
2021-11-01 16:45:31 +01:00
|
|
|
### Debug
|
|
|
|
If `MF_DEBUG` is set to `1` `miniflux-filter` will print extra output to stdout.
|
|
|
|
- the current Variable
|
|
|
|
- URL + Values for filtering
|
|
|
|
- almost all function calls
|
|
|
|
|
|
|
|
#### Exit-Codes
|
|
|
|
| RC | Description |
|
|
|
|
| -- | -- |
|
|
|
|
| 1 | Filter-File not found |
|
|
|
|
| 2 | MF_AUTH_TOKEN not set |
|
|
|
|
| 3 | MF_API_URL not set |
|
|
|
|
| 4 | Filter-Datei is a dir |
|
|
|
|
| 5 | jq is not installed |
|
|
|
|
| 6 | curl is not installed |
|
|
|
|
| 7 | could not connect to miniflux |
|
|
|
|
| 8 | xargs is not installed |
|
|
|
|
| 9 | sed is not installed |
|
|
|
|
| 10 | sort is not installed |
|
|
|
|
|
|
|
|
|
|
|
|
## Build Container
|
|
|
|
git clone https://git.mgrote.net/mg/miniflux-filter
|
|
|
|
cd miniflux-filter
|
|
|
|
export MF_DOCKER_HUB_PASS=<your_docker_hub_pass>
|
|
|
|
export MF_DOCKER_HUB_USER=<your_docker_hub_user>
|
|
|
|
./build.sh
|
|
|
|
|
2021-10-27 12:34:38 +02:00
|
|
|
|
|
|
|
## ToDo
|
|
|
|
- [ ] search in content, not only title
|
|
|
|
|
|
|
|
## License
|
|
|
|
This project is licensed under the GNU General Public License v3.0 - see the [LICENSE](./LICENSE) file for details.
|
2021-11-01 16:45:31 +01:00
|
|
|
|
|
|
|
|
|
|
|
IF DEBUG IS SET TAHN XXXXXXX
|