Giter Club home page Giter Club logo

freshrss.org's Introduction

Liberapay donations

FreshRSS

FreshRSS is a self-hosted RSS feed aggregator.

It is lightweight, easy to work with, powerful, and customizable.

It is a multi-user application with an anonymous reading mode. It supports custom tags. There is an API for (mobile) clients, and a Command-Line Interface.

Thanks to the WebSub standard, FreshRSS is able to receive instant push notifications from compatible sources, such as Friendica, WordPress, Blogger, Medium, etc.

FreshRSS natively supports basic Web scraping, based on XPath, for Web sites not providing any RSS / Atom feed. Also supports JSON documents.

FreshRSS offers the ability to reshare selections of articles by HTML, RSS, and OPML.

Different login methods are supported: Web form (including an anonymous option), HTTP Authentication (compatible with proxy delegation), OpenID Connect.

Finally, FreshRSS supports extensions for further tuning.

FreshRSS logo

Feedback and contributions

Feature requests, bug reports, and other contributions are welcome. The best way is to open an issue on GitHub. We are a friendly community.

To facilitate contributions, the following option is available:

Open in GitHub Codespaces

Screenshot

FreshRSS screenshot

Disclaimer

FreshRSS comes with absolutely no warranty.

Requirements

  • A recent browser like Firefox / IceCat, Edge, Chromium / Chrome, Opera, Safari.
    • Works on mobile (except a few features)
  • Light server running Linux or Windows
    • It even works on Raspberry Pi 1 with response time under a second (tested with 150 feeds, 22k articles)
  • A web server: Apache2.4+ (recommended), nginx, lighttpd (not tested on others)
  • PHP 7.4+
  • PostgreSQL 9.5+ or SQLite or MySQL 5.5.3+ or MariaDB 5.5+

The latest stable release can be found here. New versions are released every two to three months.

If you want a rolling release with the newest features, or want to help testing or developing the next stable version, you can use the edge branch.

Automated install

  • Docker
  • YunoHost
  • Cloudron
  • PikaPods

Manual install

  1. Get FreshRSS with git or by downloading the archive
  2. Put the application somewhere on your server (expose only the ./p/ folder to the Web)
  3. Add write access to the ./data/ folder for the webserver user
  4. Access FreshRSS with your browser and follow the installation process
  5. Everything should be working :) If you encounter any problems, feel free to contact us.
  6. Advanced configuration settings can be found in config.default.php and modified in data/config.php.
  7. When using Apache, enable AllowEncodedSlashes for better compatibility with mobile clients.

More detailed information about installation and server configuration can be found in our documentation.

