Possibility force subscribe duplicate feed?

Describe the problem you’re having:

I want to subscribe to some websites’ feeds, but they have a single feed for all the work they do instead of 1 feed per category.
My idea is to subscribe to the same feed many times (once for each category), and use a filter on each feed to delete unwanted articles.
The problem is it doesn’t work. I am wondering if someone knows a way to solve the problem.

If possible include steps to reproduce the problem:
Subscribe to the same feed twice
Read You are already subscribed to this feed.

tt-rss version (including git commit id):
Tiny Tiny RSS v21.01-41bde84a9

Platform (i.e. Linux distro, PHP, PostgreSQL, etc) versions:
linux/arm/v7, Raspberry Pi OS, based on Debian Buster
PHP Version 7.3.26
postgres:12-alpine
Zend Engine v3.3.26

Please provide any additional information below:
Thanks for all the work you guys do, tt-rss rocks !

You could probably just trick TT-RSS by adding some query parameters. For example:

https://example.com/feed/?a=1

And just increment a as needed. You’ll have to make sure those query parameters don’t actually do anything though.

You could probably just trick TT-RSS by adding some query parameters.

That’s a great idea, I don’t think I would’ve thought of it, thanks :slight_smile:
Now I can add the duplicate feeds, but unfortunately they are empty.
Even after debugging the duplicate feeds and reading them, I can’t see what’s going on.

I guess TT-RSS doesn’t allow duplicate hashes of articles ?

Here is an example of a feed https://leviatanscans.com/feed/?a=1.
and here are the logs when debugging (LOG_EXTENDED, Force refetch, Force rehash).

Any idea what’s happening ?

[01:23:16/238] start
[01:23:16/238] running HOOK_FETCH_FEED handlers...
[01:23:16/238] feed data has not been modified by a plugin.
[01:23:16/238] local cache will not be used for this feed
[01:23:16/238] last unconditional update request: 2021-01-19 01:22:31
[01:23:16/238] stored last modified for conditional request: 
[01:23:16/238] fetching [https://leviatanscans.com/feed/?a=1] (force_refetch: 1)...
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 3990 16777216
[01:23:16/238] [curl progressfunction] 3990 16777216
[01:23:16/238] [curl progressfunction] 3990 16777216
[01:23:16/238] [curl progressfunction] 3990 16777216
[01:23:16/238] fetch done.
[01:23:16/238] effective URL (after redirects): https://leviatanscans.com/feed/?a=1 (IP: XXX.XXX.XXX.XXX)
[01:23:16/238] source last modified: 
[01:23:16/238] saving cache/feeds/6ab2f21d61ddb8b3bd2d98373f3eb4bf63aa24ac.xml
[01:23:16/238] running HOOK_FEED_FETCHED handlers...
[01:23:16/238] feed data has not been modified by a plugin.
[01:23:16/238] running HOOK_FEED_PARSED handlers...
[01:23:16/238] language: simple
[01:23:16/238] processing feed data...
[01:23:16/238] site_url: https://leviatanscans.com/feed
[01:23:16/238] feed_title: Leviatan Scans
[01:23:16/238] checking favicon...
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:16/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 3990 16777216
[01:23:17/238] [curl progressfunction] 3990 16777216
[01:23:17/238] [curl progressfunction] 3990 16777216
[01:23:17/238] [curl progressfunction] 3990 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] [curl progressfunction] 0 16777216
[01:23:17/238] loading filters & labels...
Array
(
)
[01:23:17/238] 0 filters loaded.
[01:23:17/238] processing articles...
[01:23:17/238] guid 1,https://leviatanscans.com/comics/524614-rebirth-of-an-8-circled-mage/1/46 (hash: {"ver":2,"uid":1,"hash":"SHA1:dc323369090d81397a99f2186f168af343962e34"} compat: SHA1:52e47c68c5caf84fef87c87b4e203364bb06a8ec)
[01:23:17/238] orig date: 1611019045
[01:23:17/238] title Rebirth of the 8-Circled Mage - Volume 1 Chapter 46
[01:23:17/238] link https://leviatanscans.com/comics/524614-rebirth-of-an-8-circled-mage/1/46
[01:23:17/238] language 
[01:23:17/238] author  
[01:23:17/238] looking for tags...
[01:23:17/238] tags found: 
[01:23:17/238] done collecting data.
[01:23:17/238] looking for enclosures...
[01:23:17/238] article hash: 9f3581c7dbc896fd5e1d7e8dec8ec131ecb4c991 [stored=9f3581c7dbc896fd5e1d7e8dec8ec131ecb4c991]
[01:23:17/238] hash differs, applying plugin filters:
[01:23:17/238] plugin data: 
[01:23:17/238] matched filters: 
[01:23:17/238] matched filter rules: 
[01:23:17/238] filter actions: 
[01:23:17/238] date 1611019045 [2021/01/19 01:17:25]
[01:23:17/238] num_comments: 0
[01:23:17/238] article labels:
[01:23:17/238] force catchup: 
[01:23:17/238] base guid found, checking for user record
[01:23:17/238] initial score: 0 [including plugin modifier: 0]
[01:23:17/238] user record FOUND: RID: 103, IID: 103
[01:23:17/238] resulting RID: 103, IID: 103
[01:23:17/238] article updated, but we're forbidden to mark it unread.
[01:23:17/238] assigning labels [other]...
[01:23:17/238] assigning labels [filters]...
[01:23:17/238] article enclosures:
Array
(
)
[01:23:18/238] filtered tags: 
[01:23:18/238] article processed
[01:23:18/238] purging feed...
[01:23:18/238] purge_feed: interval -1 days for feed 4, owner: 1, purge unread: 
[01:23:18/238] purge_feed: purging disabled for this feed, nothing to do.
[01:23:18/238] update done.

I only copied an array for one article log, the others are the same.

It does not.

/20chars

Too bad. Well, if you ever think of something…
If I find a way, I’ll post something here.

Anyway, keep safe and see you around :slight_smile:

I suggest you subscribe to the feed once and use filters to assign labels as categories.

I do something similar to identify favorite authors from a single feed.

Nice way to use labels ! Not as convenient as actually having another feed, but pretty close. Thanks :slight_smile: