1
0
Fork
You've already forked minicourant
0
A fork of miniflux, headed more towards the river of news concept.
  • Go 87.3%
  • HTML 7.6%
  • JavaScript 2.4%
  • CSS 1.6%
  • Roff 0.6%
  • Other 0.5%
Find a file
Clément Joly 6e63438852
Some checks failed
Linters / Javascript Linter (push) Successful in 26s
Linters / Golang Linters (push) Successful in 1m24s
Tests / Unit Tests (push) Successful in 1m55s
Tests / Integration Tests (push) Has been skipped
Linters / Commit Linter (push) Failing after 1h2m46s
chore: add forgejo template to overwrite miniflux extensive system
2026年02月22日 22:57:44 +00:00
.devcontainer chore: remove obsolete docker compose 'version' key 2025年12月21日 11:59:01 -08:00
.forgejo/issue_template chore: add forgejo template to overwrite miniflux extensive system 2026年02月22日 22:57:44 +00:00
.github ci: Simplify for Codeberg runners 2026年02月22日 21:55:55 +00:00
client chore: upgrade to Go 1.26 2026年02月17日 20:04:48 -08:00
contrib chore(contrib): update postgres volume path in Docker Compose sample files 2025年12月01日 16:12:27 -08:00
internal feat: disable unread count in menu bar 2026年02月22日 22:11:52 +00:00
packaging ci: update Debian packager Docker image to Trixie 2026年02月12日 19:59:43 -08:00
.gitignore chore(gitignore): ignore miniflux binary in root directory 2025年05月22日 19:31:52 -07:00
.golangci.yml chore: remove prealloc linter 2026年01月07日 20:24:43 -08:00
CONTRIBUTING.md docs: add CONTRIBUTING.md file 2025年06月22日 12:44:02 -07:00
go.mod chore: upgrade to Go 1.26 2026年02月17日 20:04:48 -08:00
go.sum build(deps): bump github.com/lib/pq from 1.11.1 to 1.11.2 2026年02月10日 18:32:53 -08:00
LICENSE
main.go Move internal packages to an internal folder 2023年08月10日 20:29:34 -07:00
Makefile chore: update make lint command 2025年10月06日 18:26:53 -07:00
miniflux.1 feat(config)!: deprecate FILTER_ENTRY_MAX_AGE_DAYS config option 2026年01月08日 20:28:01 -08:00
Procfile
README.md feat: disable unread count in menu bar 2026年02月22日 22:11:52 +00:00
SECURITY.md

Minicourant

Fork of Miniflux 2, to incorporate some of the concepts of the "river of news" from current. This is mostly an experiment. If it works well, it could be proposed to Miniflux to be merged.

Specifically, the following features are planned:

  • Disable unread count by default
  • Half life

This is not about copying current wholesale (not the interface, not the animations / haptic feedback). It’s about

Original miniflux readme follows


Miniflux is a minimalist and opinionated feed reader. It's simple, fast, lightweight and super easy to install.

Official website: https://miniflux.app

Features

Feed Reader

  • Supported feed formats: Atom 0.3/1.0, RSS 1.0/2.0, and JSON Feed 1.0/1.1.
  • OPML file import/export and URL import.
  • Supports multiple attachments (podcasts, videos, music, and images enclosures).
  • Plays videos from YouTube directly inside Miniflux.
  • Organizes articles using categories and bookmarks.
  • Share individual articles publicly.
  • Fetches website icons (favicons).
  • Saves articles to third-party services.
  • Provides full-text search (powered by Postgres).
  • Available in 20 languages: Portuguese (Brazilian), Chinese (Simplified and Traditional), Dutch, English (US), Finnish, French, German, Greek, Hindi, Indonesian, Italian, Japanese, Polish, Romanian, Russian, Taiwanese POJ, Ukrainian, Spanish, and Turkish.

Privacy and Security

  • Removes pixel trackers.
  • Strips tracking parameters from URLs (e.g., utm_source, utm_medium, utm_campaign, fbclid, etc.).
  • Retrieves original links when feeds are sourced from FeedBurner.
  • Opens external links with attributes rel="noopener noreferrer" referrerpolicy="no-referrer" for improved security.
  • Implements the HTTP header Referrer-Policy: no-referrer to prevent referrer leakage.
  • Provides a media proxy to avoid tracking and resolve mixed content warnings when using HTTPS.
  • Plays YouTube videos via the privacy-focused domain youtube-nocookie.com.
  • Supports alternative YouTube video players such as Invidious.
  • Blocks external JavaScript to prevent tracking and enhance security.
  • Sanitizes external content before rendering it.
  • Enforces a Content Security and a Trusted Types Policy to only application JavaScript and blocks inline scripts and styles.

Bot Protection Bypass Mechanisms

  • Optionally disable HTTP/2 to mitigate fingerprinting.
  • Allows configuration of a custom user agent.
  • Supports adding custom cookies for specific use cases.
  • Enables the use of proxies for enhanced privacy or bypassing restrictions.

Content Manipulation

  • Fetches the original article and extracts only the relevant content using a local Readability parser.
  • Allows custom scraper rules based on CSS selectors.
  • Supports custom rewriting rules for content manipulation.
  • Provides a regex filter to include or exclude articles based on specific patterns.
  • Optionally permits self-signed or invalid certificates (disabled by default).
  • Scrapes YouTube's website to retrieve video duration as read time or uses the YouTube API (disabled by default).

User Interface

  • Optimized stylesheet for readability.
  • Responsive design that adapts seamlessly to desktop, tablet, and mobile devices.
  • Minimalistic and distraction-free user interface.
  • No requirement to download an app from Apple App Store or Google Play Store.
  • Can be added directly to the home screen for quick access.
  • Supports a wide range of keyboard shortcuts for efficient navigation.
  • Optional touch gesture support for navigation on mobile devices.
  • Custom stylesheets and JavaScript to personalize the user interface to your preferences.
  • Themes:
    • Light (Sans-Serif)
    • Light (Serif)
    • Dark (Sans-Serif)
    • Dark (Serif)
    • System (Sans-Serif) – Automatically switches between Dark and Light themes based on system preferences.
    • System (Serif)

Integrations

Authentication

  • Local username and password.
  • Passkeys (WebAuthn).
  • Google (OAuth2).
  • Generic OpenID Connect.
  • Reverse-Proxy authentication.

Technical Stuff

  • Written in Go (Golang).
  • Single binary compiled statically without dependency.
  • Works only with PostgreSQL.
  • Does not use any ORM or any complicated frameworks.
  • Uses modern vanilla JavaScript only when necessary.
  • All static files are bundled into the application binary using the Go embed package.
  • Supports the Systemd sd_notify protocol for process monitoring.
  • Configures HTTPS automatically with Let's Encrypt.
  • Allows the use of custom SSL certificates.
  • Supports HTTP/2 when TLS is enabled.
  • Updates feeds in the background using an internal scheduler or a traditional cron job.
  • Uses native lazy loading for images and iframes.
  • Compatible only with modern browsers.
  • Adheres to the Twelve-Factor App methodology.
  • Provides official Debian/RPM packages and pre-built binaries.
  • Publishes a Docker image to Docker Hub, GitHub Registry, and Quay.io Registry, with ARM architecture support.
  • Uses a limited amount of third-party go dependencies
  • Has a comprehensive testsuite, with both unit tests and integration tests.
  • Only uses a couple of MB of memory and a negligible amount of CPU, even with several hundreds of feeds.
  • Respects/sends Last-Modified, If-Modified-Since, If-None-Match, Cache-Control, Expires and ETags headers, and has a default polling interval of 1h.

Documentation

The Miniflux documentation is available here: https://miniflux.app/docs/ (Man page)

Screenshots

Default theme:

Default theme

Dark theme when using keyboard navigation:

Dark theme

Credits