Tiny RSS

tt-rss.org
Tiny RSS

A web-based news feed reader and aggregator, supporting RSS/Atom feeds. It's free, open source, and offers a customizable and self-hostable platform for managing your news feeds.

Open Source

Tiny RSS Source Code

Author

tt-rss

Description

A free, flexible, open-source, web-based news feed (RSS/Atom/other) reader and aggregator.

#rss#rss-aggregator#rss-generator#tt-rss#ttrss

Homepage

License

GPL-3.0

Created

03 Oct 25

Last Updated

29 Jul 26

Primary Language

PHP

Size

137,098 KB

Stars

801

Forks

79

Watchers

801

Language Usage

Language Usage

Star History

Star History

Recent Commits

  • Greg (19 Jul 26)

    Exclude newer test dirs in the Publish workflow

  • Greg (18 Jul 26)

    minor: fix a test copy+paste mistake

  • supahgreg (16 Jul 26)

    Bump the 'web-nginx' base image to nginx 1.31.3. https://nginx.org/en/CHANGES

  • supahgreg (15 Jul 26)

    Bump 'guzzlehttp/guzzle' to 7.14.2.

  • Greg (15 Jul 26)

    Disallow the 'srcdoc' attribute. GHSA-mr5j-8f39-q8hh (#394)

  • dependabot[bot] (05 Jul 26)

    GitHub Actions: Bump docker/build-push-action from 7.2.0 to 7.3.0 (#389) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 7.2.0 to 7.3.0. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/f9f3042f7e2789586610d6e8b85c8f03e5195baf...53b7df96c91f9c12dcc8a07bcb9ccacbed38856a) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-version: 7.3.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

  • dependabot[bot] (05 Jul 26)

    GitHub Actions: Bump docker/setup-qemu-action from 4.1.0 to 4.2.0 (#388) Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 4.1.0 to 4.2.0. - [Release notes](https://github.com/docker/setup-qemu-action/releases) - [Commits](https://github.com/docker/setup-qemu-action/compare/06116385d9baf250c9f4dcb4858b16962ea869c3...96fe6ef7f33517b61c61be40b68a1882f3264fb8) --- updated-dependencies: - dependency-name: docker/setup-qemu-action dependency-version: 4.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

  • dependabot[bot] (05 Jul 26)

    GitHub Actions: Bump docker/metadata-action from 6.1.0 to 6.2.0 (#387) Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 6.1.0 to 6.2.0. - [Release notes](https://github.com/docker/metadata-action/releases) - [Commits](https://github.com/docker/metadata-action/compare/80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9...dc802804100637a589fabce1cb79ff13a1411302) --- updated-dependencies: - dependency-name: docker/metadata-action dependency-version: 6.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

  • dependabot[bot] (05 Jul 26)

    GitHub Actions: Bump docker/setup-buildx-action from 4.1.0 to 4.2.0 (#386) Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 4.1.0 to 4.2.0. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5...bb05f3f5519dd87d3ba754cc423b652a5edd6d2c) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-version: 4.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

  • dependabot[bot] (05 Jul 26)

    GitHub Actions: Bump docker/login-action from 4.2.0 to 4.4.0 (#385) Bumps [docker/login-action](https://github.com/docker/login-action) from 4.2.0 to 4.4.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/650006c6eb7dba73a995cc03b0b2d7f5ca915bee...af1e73f918a031802d376d3c8bbc3fe56130a9b0) --- updated-dependencies: - dependency-name: docker/login-action dependency-version: 4.4.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

  • supahgreg (24 Jun 26)

    Remove public method 'getUnread'. Clients needing this information should use the API method of the same name. Alternatively, a plugin could be created+required that exposes this information via an unauthenticated method.

  • supahgreg (02 Jul 26)

    Bump 'guzzlehttp/guzzle' to 7.13.1.

  • Greg (02 Jul 26)

    Limit visibility of partial response HTML content from a failed subscribe. (#384)

  • Greg (02 Jul 26)

    Merge pull request #383 from tt-rss/login-return Improve validation of the login 'return' param

  • supahgreg (02 Jul 26)

    Properly restrict Rector to a max of PHP 8.2

  • supahgreg (24 Jun 26)

    Improve validation of the login 'return' param.

  • dependabot[bot] (02 Jul 26)

    npm: bump the development-dependencies group with 4 updates (#381) Bumps the development-dependencies group with 4 updates: [eslint](https://github.com/eslint/eslint), [globals](https://github.com/sindresorhus/globals), [less](https://github.com/less/less.js) and [stylelint](https://github.com/stylelint/stylelint). Updates `eslint` from 10.5.0 to 10.6.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v10.5.0...v10.6.0) Updates `globals` from 17.6.0 to 17.7.0 - [Release notes](https://github.com/sindresorhus/globals/releases) - [Commits](https://github.com/sindresorhus/globals/compare/v17.6.0...v17.7.0) Updates `less` from 4.6.6 to 4.6.7 - [Release notes](https://github.com/less/less.js/releases) - [Changelog](https://github.com/less/less.js/blob/master/CHANGELOG.md) - [Commits](https://github.com/less/less.js/compare/v4.6.6...v4.6.7) Updates `stylelint` from 17.13.0 to 17.14.0 - [Release notes](https://github.com/stylelint/stylelint/releases) - [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md) - [Commits](https://github.com/stylelint/stylelint/compare/17.13.0...17.14.0) --- updated-dependencies: - dependency-name: eslint dependency-version: 10.6.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: globals dependency-version: 17.7.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: less dependency-version: 4.6.7 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies - dependency-name: stylelint dependency-version: 17.14.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

  • dependabot[bot] (30 Jun 26)

    GitHub Actions: Bump actions/cache/restore from 5.0.5 to 6.1.0 (#378) Bumps [actions/cache/restore](https://github.com/actions/cache) from 5.0.5 to 6.1.0. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/27d5ce7f107fe9357f9df03efb73ab90386fccae...55cc8345863c7cc4c66a329aec7e433d2d1c52a9) --- updated-dependencies: - dependency-name: actions/cache/restore dependency-version: 6.1.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

  • dependabot[bot] (30 Jun 26)

    GitHub Actions: Bump actions/cache/save from 5.0.5 to 6.1.0 (#379) Bumps [actions/cache/save](https://github.com/actions/cache) from 5.0.5 to 6.1.0. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/27d5ce7f107fe9357f9df03efb73ab90386fccae...55cc8345863c7cc4c66a329aec7e433d2d1c52a9) --- updated-dependencies: - dependency-name: actions/cache/save dependency-version: 6.1.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

  • dependabot[bot] (23 Jun 26)

    GitHub Actions: Bump actions/checkout from 6.0.3 to 7.0.0 (#375) Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.3 to 7.0.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/df4cb1c069e1874edd31b4311f1884172cec0e10...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

  • supahgreg (18 Jun 26)

    Fix getting the feed ID for feed tree context menus.

  • supahgreg (18 Jun 26)

    Bump the 'web-nginx' base image to nginx 1.31.2.

  • Weblate (bot) (17 Jun 26)

    Translated using Weblate (Russian) (#372) Currently translated at 100.0% (727 of 727 strings) Translation: TinyTinyRSS/webui Translate-URL: https://hosted.weblate.org/projects/tt-rss/webui/ru/ Co-authored-by: Xapitonov <[email protected]>

  • Greg (17 Jun 26)

    Bump 'guzzlehttp/guzzle' to 7.12.0. (#371)

  • Andrew Gaul (15 Jun 26)

    Fix native long-press leaking a tap and stranding the menu (#360) (#369) On Android the browser fires the contextmenu for a long-press itself, so the menu opens via the native path; the synthetic path #360 added is only reached on iOS. But armReleaseSwallow() -- which eats the finger-lift's compatibility mouse events -- was wired only into the synthetic path. So on Android (e.g. Firefox) the release fell through to the row: the feed tree's onClick ran Feeds.open() and collapsed the drawer, i.e. a long-press behaved like a tap. And once the menu was open, pending was null, so pointermove ignored a drag and the popup stayed open instead of dismissing. - The native contextmenu handler now arms armReleaseSwallow() when a touch press is in flight (pending is only ever set for touch, so a real mouse right-click is left alone), matching the synthetic path. - Track the origin of the press that opened a menu (opened) and, if the still-down finger drags past the slop, close the popup -- a drag means the user means to scroll, not pick an item. Reset per gesture on pointerdown / pointerup / pointercancel. References #360. Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>

  • Weblate (bot) (15 Jun 26)

    Translated using Weblate (Indonesian) (#368) Currently translated at 100.0% (727 of 727 strings) Translation: TinyTinyRSS/webui Translate-URL: https://hosted.weblate.org/projects/tt-rss/webui/id/ Co-authored-by: Dony Wibowo <[email protected]>

  • dependabot[bot] (15 Jun 26)

    npm: bump the development-dependencies group across 1 directory with 4 updates (#366) Bumps the development-dependencies group with 4 updates in the / directory: [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js), [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin), [eslint](https://github.com/eslint/eslint) and [less](https://github.com/less/less.js). Updates `@eslint/js` from 9.39.4 to 10.0.1 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/commits/v10.0.1/packages/js) Updates `@stylistic/eslint-plugin` from 5.6.1 to 5.10.0 - [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases) - [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/v5.10.0/CHANGELOG.md) - [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v5.10.0/packages/eslint-plugin) Updates `eslint` from 10.4.1 to 10.5.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v10.4.1...v10.5.0) Updates `less` from 4.6.4 to 4.6.6 - [Release notes](https://github.com/less/less.js/releases) - [Changelog](https://github.com/less/less.js/blob/master/CHANGELOG.md) - [Commits](https://github.com/less/less.js/commits/v4.6.6) --- updated-dependencies: - dependency-name: "@eslint/js" dependency-version: 10.0.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: development-dependencies - dependency-name: "@stylistic/eslint-plugin" dependency-version: 5.10.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: eslint dependency-version: 10.5.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies - dependency-name: less dependency-version: 4.6.6 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

  • supahgreg (15 Jun 26)

    Address some unnecessary JS assignments. These get flagged as 'no-useless-assignment' in ESLint 10.x (https://github.com/tt-rss/tt-rss/pull/366).

  • supahgreg (14 Jun 26)

    Check for JS dev dependency updates less often + group into a single PR.

  • supahgreg (13 Jun 26)

    Bump to Alpine 3.24.1. https://alpinelinux.org/posts/Alpine-3.24.1-released.html

Tiny RSS Security

Security Advisories (1)

  • high Patched CVSS 8

    GHSA-mr5j-8f39-q8hh Stored cross-site scripting via iframe srcdoc in YouTube-whitelisted feed content

Tiny RSS Website

Website

Home | Tiny Tiny RSS

Tiny Tiny RSS (tt-rss) is a free, flexible, open-source, web-based news feed (RSS/Atom/other) reader and aggregator.

Redirects

Does not redirect

Security Checks

All 65 security checks passed

Server Details

  • IP Address 185.199.110.153
  • Hostname cdn-185-199-110-153.github.com
  • Location California, Pennsylvania, United States of America, NA
  • ISP GitHub Inc.
  • ASN AS54113

Associated Countries

  • US US

Safety Score

Website marked as safe

100%

Blacklist Check

tt-rss.org was found on 0 blacklists

  • AntiSocial Blacklist
  • Artists Against 419
  • Badbitcoin
  • Bambenek Consulting
  • CERT Polska
  • CoinBlockerLists
  • CRDF
  • CryptoScamDB
  • EtherAddressLookup
  • EtherScamDB
  • Fake Website Buster
  • MetaMask EthPhishing
  • NABP Not Recommended Sites
  • OpenPhish
  • PetScams
  • PhishFeed
  • PhishFort
  • Phishing.Database
  • PhishStats
  • PhishTank
  • Phishunt
  • RPiList Not Serious
  • Scam.Directory
  • SecureReload Phishing List
  • Spam404
  • StopGunScams
  • Suspicious Hosting IP
  • ThreatFox
  • ThreatLog
  • TweetFeed
  • URLhaus
  • ViriBack C2 Tracker

Website Preview

Website preview

Tiny RSS Docker

Container Info

tt-rss

Tiny Tiny RSS is an open source web-based news feed (RSS/Atom) reader and aggregator, designed to allow you to read news from any location, while feeling as close to a real desktop application as possible.

#Other lunik1/tt-rss:latest

Run Command

docker run -d \
  -p 80/tcp \
  -e PUID=${PUID} \
  -e PGID=${PGID} \
  -v /portainer/Files/AppData/Config/tt-rss:/config \
  --restart=unless-stopped \
  lunik1/tt-rss:latest

Compose File

version: 3.8
services:
  tiny-tiny-rss:
    image: "lunik1/tt-rss:latest"
    ports:
      - 80/tcp
    environment:
      PUID: 1000
      PGID: 100
    volumes:
      - "/portainer/Files/AppData/Config/tt-rss:/config"
    restart: unless-stopped

Environment Variables

  • Var Name Default
  • PUID 1000
  • PGID 100

Port List

  • 80/tcp

Volume Mounting

  • /portainer/Files/AppData/Config/tt-rss /config

Tiny RSS Reviews

More News Readers

⚠️ This section is still a work in progress ⚠️
Check back soon, or help us complete it by submiting a pull request on GitHub.
Or submit an entry here

About the Data: Tiny RSS

Change History

API

You can access Tiny RSS's data programmatically via our API. Simply make a GET request to:

https://api.awesome-privacy.xyz/v1/services/tiny-rss

The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.

Share Tiny RSS

Help your friends compare News Readers, and pick privacy-respecting software and services.
Share Tiny RSS and Awesome Privacy with your network!

View News Readers (1)