Browse Source

docs: update README

Frédéric Guillot 1 year ago
parent
commit
1936ced1ed
1 changed files with 101 additions and 11 deletions
  1. 101 11
      README.md

+ 101 - 11
README.md

@@ -1,20 +1,110 @@
 Miniflux 2
 ==========
 
-Miniflux is a minimalist and opinionated feed reader:
-
-- Written in Go (Golang)
-- Works only with Postgresql
-- Doesn't use any ORM
-- Doesn't use any complicated framework
-- Use only modern vanilla Javascript (ES6 and Fetch API)
-- Single binary compiled statically without dependency
-- The number of features is voluntarily limited
-
+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](https://en.wikipedia.org/wiki/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
+
+- 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](https://invidio.us).
+- Blocks external JavaScript to prevent tracking and enhance security.
+
+### 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 <abbr title="Cascading Style Sheets">CSS</abbr> 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
+
+- 25+ integrations with third-party services: [Apprise](https://github.com/caronc/apprise), [Betula](https://sr.ht/~bouncepaw/betula/), [Cubox](https://cubox.cc/), [Discord](https://discord.com/), [Espial](https://github.com/jonschoning/espial), [Instapaper](https://www.instapaper.com/), [LinkAce](https://www.linkace.org/), [Linkding](https://github.com/sissbruecker/linkding), [LinkWarden](https://linkwarden.app/), [Matrix](https://matrix.org), [Notion](https://www.notion.com/), [Ntfy](https://ntfy.sh/), [Nunux Keeper](https://keeper.nunux.org/), [Pinboard](https://pinboard.in/), [Pocket](https://getpocket.com/), [Pushover](https://pushover.net), [RainDrop](https://raindrop.io/), [Readeck](https://readeck.org/en/), [Readwise Reader](https://readwise.io/read), [RssBridge](https://rss-bridge.org/), [Shaarli](https://github.com/shaarli/Shaarli), [Shiori](https://github.com/go-shiori/shiori), [Slack](https://slack.com/), [Telegram](https://telegram.org), [Wallabag](https://www.wallabag.org/), etc.
+- Bookmarklet for subscribing to websites directly from any web browser.
+- Webhooks for real-time notifications or custom integrations.
+- Compatibility with existing mobile applications using the Fever or Google Reader API.
+- REST API with client libraries available in [Go](https://github.com/miniflux/v2/tree/main/client) and [Python](https://github.com/miniflux/python-client).
+
+### Authentication
+
+- Local username and password.
+- Passkeys ([WebAuthn](https://en.wikipedia.org/wiki/WebAuthn)).
+- Google (OAuth2).
+- Generic OpenID Connect.
+- Reverse-Proxy authentication.
+
+### Technical Stuff
+
+- Written in [Go (Golang)](https://golang.org/).
+- Single binary compiled statically without dependency.
+- Works only with [PostgreSQL](https://www.postgresql.org/).
+- 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 <abbr title="Secure Sockets Layer">SSL</abbr> certificates.
+- Supports [HTTP/2](https://en.wikipedia.org/wiki/HTTP/2) when TLS is enabled.
+- Updates feeds in the background using an internal scheduler or a traditional cron job.
+- Sanitizes external content before rendering it.
+- Enforces a [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) that permits only application JavaScript and blocks inline scripts and styles.
+- Uses native lazy loading for images and iframes.
+- Compatible only with modern browsers.
+- Adheres to the [Twelve-Factor App](https://12factor.net/) 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.
+
 Documentation
 -------------
 
@@ -29,7 +119,7 @@ The Miniflux documentation is available here: <https://miniflux.app/docs/> ([Man
 - [Command Line Usage](https://miniflux.app/docs/cli.html)
 - [User Interface Usage](https://miniflux.app/docs/ui.html)
 - [Keyboard Shortcuts](https://miniflux.app/docs/keyboard_shortcuts.html)
-- [Integration with External Services](https://miniflux.app/docs/services.html)
+- [Integration with External Services](https://miniflux.app/docs/#integrations)
 - [Rewrite and Scraper Rules](https://miniflux.app/docs/rules.html)
 - [API Reference](https://miniflux.app/docs/api.html)
 - [Development](https://miniflux.app/docs/development.html)