Skip to content

Fix RSS feeds failing to load due to strict request header validation.#755

Open
Sizexian wants to merge 1 commit intoyang991178:masterfrom
Sizexian:master
Open

Fix RSS feeds failing to load due to strict request header validation.#755
Sizexian wants to merge 1 commit intoyang991178:masterfrom
Sizexian:master

Conversation

@Sizexian
Copy link

Description

This PR fixes an issue where some RSS feeds fail to load because of strict server-side header checks.
Previously, fetch requests from the renderer process were blocked by CORS or strict header validation on some sites.

Changes

  1. Moved RSS, favicon, and article fetches from the renderer to the main process.
  2. Exposed safe bridges for fetch operations using ipcMain/ipcRenderer.
  3. Added proper request headers (User-Agent, Accept, Accept-Language) to increase compatibility with stricter servers.
  4. Fixed charset handling and decoding logic via decodeFetchResponse to handle non-UTF8 feeds.
  5. Updated related fetch functions (RSS, favicon, article HTML) to return correct types (string, boolean, ArrayBuffer).

Notes

  • This does NOT bypass WAFs or paywalls like IEEE Xplore. Sites with strict bot detection may still block requests.
  • The fix ensures that feeds and favicons are fetched correctly in the majority of cases, improving stability and user experience.

Type of change

  • Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested

  • Verified that RSS feeds with strict header validation now load successfully.
  • Verified that favicons are fetched and validated correctly.
  • Verified that full article HTML is returned as ArrayBuffer and correctly decoded.
  • Manual testing on multiple sites including UTF-8 and non-UTF-8 RSS feeds.

Screenshots (if applicable)

screenshots

Linked issues / References

@CrystalSplitter
Copy link

To my knowledge, Fluent Reader hasn't been merging PRs in a while. We do however have a community fork at https://github.com/FluentFlame/fluentflame-reader, if you'd like to upload this change. It would need to be modified a bit, but we are looking for a fix similar to this if you're willing to accept changes or work on it yourself.

@Reutzezhang
Copy link

The error 418 presented in the original version has been finally resolved. The installation package attached to the link you referenced solved the problem I encountered.
1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants