Releases: RSS-Bridge/rss-bridge
RSS-Bridge 2025-01-02
EDIT: I forgot to update version number in this release, see #4382
What's Changed
No breaking changes. Mostly fixes to existing bridges, and some new bridges.
But, beware that all bridges are now enabled by default! (instead of the selected handful).
If you dont want all bridges enabled do like this in config.ini.php
:
[system]
; Only these 3 bridges are enabled
enabled_bridges[] = CssSelectorBridge
enabled_bridges[] = FeedMerge
enabled_bridges[] = FeedReducerBridge
;enabled_bridges[] = *
Noteworthy changes
When debug mode is enabled, php errors are converted to exceptions! Only in debug mode, not in prod mode.
The future
These needs to be discussed:
- Bump min php version from 7.4 to 8.0.
- Introduce a new document root with separate data folder (e.g.
/var/www/rss-bridge/public
and/var/www/rss-bridge/var/
) - rss-bridge is trivially vulnerable to XSS in the
HtmlFormat
page since we dont sanitize the html(mostly harmless since theres not much to exploit). Feed readers do sanitize html so no problem there. - rss-bridge is trivially vulnerable to SSRF (mostly harmless? hard to exfiltrate data) Also we actually want to allow to fetch resources from non-public IP addresses, so maybe introduce a config for this allowance
See also #2735
New Contributors
Thanks all!
- @zamentur made their first contribution in #3947
- @gi-yt made their first contribution in #4076
- @facutuesca made their first contribution in #4092
- @Albatrosicks made their first contribution in #4111
- @vlnst made their first contribution in #4131
- @mazzz1y made their first contribution in #4154
- @enwuenwu made their first contribution in #4156
- @NotsoanoNimus made their first contribution in #4160
- @quent1-fr made their first contribution in #4189
- @bloominstrong made their first contribution in #4247
- @osvfj made their first contribution in #4263
- @AlexanderS made their first contribution in #4260
- @tbelbek made their first contribution in #4293
- @jonastaedcke made their first contribution in #4271
- @TangentFoxy made their first contribution in #4317
- @deffy92 made their first contribution in #4318
- @swofl made their first contribution in #4330
- @thomas-333 made their first contribution in #4341
- @Okbaydere made their first contribution in #4355
- @Vynce made their first contribution in #4359
Full Changelog: 2024-02-02...2025-01-02
RSS-Bridge 2024-02-02
Zero breaking changes
Recommended to checkout revised installation instructions for Debian 12:
https://github.com/RSS-Bridge/rss-bridge#how-to-install-on-debian-12-nginx--php-fpm
Officially hosted instance: https://rss-bridge.org/bridge01/
IRC channel #rssbridge at https://libera.chat/
Thank you to all contributors who keeps the project alive.
A subset of changes which might be interesting
Rss-Bridge can now be password protected with required token in the url:
--- config.ini.php 2024-02-02 18:41:36.881743962 +0100
+++ /tmp/1 2024-02-02 18:42:00.289567705 +0100
@@ -92,7 +92,7 @@
password = ""
; Token authentication (URL)
-token = ""
+token = "hunter2"
- chore: add tools for manually administrating the configured cache by @dvikan in #3867
- fix: only escape iframe,script and link for html output by @dvikan in #3882
- [AnnasArchiveBridge] Add new bridge by @Phantop in #3888
- feat: add etag support to getContents by @dvikan in #3893
- fix: add cache clearing tools by @dvikan in #3896
- feat: token authentication by @dvikan in #3927
- [FirefoxReleaseNotesBridge] Add New Bridge by @tillcash in #3930
- Fix Docker exec by @Alkarex in #3941
New Contributors
- @m3nu made their first contribution in #3778
- @itsLameni made their first contribution in #3789
- @wpdevelopment11 made their first contribution in #3793
- @SebLaus made their first contribution in #3786
- @knrdl made their first contribution in #3800
- @RayBB made their first contribution in #3823
- @glacasa made their first contribution in #3825
- @xz47sv made their first contribution in #3835
- @bkidwell made their first contribution in #3843
- @xduugu made their first contribution in #3854
- @tillcash made their first contribution in #3862
- @crisukbot made their first contribution in #3877
- @hleskien made their first contribution in #3920
Full Changelog: 2023-09-24...2024-02-02
RSS-Bridge 2023-09-24
No breaking changes! (famous last words)
The caching systems have been rewritten.
All existing cache items will be considered expired.
Full Changelog: 2023-07-13...2023-09-24
New Contributors
- @alexvong243f made their first contribution in #3528
- @mrtnvgr made their first contribution in #3549
- @mruac made their first contribution in #3587
- @adminvulcano made their first contribution in #3601
- @walkero-gr made their first contribution in #3609
- @veloute made their first contribution in #3629
- @LarsStegman made their first contribution in #3626
- @R3dError made their first contribution in #3636
- @ImportTaste made their first contribution in #3662
- @scolby33 made their first contribution in #3673
RSS-Bridge 2023-07-13
The prior release was four days ago.
Making this release because i forgot to modify version string in code.
Full Changelog: 2023-07-11...2023-07-13
RSS-Bridge 2023-07-11
No big changes. Just keeping the project alive.
The CacheInterface
has been modified with stronger typehints. Might wanna check that out if are explicitly using a cache in a
custom bridge.
- new config
enable_debug_mode
anddebug_mode_whitelist[]
#3324 - config now can be modified with env #3428
FeedMergeBridge
now allows one or more feeds to fail while preserving the others #3476- feat: add health check action in #3484
- feat: add system config enable_maintenance_mode #3497
- feat(sqlite cache): add config options by #3499
See https://rss-bridge.org/bridge01/ if you want to test this release (it auto-deploys master each day).
We are considering (later) to moving the document root, see #3432
Also see #2735 for project goals and prios.
Full Changelog: 2023-03-22...2023-07-11
RSS-Bridge 2023-03-22
The only breaking change is that RSS-Bridge now requires php 7.4.
- fix: Let curl select the default HTTP version instead of hardcoding HTTP 1.1 (#3249)
- fix: Disallow usage of default password (#3284)
- refactor: Reformat codebase to PSR12 (#2872) [0]
- feat: The docker container now uses libcurl-impersonate to better impersonate a browser (#2941)
- feat: Config option to limit the maximum http message size (#3140)
- feat: URL filter option to FilterBridge (#3212)
- feat: Add getKey function (#3275)
- feat: Add filecache config to enable/disable real purge (#3263)
- feat: Add new feed format: Sfeed (#3306)
- feat: Add config option "path" for file cache (#3297)
The public instance https://rss-bridge.org/bridge01/ runs master
and can be used to test bridges before upgrading.
Docs: https://rss-bridge.github.io/rss-bridge/
Join #rssbridge on the Libera IRC network for IM [1].
[0] For the people who are concerned about the code reformatting they can
see #2872 for instructions on how to reproduce the diff.
RSS-Bridge 2022-06-14
General changes
- New Requirements
- UI
- Docker
- Development
- BridgeAbstract: Add loadCacheValue() and saveCacheValue()
- Documentation: Move all wiki pages into the repo and make it pretty (#2494)
- Multiple: Fix all exampleValues and required variables (#2296)
- MrssFormat:: Generate using DomDocument
- add support for more media types as enclosures, handle result of /tex… (#2324)
- core: Add pr-html-generator (#2525)
- feat: add a timeout option for http client (#2600)
- feat: extract curl ua to config value (#2568)
- refactor: add php autoloader (#2655)
New bridges
- AlfaBankByBridge (https://www.alfabank.by) (#2349)
- AssociatedPressNewsBridge (https://apnews.com/) (#1475)
- BandcampDailyBridge (https://daily.bandcamp.com) (#1485)
- BookMyShowBridge (https://in.bookmyshow.com) (#1349)
- BundestagParteispendenBridge (https://www.bundestag.de/parlament/praesidium/parteienfinanzierung/fundstellen50000) (#1613)
- CBCEditorsBlogBridge (https://www.cbc.ca/news/editorsblog) (#2487)
- CarThrottleBridge (https://www.carthrottle.com) (#2514)
- CdactionBridge (https://cdaction.pl) (#2431)
- CraigslistBridge (https://craigslist.org/) (#2479)
- CubariBridge (https://cubari.moe) (#2747)
- CyanideAndHappinessBridge (https://explosm.net/) (#2807)
- EconomistWorldInBriefBridge (https://www.economist.com/the-world-in-brief) (#2765)
- EuronewsBridge (https://www.euronews.com/) (#2786)
- ExecuteProgramBridge (https://www.executeprogram.com/blog) (#2339)
- FDroidRepoBridge (multiple) (#2712)
- FeedMergeBridge (multiple) (#1385)
- FunkBridge (https://www.funk.net/) (#1578)
- GatesNotesBridge (https://www.gatesnotes.com) (#2611)
- GettrBridge (https://gettr.com) (#2505)
- GitlabIssueBridge (https://gitlab.com/) (#2760)
- GoodreadsBridge (https://www.goodreads.com/) (#1559)
- GoogleGroupsBridge (https://groups.google.com) (#2451)
- GooglePlayStoreBridge (https://play.google.com/store/apps) (#2110)
- GroupBundNaturschutzBridge (https://www.bund-naturschutz.de/ueber-uns/organisation/kreisgruppen-ortsgruppen) (#2445)
- HashnodeBridge (https://hashnode.com) (#2231)
- KilledbyGoogleBridge (https://killedbygoogle.com) (#1373)
- LaTeX3ProjectNewslettersBridge (https://www.latex-project.org) (#1589)
- MangaDexBridge (https://mangadex.org/) (#2583)
- NpciBridge (https://npci.org.in) (#2651)
- PCGWNewsBridge (https://www.pcgamingwiki.com/wiki/PCGamingWiki:News) (#2785)
- ParksOnTheAirBridge (https://pota.app/#) (#2086)
- ParlerBridge (https://parler.com) (#2634)
- PicalaBridge (https://www.picala.fr) (#2646)
- RtsBridge (https://www.rts.ch/) (#2442)
- RutubeBridge (https://in.bookmyshow.com) (#2661)
- SchweinfurtBuergerinformationenBridge (https://www.schweinfurt.de/rathaus-politik/pressestelle/buergerinformationen/index.html) (#1610)
- SlusheBridge (https://slushe.com) (#2700)
- SpotifyBridge (https://spotify.com/) (#1535)
- StanfordSIRbookreviewBridge (https://ssir.org/books/) (#1638)
- SummitsOnTheAirBridge (https://api2.sota.org.uk/api/spots/) (#2096)
- TwitterEngineeringBridge (https://blog.twitter.com/engineering/) (#2623)
- TwitterV2Bridge (https://twitter.com/)
- UberNewsroomBridge (https://www.uber.com) (#2748)
- UsenixBridge (https://www.usenix.org/publications) (#2800)
- VixenBridge (https://www.vixen.com) (#2763)
- WordPressMadaraBridge (multiple) (#2782)
- YouTubeCommunityTabBridge (https://www.youtube.com) (#1594)
Modified bridges
- Amazon: Add Sweden & Turkey
- Arte7Bridge: Support all languages (#2543)
- BinanceBridge: Remove announcements because of Cloudflare issue (#2610)
- DavesTrailerPageBridge: Add timestamps to feed (#2456)
- DeveloppezDotComBridge: Full rewrite of bridge DeveloppezDotCom (#2689)
- EZTVBridge: Switch to using EZTV API (#2476)
- FlickrBridge: Add content option to By username (#1861)
- FurAffinityUserBridge: Replate username/password with cookie login (#1641)
- GelbooruBridge: + inheriting Bridges. Switch to using Gelbooru API (#2472)
- GiphyBridge: use not rate limited public api key (#2625)
- GitHub: Allow custom search query (#2593)
- GiteaBridge: Rewrite to decouple from Gogs and add contexts (#2718)
- GithubPullRequestBridge: Sort by newest PRs instead of latest updated (#2064)
- GolemBridge: Remove image galleries (#2761)
- HaveIBeenPwnedBridge: Use API to get Data (#2720)
- InstagramBridge: Documentation for configuring this bridge (#2437)
- MixcloudBridge: switch to using API (#2591)
- NordbayernBridge: add author & timestamp of article (#2309)
- PhoronixBridge: support multipage and embed benchmarks (#2522)
- PixivBridge: Add User context (#2650)
- TelegramBridge: Fix issues & add support for location messages (#2133)
- UnsplashBridge: extend functionality (#1813)
Removed bridges
- ABCTabsBridge: Remove multiple broken, unneeded bridges (#2595)
- ContainerLinuxReleasesBridge: Delete bridge (#2455)
- DaveRamseyBlogBridge: fix: remove dead bridge #2345 (#2574)
- DownDetectorBridge: Remove bridge (#2579)
- ETTVBridge: fix: remove bridge ETTVBridge (#2511)
- FootitoBridge: chore: remove bridge (#2576)
- HentaiHaven: remove dead bridge (#2562)
- LichessBridge: Remove multiple broken, unneeded bridges (#2595)
- Mangareader: chore: remove dead bridge (#2597)
- NeuviemeArt: Exterminate dead bridge (#2784)
- OpenClassroomsBridge: Remove bridge (#2582)
- OsmAndBlog: Remove bridge (#2775)
- QPlayBridge: chore: remove dead bridge (#2564)
- RTBFBridge: remove dead and unmaintained bridge (#2596)
- SupInfoBridge: Remove multiple broken, unneeded bridges (#2595)
- TagBoardBridge: fix: remove dead bridge
- TheTVDBBridge: fix: remove dead bridge
- ThingiverseBridge: chore: remove dead bridge (#2563)
- WallpaperStopBridge: Delete bridge (#2458)
- WosckerBridge: Remove multiple broken, unneeded bridges (#2595)
- YahtzeeDevDiaryBridge: Remove bridge (#2580)
- ZoneTelechargement: Remove bridge (#2678)
Full Changelog: 2022-01-20...2022-06-14
RSS-Bridge 2022-06-10
See 2022-06-14 release notes.
RSS-Bridge 2022-01-20
General changes
- CI:
- UI:
- Docker:
- Features and fixes for bridge maintainers:
- Accept additional "successful" 2xx status codes (#2310)
- Backported str_starts_with, str_ends_with and str_contains from php 8 (#2318)
- BridgeImplementationTest: Implement feature for testing detectParameters method (c580219)
- Remove redundant "or returnServerError" after getContents/getSimpleHTMLDom/getSimpleHTMLDomCached (#2398)
- XPathAbstract: Fix encoding of feed output (#2297)
- Features and fixes for instance admins:
- Others:
New bridges
- ABCNews (https://www.abc.net.au) (#2255)
- ARDMediathek (https://www.ardmediathek.de) (#2158)
- CVEDetails (https://www.cvedetails.com) (#2332)
- Codeberg (https://codeberg.org/) (#1951)
- Drive2ru (https://drive2.ru/) (#2116)
- Explosm (https://www.explosm.net) (#2092)
- Flashback (https://www.flashback.org) (#2343)
- Formula1 (https://formula1.com/) (#2085)
- HardwareInfo (https://nl.hardware.info) (#2232)
- Indiegogo (https://www.indiegogo.com) (#2135)
- JornalDeNoticias (https://jn.pt) (#2293)
- Khinsider (https://downloads.khinsider.com) (#2302)
- LegoIdeas (https://ideas.lego.com) (#2284)
- NikonDownloadCenter (https://downloadcenter.nikonimglib.com) (#2195)
- Openly (https://www.openlynews.com) (#2129)
- PanacheDigitalGames (https://www.panachedigitalgames.com) (#2321)
- Picuki (https://www.picuki.com) (#2183)
- Pillowfort (https://www.pillowfort.social) (#2275)
- PokemonTV (https://www.pokemon.com) (#2219)
- Spottschau (https://spottschau.com/) (#2193)
- Unogs (https://unogs.com) (#2198)
- Urlebird (https://urlebird.com) (#2163)
- Wallpaperflare (https://wallpaperflare.com) (#2179)
Maintainer changes:
- Twitter: arnd-s is now maintainer of this bridge instead of pmaziere
- OpenClassrooms: sebsauvage does not maintain this bridge. No maintainer for this bridge
- WordPress: aledeg does not maintainer this bridge. No maintainer for this bridge
Modified bridges
- ARDMediathek
- Switch to JSON-API (#2380)
- ASRockNews
- Fix bridge (#2373)
- AmazonPriceTracker
- Fix bridge (#2194)
- AmazonPriceTracker
- Fixes for subscription items (#2205)
- AppleAppStore
- Add Germany (#2350)
- AppleMusic
- Complete rebuild for new site (#2134)
- AutoJM
- Rework of the script to handle the new website (#2390)
- BakaUpdatesMangaReleases
- Added option to display releases based on a user list
- Bandcamp
- Add support for labels (#2286)
- Binance
- Fix blog posts (#2226)
- CeskaTelevize
- Follow website changes (#2420)
- ComboiosDePortugal
- Temporarily ignore certificate checks (#2403)
- CourrierInternational
- Switch to FeedExpander (#2107)
- DarkReading
- Fix content extraction (#2315)
- DealabsBridge
- Derpibooru
- DuckDuckGo
- Fix bridge (#2335)
- Economist
- ExtremeDownload
- Update URL (#2290)
- FSecureBlog
- Limit number of returned items (#2300)
- Facebook
- Increase cache timeout (#2149)
- teromene and logmanoriginal do not maintain this bridge defacto
- Filter
- Various improvements (#2148)
- FirefoxAddons
- FuturaSciences
- Improve content extraction (#2317)
- GBAtemp
- Fix news extraction (#2241)
- Giphy
- Repair broken bridge (#2347)
- GitHubGist
- fix use the css selector "contains" to find a class in the middle of the utility classes (#2306)
- HackerNewsUserThreads
- Repair broken bridge (#2344)
- HentaiHaven
- domain and content retrieval update (#2402)
- HotUKDealsBridge
- InternetArchive
- Add detectParameters (#2142)
- Itchio
- Remove reliance on in-page timestamps (#2127)
- MozillaBugTracker
- Fix incorrect newlines in feed title (#2298)
- MozillaSecurity
- Limit items to 20 (#2287)
- Mydeals
- NYT
- Fix article parsing (#2106)
- NationalGeographic
- Rewrite bridge (#2177)
- Nextgov
- Update categories, fix missing element (#2316)
- NineGag
- Updated sections and added video
- NordBayern
- PcGamer
- Use meta tags to generate feed contents (#2271)
- Pikabu
- Pixiv
- Rewrite Bridge (#2111)
- PresidenciaPTBridge
- Support multiple sections (#2082)
- RaceDepartment
- Follow site changes (#2087)
- RadioMelodie
- Releases3DS
- Remove requests to IGN (#2246)
- Reuters
- Scmb
- Remove "read more" text only if it exists (#2368)
- Soundcloud
- Add support for albums, reposts & likes (#2236)
- Telegram
- Add test cases for detectParameters
- ThePirateBay
- Repair broken bridge
- Vk
- Wikipedia
- Update elements (#2167)
- Youtube
- ZoneTelechargement
- Update website URL (#2289)
Removed bridges
- BingSearch (https://www.bing.com/discover/) (#2242): Microsoft has removed the bing search discover functionality
- FierPanda (http://www.fier-panda.fr/) (#2238)
- KickassTorrents (https://katcr.co/new/) (#2141): Website has been unavailable since July 2020
- LinkedIn: (https://linkedin.com) (#2269): Impossibile to fetch data without logging in
- StoriesIG (https://storiesig.com/) (#2139): Website has been unavailable since at least October 2020
- TheCodingLoveBridge (TheCodingLoveBridge) (#2342): This is now a wordpress blog and their official feed is at https://thecodinglove.com/feed
- VMwareSecurity (https://www.vmware.com/security/) (655e02e): There is fulltext RSS feed: https://www.vmware.com/security/advisories.xml
RSS-Bridge 2021-04-25
General changes
- BridgeAbstract: Correct getIcon method (fc81bed)
- BridgeCard: Display configuration options (if enabled) when bridge has no parameters (#1968)
- CI: Replace Travis CI with Github Actions (#1926)
- Dockerfile: Clean up apt cache, make image smaller (#1880)
- FeedExpander: Handle Atom enclosures (#2039)
- FormatFactory: Ignore case in format values (#1967)
- HtmlFormat: Use str_ireplace() when creating feed format URLs (#2008)
- JS: Fixed TypeError: textValue is null (2ddd357)
- README: Fix typo (#2004)
- README: Update build status badges (#1995)
- contents.php: Fix logical error in getSimpleHTMLDOMCached function (#1974)
- core: Add configuration for bridges, allowing private bridges (#1343)
- core: Use more correct text to indicate errored response from upstream (3226a5e)
New bridges
- Bukowskis (https://www.bukowskis.com) (#1927)
- DockerHub (https://hub.docker.com) (#1994)
- FSecureBlog (https://blog.f-secure.com) (#1932)
- FirefoxAddons (https://addons.mozilla.org) (#1952)
- GenshinImpact (https://genshin.mihoyo.com/en/news) (#1912)
- GitHubPullRequest (captain obvious is on vacation) (#2001)
- HackerNewsUserThreads (https://news.ycombinator.com) (#1902)
- IKWYD (https://iknowwhatyoudownload.com) (#1874)
- Itchio (https://itch.io) (#1918)
- PresidenciaPT (https://www.presidencia.pt) (#2016)
- RaceDepartment (https://racedepartment.com) (#1681)
- Reuters (https://reuters.com) (#1653)
- SeznamZpravy (https://seznamzpravy.cz) (#1806)
- SymfonyCasts (https://symfonycasts.com) (#2000)
- TheFarSide (https://www.thefarside.com) (#1484)
- TwitScoop (https://www.twitscoop.com) (#2018)
- WallmineNews (https://wallmine.com) (#2035)
- Yeggi (https://www.yeggi.com) (#1910)
Modified bridges
- AmazonPriceTracker
- Add support for Swedish Amazon (#1856)
- AppleMusic
- Use title from website (#1855)
- Arte7
- Mitsu is no longer maintainer of the bridge
- Bandcamp
- Fix title extraction on empty band pages (#1966)
- Basta
- Use defaultLinkTo() (#1862)
- DockerHub
- Add detectParameters() (#1996)
- DownDetector
- Fix bridge (#1957)
- Dribbble
- Fix pictures parsing (#1911)
- Economist
- Fixes for fetching new page structure (#1836)
- ExtremeDownload
- FirefoxAddons
- Add detectParameters() (#1997)
- Flickr
- Add filter by media and sort by options (#1758)
- GenshinImpact
- Use Asia/Shanghai time zone for article dates (#2040)
- GithubIssue
- Fix issue id and comment id extraction (#1950)
- HDWallpapers
- Fix URLs (#1892)
- Instagram
- Remove redundant data collection for sidecar and video (#1920)
- pauder is defacto not a maintainer of InstagramBridge
- InternetArchive
- Fix collection links (#1551)
- KernelBugTracker
- Use defaultLinkTo() (#1862)
- LeBonCoin
- Fix bridge (e5846c0)
- MondeDiplo
- Fix blog article uri (#1961)
- Nordbayern
- Fixed typo of region "Hilpoltstein" (#1962)
- NyaaTorrents
- Pikabu
- Marking posts from "Как бы Новости" section, which are funny and deliberately fake (#2032)
- RadioMelodie
- Fix header image (#1985)
- Reporterre
- Use defaultLinkTo() (#1862)
- Rule34paheal
- Use full size image (#1775)
- Skimfeed
- Add parameter detection (#1877)
- Soundcloud
- Fix client ID extraction (#1973)
- Telegram
- Add detectParameters() (#1998)
- Telegram
- Display the name of the attachments (#2003)
- Telegram
- Revert "Prevent double encoding entities" (#1182)
- TheYetee
- Fix HTML parsing (#1986)
- TwitScoop
- Remove less than (<) character from item title (#2034)
- Twitter
- Add option to hide pinned tweet (#1908)
- Twitter
- Fix username matching to be case insensitive with noretweet option (#1924)
- Twitter
- Improve timeline processing for username mode (#1946)
- Vk
- ZoneTelechargement
Removed bridges
- ChristianDailyReporter (https://christiandailyreporter.com/): service is shutting down (#1948)