Tiny Tiny RSS: Community

Change on Tumblr: RSS feeds not working


Done that too. Hope that will be stable for now, or Tumblr fixe this bug.
Thx alot!!

P.S: I’ve seen your plugin code, and I’m not sure about the subscription process. Because when TT-RSS try to subscribe, it call a new instance of PluginHandler (or anything like that) ; this one doesn’t have config loaded yet.
I’m not sure to be clear, so you can take a look at my code, lines 53+ :

function hook_subscribe_feed($contents, $fetch_url, $auth_login, $auth_pass) {
	// first, load plugin and his data
	static $kind_user = false;
	if(!$kind_user) {
		$kind_user = @$this->about()[3] ? $this->host->KIND_SYSTEM : $this->host->KIND_USER;
		$this->host->load(get_class($this), $kind_user, $_SESSION["uid"], true);
	if (!$this->is_supported($fetch_url)) return $contents;

	$feed_data = $this->fetch_tumblr_contents($fetch_url, $auth_login, $auth_pass);
	$feed_data = trim($feed_data);

	return $feed_data;

I had to do that, because subscription process doesn’t work without it.


@GregThib I finally could get your plugin working (v1.2) - Hurray!

For me was unlcear that I need to install the plugin to plugins.local and RENAME the extracted dir from zip to tumblr_gdpr.

Secondly I was not aware that I need to apt install php-curl. I kept wondering how to force php to use curl.

Thirdly you mention in the packaged README.md one can enter tumbler hosted domains with different name in “prefs/config/Tumblr GDPR”. Where is this to be found, please?



Couldn’t decide if I should put this here, since this has become more of a GDPR thread, or in a topic of it own, but decided here for neatness’ sake.

Until today, blogs that were filtered due to Safe Mode could still be accessed via their RSS feeds without being logged in, but it seems that Tumblr has changed that policy, and those RSS feeds are now blocked to anonymous users, or users that have not turned off Safe Mode.

Hard to say if this will be short term or long term (probably the latter.) Attempted to circumvent with hkockerbeck’s tumblr_gdpr_ua on the off-chance that Tumblr wasn’t blocking Google user agents, and failed. I forget if it’s possible to set cookies for TTRSS (search of discourse seemed inconclusive), but I doubt anything short of an actual login will work, now.


Changing ttrss’s user-agent string to ‘Wget’ made the problem go away for me. I don’t think this is a valid permanent fix, of course, but it illustrates the scope of the problem. (I’ve noticed a few other non-tumblr sites have suddenly started refusing to serve rss unless the user-agent is something they like. Did this become an ill-considered Best Practice recently?)


Tested and confirmed. They’re stupid.


Fox, how hard/trivial might it be to add a user-agent setting per-feed in the Edit Feed window? Perhaps as another tab? If no new setting is provided, the default is used. I ask because I can see changing the user-agent as being very useful for a feed in trouble, but changing it globally for all feeds (including those not having a problem) feels too drastic.


not in stock but it would be a very simple plugin


Sorry, but how does one change User-Agent in tt-rss? Couldn’t find it in config.php.


It’s not in any config. You either alter the code for TTRSS, or you use the user agent plugin in this thread and alter the user agent in that for a solution that’s specific to tumblr. And if either of those are beyond you, you probably shouldn’t be doing that, because inevitably someone’s going to have to help you when something breaks.


You can define SELF_USER_AGENT in config.php before it’s defined in the core and TT-RSS will use that. It’s global though so it overrides every request.

A plugin to set it per-feed is a better solution. Using a fake user agent is bad form but sometimes it’s the only option available. I do it as well as some sites are just stupid.


Detest that condescending tone.


Thanks, JAMU. All clear.


gonna reiterate that its probably not the best idea to change this globally


I actually installed the tumblr_gdpr_ua plug in and just changed the user agent there. Worked like a charm, and only applies to tumblr sites.


What did you specifically change it to? I hit my own webserver with wget from another machine and plucked out the exact user agent string and it’s not working for me.

Wget/1.15 (linux-gnu)

Is that what you have, or similar? Or just the word “Wget”?


First I tried ‘wget’, which worked for tumblr, but prompted a 406 error from http://www.joemygod.com/feed/ so I changed it to ‘Wget’, whereupon everything started working.

I’m contemplating whether it’d be worth the trouble to put together a plugin that detects when it’s being redirected to a non-RSS page and tries other popular user-agents until it gets a good answer


Thanks for the tip. I did some more digging and found that I had forgotten to enable the mod. It’s now working with the Wget/1.15 (Linux-gnu) user agent (and I’m sure would work with just Wget).


Did anyone get this working with safe mode filtered feeds?

Using tumblr_gdpr_ua, if i leave the UA as ‘googlebot’ I get 302 redirects to


If i change the UA to “Wget/1.15 (linux-gnu)” I get 303 redirects to


I’m not sure what UA I can use to get the rss feed!


Did anyone get this working with safe mode filtered feeds?

Yesterday it worked fine for me by changing the UA to “Wget”. But you are right, it seems like Tumblr changed something again.

Right now it is not working with any Tumblr-feed (safe mode filtered feeds or “normal” ones). Tested with new UA in a) the global config.php, b) tumblr_gdpr and c) tumblr_gdpr_ua.
Tested with “googlebot”, with the UA of wget and with the typical UA of Firefox. For me nothing is working anymore. Also new Tumblr-feeds can not be subscribed to anymore (error: “This URL does not contain a feed”).

Looks like Tumblr changed things again in the last few hours. I try to find more details.

Tumblr is annyoing…


It does seem to work with the Baidu UA (“Mozilla/5.0 (compatible; Baiduspider; +http://www.baidu.com/search/spider.html)”). If you call curl from the command line you have to supply the -L parameter to follow the redirect.

Edit: It also works with the Facebook external hit UA: facebookexternalhit/1.0 (+http://www.facebook.com/externalhit_uatext.php)