Advice

  • For better security, expose only the ./p/ folder to the Web.
    • Be aware that the ./data/ folder contains all personal data, so it is a bad idea to expose it.
  • The ./constants.php file defines access to the application folder. If you want to customize your installation, look here first.
  • If you encounter any problem, logs are accessible from the interface or manually in ./data/users/*/log*.txt files.
    • The special folder ./data/users/_/ contains the part of the logs that are shared by all users.

FAQ

  • The date and time in the right-hand column is the date declared by the feed, not the time at which the article was received by FreshRSS, and it is not used for sorting.
    • In particular, when importing a new feed, all of its articles will appear at the top of the feed list regardless of their declared date.

Extensions

FreshRSS supports further customizations by adding extensions on top of its core functionality. See the repository dedicated to those extensions.

APIs & native apps

FreshRSS supports access from mobile / native apps for Linux, Android, iOS, Windows and macOS, via two distinct APIs: Google Reader API (best), and Fever API (limited features and less efficient).

App Platform Free Software Maintained & Developed API Works offline Fast sync Fetch more in individual views Fetch read articles Favourites Labels Podcasts Manage feeds
News+ with Google Reader extension Android Partially 2015 GReader ✔️ ⭐⭐⭐ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
FeedMe* Android ✔️✔️ GReader ✔️ ⭐⭐ ✔️ ✔️ ✔️
EasyRSS Android ✔️ ✔️ GReader Bug ⭐⭐ ✔️
Readrops Android ✔️ ✔️✔️ GReader ✔️ ⭐⭐⭐ ✔️
Fluent Reader Lite Android, iOS ✔️ ✔️✔️ GReader, Fever ✔️ ⭐⭐⭐
FocusReader Android ✔️✔️ GReader ✔️ ⭐⭐⭐ ✔️ ✔️
Read You Android ✔️ Work in progress GReader, Fever ⭐⭐ ✔️ ✔️ ✔️
ChristopheHenry Android ✔️ Work in progress GReader ✔️ ⭐⭐ ✔️ ✔️
Fluent Reader Windows, Linux, macOS ✔️ ✔️✔️ GReader, Fever ✔️ ✔️
RSS Guard Windows, GNU/Linux, macOS, OS/2 ✔️ ✔️✔️ GReader ✔️ ⭐⭐ ✔️ ✔️ ✔️ ✔️ ✔️
NewsFlash GNU/Linux ✔️ ✔️✔️ GReader, Fever ⭐⭐ ✔️ ✔️ ✔️
Newsboat 2.24+ GNU/Linux, macOS, FreeBSD ✔️ ✔️✔️ GReader ✔️ ✔️ ✔️
Vienna RSS macOS ✔️ ✔️✔️ GReader
Readkit iOS, macOS ✔️✔️ GReader ✔️ ⭐⭐⭐ ✔️ ✔️ 💲
Reeder* iOS, macOS ✔️✔️ GReader, Fever ✔️ ⭐⭐⭐ ✔️ ✔️ ✔️
lire iOS, macOS ✔️✔️ GReader
Unread iOS ✔️✔️ Fever ✔️ ✔️
Fiery Feeds iOS ✔️✔️ Fever
Netnewswire iOS, macOS ✔️ Work in progress GReader ✔️ ✔️ ✔️

* Install and enable the GReader Redate extension to have the correct publication date for feed articles if you are using Reeder 4 or FeedMe. (No longer required for Reeder 5)

Included libraries

Only for some options or configurations

Alternatives

If FreshRSS does not suit you for one reason or another, here are alternative solutions to consider:

freshrss.org's People

Contributors

aledeg avatar alkarex avatar andrey-utkin avatar carrieje avatar dan-q avatar deuchnord avatar draga79 avatar frenzie avatar gi-yt avatar madeindjs avatar marienfressinaud avatar mu-bibai avatar sp3r4z avatar triatic avatar vdbhb59 avatar winks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

freshrss.org's Issues

Add link to GitHub to support comments

Since there is no possibility to comment on a static site (i.e. because Pelican) and I want to avoid spam and moderation, I would like to add a link to article ticket (e.g. #16) on the blog in order to support the comments.

I think GitHub will naturally moderate comments!

Links will be added via a Comments_at metadata in article file.

News section

Hi guys,

the news section on the homepage suggests that there is nothing happening with FreshRSS, as there was no entry within two years.

Its almost sarcastic that a RSS software team has an inactive feed ;-)

What do you think about changing the RSS icon link to https://github.com/FreshRSS/FreshRSS/releases ?

Regards
Kevin

Installation failed on step 2

Hello there 😊

I'm trying to install FreshRSS on my Synology. So far :

  • All files are in a folder /volume 1/web/rss/
  • MariaDB is installed and running.
  • Database "rss" is created, along the user "frss"
  • The web server run on PHP 7.4 with Apache 2.4

I Can access the page https://mydomain/rss/ and it start https://domain/rss/p/i/.
I choose the language, then everything is green on step 1.
On step 2, I add all informations about the database and press "OK" : the page load, come back to step 2 without any error. I can't get pass the step 2.

session.save_path is writeable and I can see the file there. The database is OK and runs fine with a mediawiki installation.

I don't where I can see what's wrong.

Can you help me ? Unfortunately my NAS is DS218 wich is not compatible with the Docker package.

Thanks 🖖

[feature] screenshots history

I think it could be nice to have a gallery with screenshots from different versions. It could be a nice reminder of the history of versions.
It is really unnecessary but it could be nice :)

Image proxying ?

Hello,
First thank you for your work, it is working perfectly, even with a lot of feeds!

I would be interested in a new feature: Image proxying.

I mean, for instance on the Reading view, images are loaded from the external feed or source; which creates two "problems":

  • On HTTPS, when images are HTTP served, the FreshRSS instance is marked as "Insecure" by browsers :
    image
  • I am using CloudFlare and I want to cache images to make them loading faster on slower connections.

Thus, it would be great to add a setting to proxy images.

Thank you!

Fix HTTPS

http://url should be replaced by //url to automaticaly adapt to the protocol HTTP ou HTTPS.

demo update

The demo is still V1.19
The V1.20 looks pretty stable.

Let's give the XPath Scrapping feature more visibility :)

List of FreshRSS blog posts

It could be great to maintain a page listing all the blog posts about FreshRSS. A list has been begun on FreshRSS/FreshRSS#124 ticket.

French:

English:

German:

In addition (in French):

Add a blog (Pelican)

Actually, there is no blog! We need one!

I'm working with Pelican which is a great tool static site generator. Advantage is we will be able to store articles in a Git repository easily (Markdown format) and so having an open writing process.

I'm trying to port the actual website on Pelican so we can integrate the blog easily.

Should fix #8

Hope Can be proive Chinese Docments

I currently live in the People's Republic of China, and I would like to be able to provide Chinese documents and help guides for Chinese people.

freshrss.org is down

A problem happened after an update of my server and it cannot retrieve its correct IP address. All *.freshrss.org websites are also impacted and so the mailing lists.

I'm currently waiting for the OVH support reply since it seems to be a problem on their infrastructure, I hope it will be fixed before Thursday…

Impossible de finaliser la configuration initiale.

Bonjour,

il m'est impossible de finaliser la configuration initial, il ne prends pas le login et mot de passe et réglage de rétention des articles. Je ne peux passer cette étapes.

J'ai un reverse proxy nginx (TLS + HTTP2) avec un certificat wilcard auto-signé. "https://rss.xxxxx.com/"
en local c'est un apache2 (HTTP seulement). "http://XXX.XXX.XXX.XXX/freshrss/"

En local cela fonctionne parfaitement.

Avez-vous déjà rencontré ce cas de figure ?

[Feature] scroll to top should be in side wise.

Is your feature request related to a problem? Please describe.
Scroll to top will look more attractive when on right or left side.

Describe the solution you’d like
Move to left.

Describe alternatives you’ve considered
A clear and concise description of any alternative solutions or features you’ve considered.

Additional context
i can work on it but help me finding the frontend files.

Port to Pelican

Considering #10, I'm porting the website on Pelican. This repository will only store the content directory (pages and articles written in Markdown, RST or HTML):

  • ./blog: blog article directory
  • ./extra: favicon, robots.txt, etc.
  • ./images: images for the website
  • ./pages/index.html: the actual index page without header and footer

Documentation has to be added in order to know how to generate html from this content.

Preview mode?

Hi,
I was using my FreshRSS today and was wondering if is it possible to have a "preview mode" for the list.

The idea is to be able to read the first paragraph of the content, instead of only the title.
With so many "click bait titles" or not titles that are really bad, I end up opening each article to decide if it is interesting or not.
It would be fantastic to have this option on the "view modes".
Thanks

Stuck on step 2

Hello,

I try to install fresh rss on my linux server 64. I passed the step 1 (all check box are green) but I cannot pass the step 2. When I enter my username and my password I do not get any error message but I got nothing (it stays on step 2, won't go on step 3)

This is the log I get (see under).

I tried a lot of small stuffs (changing permission in var/lib/php5) but I get no result. By reading the log I do not know exactly how to solve the issue.

Can someone give me advices ?

Thanks

[Sat Aug 01 19:58:33.567554 2015] [:error] [pid 7152] [client 127.0.0.1:42677] PHP Warning: session_start(): open(/var/lib/php5/sess_3ks3t0a7s6k1qknq0bcbp6seb1, O_RDWR) failed: Permission denied (13) in /var/www/html/rss/app/install.php on line 10, referer: http://localhost/rss/p/i/index.php?step=2
[Sat Aug 01 19:58:33.615400 2015] [:error] [pid 7152] [client 127.0.0.1:42677] PHP Warning: Unknown: open(/var/lib/php5/sess_3ks3t0a7s6k1qknq0bcbp6seb1, O_RDWR) failed: Permission denied (13) in Unknown on line 0, referer: http://localhost/rss/p/i/index.php?step=2
[Sat Aug 01 19:58:33.615438 2015] [:error] [pid 7152] [client 127.0.0.1:42677] PHP Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php5) in Unknown on line 0, referer: http://localhost/rss/p/i/index.php?step=2
[Sat Aug 01 19:58:33.641626 2015] [:error] [pid 7152] [client 127.0.0.1:42677] PHP Warning: session_start(): open(/var/lib/php5/sess_3ks3t0a7s6k1qknq0bcbp6seb1, O_RDWR) failed: Permission denied (13) in /var/www/html/rss/app/install.php on line 10, referer: http://localhost/rss/p/i/index.php?step=2
[Sat Aug 01 19:58:33.646424 2015] [:error] [pid 7152] [client 127.0.0.1:42677] PHP Warning: touch(): Unable to create file /var/www/html/rss/data/users/_/log.txt because Permission denied in /var/www/html/rss/lib/lib_rss.php on line 220, referer: http://localhost/rss/p/i/index.php?step=2
[Sat Aug 01 19:58:33.647311 2015] [:error] [pid 7152] [client 127.0.0.1:42677] PHP Warning: Unknown: open(/var/lib/php5/sess_3ks3t0a7s6k1qknq0bcbp6seb1, O_RDWR) failed: Permission denied (13) in Unknown on line 0, referer: http://localhost/rss/p/i/index.php?step=2
[Sat Aug 01 19:58:33.647341 2015] [:error] [pid 7152] [client 127.0.0.1:42677] PHP Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php5) in Unknown on line 0, referer: http://localhost/rss/p/i/index.php?step=2
[Sat Aug 01 19:58:33.668012 2015] [:error] [pid 7152] [client 127.0.0.1:42677] PHP Warning: session_start(): open(/var/lib/php5/sess_3ks3t0a7s6k1qknq0bcbp6seb1, O_RDWR) failed: Permission denied (13) in /var/www/html/rss/app/install.php on line 10, referer: http://localhost/rss/p/i/index.php?step=2
[Sat Aug 01 19:58:33.671193 2015] [:error] [pid 7152] [client 127.0.0.1:42677] PHP Warning: Unknown: open(/var/lib/php5/sess_3ks3t0a7s6k1qknq0bcbp6seb1, O_RDWR) failed: Permission denied (13) in Unknown on line 0, referer: http://localhost/rss/p/i/index.php?step=2
[Sat Aug 01 19:58:33.671222 2015] [:error] [pid 7152] [client 127.0.0.1:42677] PHP Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php5) in Unknown on line 0, referer: http://localhost/rss/p/i/index.php?step=2

Modernization & overhaul

Hello everyone!

Currently the website looks quite old, and the download/demo URLs are not where most sites place it (which, at least for me, breaks my muscle and UX memory when glancing over websites).

I want to propose a modernization of the website, and I have already began making some designs. They look a bit weird and definitely will need some adjustments when the website is being made, as I have always struggled with designing in tools (found it much better to just wing it on the spot 😛), but should get the general idea across. Currently the designs are basically identical, with background variations, but if the core maintainers have objections, I can modify them.

Design

Design is the largest part of my modernization plans. As mentioned before, these are rough, but should get the point across. I have also taken the liberty of modifying the logo a bit for the designs, hope no one gets mad.

Variations

1 - Fancy gradient (ROUGH)

Fancy gradient

In this version, the background is an image. Bad for performance, great for looks.

Areas of improvment:

  • Make more vivid
  • Make text colours match better
  • Replace the card thing with an image, or make the height larger (still prototyping, is an experiment)

2 - Linear gradient (ROUGH)

Gradient background

My idea is to have the gradient stretch the entire page, which can make the website look sleek. Might be a bit of a design problem for the sections, but that is a future me problem.

Areas of improvment:

  • Make more vivid
  • Replace the card thing with an image, or make the height larger (still prototyping, is an experiment)

3 - One colour (ROUGH)

One colour background

In this version the background is just one solid colour. I would like a warm colour more, but I am trying to go with the FreshRSS blue theme.

Areas of improvment:

  • Replace the card thing with an image, or make the height larger (still prototyping, is an experiment)

Design guidelines

I tried making everything be shades of blue, and complimentary colours (correct term? not an artist). Text should also be a darker tone of blue (original colour sampled from the circle in the logo), as pure black looks bad.

Also, even without the website overhaul, I would suggest making the text in the colour be two-tone, with "Fresh" lighter and "RSS" darker. That should provide a nice seperation effect.

Tehnical side

While this isnt nearly as important as the design (in my opinion), I would suggest moving to a JS framework, preferrably Astro. JS frameworks are powerful when paired with data, and something like FreshRSS could benefit with such a website. For example, the website could list a list of versions, or it could finally close #9, or maybe just make life easier when working with .md files. If Astro gets chosen, it would be great for performance (compared to the other JS frameworks), and will ensure great DX when working with .md files.

However, that is one more tool for the core maintainers to learn when maintaining the website. Though, in my opinion, Astro is easy to learn even for people who haven't dabbled in JS frameworks at all. JSX is pretty much the hardest thing to learn, the rest is super simple.

Choosing a JS framework would also make hosting much simpler, and cheaper. Astro, Next.js, Remix.js, etc, can be deployed on VERY generous hosting platforms like Vercel, Cloudflare Pages and basically any JAMstack website hoster.


On a final note, I would like to code the website, as I want to fully flesh out my design idea and, if allowed, can easily implement JS frameworks as I have lots of experience with them. If I do that, though, could I have a little mention in the footer that I made it? (The larger the portfolio, the better 😄)

SSL issue

Hi,

Looks like some search engines (DuckDuckGo, Bing, etc.) show https://www.freshrss.org as the default result for FreshRSS, but your SSL certificate is only valid for freshrss.org.

I suggest that you add www.freshrss.org to the SAN field of the certificate.

Address Freshican issues on this bugtracker

To avoid questions such as "I don't know if my issue is related to content (FreshRSS/freshrss.org) or design (FreshRSS/Freshican)", I have closed Freshican bug tracker. It must be indicated in its README file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.