Files
FreshRSS/docs/en/users/07_Frequently_Asked_Questions.md
polybjorn b08c4ef243 docs: standardise English heading style and surface hidden pages (#8766)
Apply sentence case to all H1s in docs/en/ and remove redundant "FreshRSS"
from titles where the docs site context already implies it. Align the three
section index titles to "Administrator/Developer/User manual", matching
the existing root H1 "FreshRSS manual (English)".

Add missing H1s to two pages that were silently dropped from the sidebar:
the user FAQ and the Caddy reverse proxy page. The sidebar template uses
page.title (derived from H1 by jekyll-titles-from-headings), so pages
without an H1 had title=nil and were skipped.

Update sidebar parent labels in docs_nav.html and the chapter list in
en/index.md to use the new "* manual" naming. Update link text in section
indexes that referenced the old H1s. Bundle two grammar fixes encountered
along the way: "an User Interface" -> "a user interface", and drop the
awkward "the" in "Configuring the email address validation".

EN only. No filenames, URLs, or anchor targets changed (anchors come from
H2 and below, which are untouched). FR is generated from EN via po4a and
will be regenerated separately.

Co-authored-by: Bjørn A. Andersen <polybjorn@users.noreply.github.com>
2026-05-02 22:23:35 +02:00

6.5 KiB
Raw Blame History

Frequently asked questions

We may not have answered all of your questions in the previous sections. The FAQ contains some questions that have not been answered elsewhere.

What is /i at the end of the application URL?

Of course, /i has a purpose! Its used for performance and usability:

  • It allows for serving icons, images, styles and scripts without cookies. Without that trick, those files would be downloaded more often, especially when form authentication is used. Also, HTTP requests would be heavier.
  • The ./p/ public root can be served without any HTTP access restrictions. Whereas it could be implemented in ./p/i/.
  • It avoids problems while serving public resources like favicon.ico, robots.txt, etc.
  • It allows the logo to be displayed instead of a white page while hitting a restriction or a delay during the loading process.

Why is robots.txt located in a sub-folder?

To increase security, FreshRSS is hosted in two sections. The first section is public (the ./p folder) and the second section is private (everything else). Therefore the robots.txt file is located in the ./p sub-folder.

As explained in the security section, its highly recommended to make only the public section available at the domain level. With that configuration, ./p is the root folder for https://demo.freshrss.org/, thus making robots.txt available at the root of the application.

The same principle applies to favicon.ico and .htaccess.

Why do I have errors while registering a feed?

There can be different origins for that problem. The feed syntax can be invalid, it can be unrecognized by the SimplePie library, the hosting server can be the root of the problem, or FreshRSS can be buggy. The first step is to identify what causes the problem. Here are the steps to follow:

  1. Verify if the feed syntax is valid with the W3C on-line tool. If its not valid, theres nothing we can do.
  2. Verify SimplePie validation with the SimplePie on-line tool. If its not recognized, theres nothing we can do.
  3. Verify FreshRSS integration with the demo. If its not working, you need to create an issue on GitHub so we can have a look at it. If its working, theres probably something fishy with the hosting server.

How can you change a forgotten password?

Since the 1.10.0 release, admins can change user passwords directly from the interface. This interface is available under Administration → Manage users. Select a user, enter a password, and validate.

Since the 1.8.0 release, admins can change user passwords using a terminal. It worth mentioning that you must have access to PHP CLI. Open a terminal, and type the following command:

./cli/update_user.php --user <username> --password <password>

For more information on that matter, please refer to the dedicated documentation.

Permissions under SELinux

Some Linux distribution, like Fedora or RedHat Enterprise Linux, have SELinux enabled. This acts similar to a firewall application, so that applications cant write or modify files under certain conditions. While installing FreshRSS, step 2 can fail if the httpd process cant write to some data sub-directories. The following command should be executed as root to fix this problem:

semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/FreshRSS/data(/.*)?'
restorecon -Rv /usr/share/FreshRSS/data

Why do I have a blank page while trying to configure the sharing options?

The sharing word in the URL is a trigger word for some ad-blocker rules. Starting with version 1.16, sharing has been replaced by integration in the faulty URL while keeping the exact same wording throughout the application.

If you are using a version prior to 1.16, you can disable your ad-blocker for FreshRSS or you can add a rule to allow the sharing page to be accessed.

Examples with uBlock:

  • Whitelist your FreshRSS instance by adding it in uBlock > Open the dashboard > Whitelist.
  • Authorize your FreshRSS instance to call sharing configuration page by adding the rule *sharing,domain=~yourdomain.com in uBlock > Open the dashboard > My filters

Problems with firewalls

If you have the error "Blast! This feed has encountered a problem. Please verify that it is always reachable then update it.", it might be because of a firewall misconfiguration.

To identify the problem, here are the steps to follow:

  • step 1: Try to reach the feed locally to discard a problem with the feed itself. You can use your browser to this purpose.
  • step 2: Try to reach the feed from the host in which FreshRSS is installed. Something like time curl -v 'https://github.com/FreshRSS/FreshRSS/commits/edge.atom' should make the deal. If you are running FreshRSS within a Docker container, then you can check connectivity from within the container itself with something similar to sudo docker exec freshrss php -r "readfile('https://github.com/FreshRSS/FreshRSS/commits/edge.atom');". If none of this works, then it might be a problem with your firewall.

Then to fix it, you need to do check your firewall configuration and ensure that you are not blocking connections to IPs and/or ports in which your feeds are located. If using iptables and you are blocking inbound connections to ports 80/443, check that the rules are properly configured and you are not also blocking outbound connections to the very same ports.

For example, when using the firewall provided by Synology, you can block traffic for certain applications (i.e., ports). One could think that these rules would be applied only to incoming connections but specifying * for the originating host of the requests will also include your local networks. To deal with this issue, you will have to add exceptions for your local networks to be able to access those ports with a higher priority than the one blocking incoming connections. This could be similar for other frontends to iptables. Please check the following discussion about a similar issue.