All Projects → dewey → miniflux-sidekick

dewey / miniflux-sidekick

Licence: MIT license
A sidekick for Miniflux, filter out items by regex or tags. Compatible with killfiles. 🔪

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects
Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to miniflux-sidekick

arsse
The clean & modern RSS server that doesn't give you any crap. Mirror of main repository at https://code.mensbeam.com/MensBeam/arsse. Please direct your issues there.
Stars: ✭ 15 (-55.88%)
Mutual labels:  rss, miniflux
Feedly Filtering And Sorting
Enhance the feedly website with advanced filtering and sorting capabilities
Stars: ✭ 73 (+114.71%)
Mutual labels:  rss, filtering
osmosfeed
Turn GitHub into an RSS reader
Stars: ✭ 839 (+2367.65%)
Mutual labels:  rss, miniflux
Gridify
Easy and optimized way to apply Filtering, Sorting, and Pagination using text-based data.
Stars: ✭ 372 (+994.12%)
Mutual labels:  filtering
feeds
免费的公众号 RSS,支持扩展任意 APP
Stars: ✭ 912 (+2582.35%)
Mutual labels:  rss
Feed-on-Feeds
FeedOnFeeds is a lightweight server-based RSS feed aggregator and reader
Stars: ✭ 52 (+52.94%)
Mutual labels:  rss
adaway-linux
a small script to add domains hosting ads to the hosts file to block them. **DEPRECATED** Use Adsorber instead.
Stars: ✭ 41 (+20.59%)
Mutual labels:  ad-blocker
php rss telegram bot
A simple "RSS to Telegram" bot written in PHP.
Stars: ✭ 18 (-47.06%)
Mutual labels:  rss
inkrss
Notify when rss feeds are updated | RSS 更新通知
Stars: ✭ 234 (+588.24%)
Mutual labels:  rss
ob
A Blog & RSS system written in Rust based on Luke Smith's LB.
Stars: ✭ 19 (-44.12%)
Mutual labels:  rss
progrssive
A PWA for reading RSS feeds. It works offline!
Stars: ✭ 23 (-32.35%)
Mutual labels:  rss
watch-rss
Subscribe your watched GitHub Repository's releases as RSS feeds on Inoreader
Stars: ✭ 24 (-29.41%)
Mutual labels:  rss
gosquito
gosquito ("go" + "mosquito") is a pluggable tool for data gathering, data processing and data transmitting to various destinations.
Stars: ✭ 25 (-26.47%)
Mutual labels:  rss
free-security-resources
安全总是无处不在...
Stars: ✭ 69 (+102.94%)
Mutual labels:  rss
notification-thing
Python-based implementation of Desktop Notifications Specification (notification-daemon)
Stars: ✭ 24 (-29.41%)
Mutual labels:  filtering
svelte-datagrid
Svelte data grid spreadsheet best best features and performance from excel
Stars: ✭ 48 (+41.18%)
Mutual labels:  filtering
meta-extractor
Super simple and fast html page meta data extractor with low memory footprint
Stars: ✭ 38 (+11.76%)
Mutual labels:  rss
spring-boot-jpa-rest-demo-filter-paging-sorting
Spring Boot Data JPA with Filter, Pagination and Sorting
Stars: ✭ 70 (+105.88%)
Mutual labels:  filtering
sortboard
A small ES6 library for easy sorting and filtering of elements.
Stars: ✭ 29 (-14.71%)
Mutual labels:  filtering
proxy rsshub
使用 GitHub Actions 反代 RSSHub + 多实例轮询
Stars: ✭ 41 (+20.59%)
Mutual labels:  rss

Miniflux Sidekick

This is a sidekick container that runs alongside Miniflux which is an Open Source RSS feed reader written in Go. You can check out the source code on GitHub.

The goal is to support so called Killfiles to filter out items you don't want to see. You can think of it as an ad-blocker for your feed reader. The items are not deleted, they are just marked as read so you can still find all items in your feed reader if you have to.

Features

  • Supports a subset of so called UseNet killfiles rules
  • Supports remote killfile (Share one killfile with other people, similar to ad-blocking lists)
  • Supports local killfiles on disk

Supported Rules

The general format of the killfile is:

ignore-article "<feed>" "<filterexpr>"

<feed>

This contains the URL of the feed that should be matched. It fuzzy matches the URL so if you only have one feed just use the base URL of the site. Example: https://example.com if the feed is on https://example.com/rss/atom.xml. A wildcard selector of * is also supported instead of the URL.

<filterexpr> Filter Expressions

From the available rule set and attributes (Table 5. Available Attributes) only a small subset are supported right now. These should cover most use cases already though.

Attributes

  • title
  • content

Comparison Operators

  • =~: test whether regular expression matches
  • !~: logical negation of the =~ operator
  • #: contains; this operator matches if a word is contained in a list of space-separated words (useful for matching tags, see below)
  • !#: contains not; the negation of the # operator

Example

Here's an example of what a killfile could look like with these rules.

This one marks all feed items as read that have a [Sponsor] string in the title.

ignore-article "https://www.example.com" "title =~ \[Sponsor\]"

This one filters out all feed items that have the word Lunar OR moon in there.

ignore-article "https://xkcd.com/atom.xml" "title # Lunar,Moon"

This one filters out all feed items that have the word lunar OR moon in there and is case insensitive.

ignore-article "https://xkcd.com/atom.xml" "title =~ (?i)(lunAR|MOON)"

Testing rules

There are tests in filter/ that can be used to easily test rules or add new comparison operators.

Deploy

There are the environment variables that can be set. If you want to use a local file you can set MF_KILLFILE_PATH="~/path/to/killfile". A local killfile always overwrites a remote one, even if the remote killfile URL is set (MF_KILLFILE_URL). MF_USERNAME, MF_PASSWORD and MF_API_ENDPOINT are your Miniflux credentials. If MF_REFRESH_INTERVAL isn't set it's running on every 30 minutes of every hour (0 30 * * * *).

export MF_ENVIRONMENT=development
export MF_PORT=8181
export MF_USERNAME=dewey
export MF_PASSWORD="changeme"
export MF_API_ENDPOINT=https://rss.notmyhostna.me
export MF_KILLFILE_URL=https://raw.githubusercontent.com/dewey/miniflux-sidekick/master/killfile
export MF_REFRESH_INTERVAL="0 30 * * * *"
export MF_KILLFILE_REFRESH_HOURS=2

There's also a Dockerfile and Docker Compose file included so you can easily run it via docker-compose -f docker-compose.yml up -d.

See Also

Miniflux v2.0.25 added built-in support for filtering rules.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].