From 6a56894e940db0b1f7ee6788fbc38f26c80d004d Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sat, 9 Jun 2018 15:58:18 +0200 Subject: New extension event + Tumblr GDPR (#1924) * New extension event + Tumblr GDPR https://github.com/FreshRSS/FreshRSS/issues/1894 simplepie_before_init event * Refactor extension enabling + Tumblr GDPR enabled by default Add possibility for extensions to be enabled by default, and disabled back by users. * Minor whitespace --- extensions/Tumblr-GDPR/README.md | 4 ++++ extensions/Tumblr-GDPR/extension.php | 13 +++++++++++++ extensions/Tumblr-GDPR/metadata.json | 8 ++++++++ 3 files changed, 25 insertions(+) create mode 100644 extensions/Tumblr-GDPR/README.md create mode 100644 extensions/Tumblr-GDPR/extension.php create mode 100644 extensions/Tumblr-GDPR/metadata.json (limited to 'extensions') diff --git a/extensions/Tumblr-GDPR/README.md b/extensions/Tumblr-GDPR/README.md new file mode 100644 index 000000000..fc5e4dd50 --- /dev/null +++ b/extensions/Tumblr-GDPR/README.md @@ -0,0 +1,4 @@ +# Tumblr-GDPR + +Needed for accessing [Tumblr](https://www.tumblr.com/) RSS feeds from the European Union: +bypass the [GPDR](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation) check, implying consent. diff --git a/extensions/Tumblr-GDPR/extension.php b/extensions/Tumblr-GDPR/extension.php new file mode 100644 index 000000000..7a7708c9f --- /dev/null +++ b/extensions/Tumblr-GDPR/extension.php @@ -0,0 +1,13 @@ +registerHook('simplepie_before_init', array('TumblrGdprExtension', 'curlHook')); + } + + public static function curlHook($simplePie, $feed) { + if (preg_match('#^https?://[a-zA-Z_0-9-]+.tumblr.com/#i', $feed->url())) { + $simplePie->set_useragent(FRESHRSS_USERAGENT . ' like Googlebot'); + } + } +} diff --git a/extensions/Tumblr-GDPR/metadata.json b/extensions/Tumblr-GDPR/metadata.json new file mode 100644 index 000000000..b5c33787b --- /dev/null +++ b/extensions/Tumblr-GDPR/metadata.json @@ -0,0 +1,8 @@ +{ + "name": "Tumblr-GDPR", + "author": "Alkarex", + "description": "Bypass Tumblr’ GPDR check (implying consent) for the European Union", + "version": 1.0, + "entrypoint": "TumblrGdpr", + "type": "system" +} -- cgit v1.2.3