LeedRSS / Leed

Leed (contraction de Light Feed) est un agrégateur RSS libre et minimaliste qui permet la consultation de flux RSS de manière rapide et non intrusive.
214 stars 41 forks source link

Automatic removal of annoying FeedBurner/Google FeedProxy parameters in URL #229

Closed githare closed 10 years ago

githare commented 11 years ago

Afin de protéger ma vie privée, serait-il possible de faire comme pour shaarli, à savoir :

"Automatic removal of annoying FeedBurner/Google FeedProxy parameters in URL (?utm_source…)"

?

En effet, quand on veut voir l'élément sur le site d'origine, l'url contient ce type de données...

ldleman commented 10 years ago

C'est intéressant (à partir du moment ou la regex de shaarli est 100% fiable et que seb soit d'accord pour qu'on la lui pique évidemment :p), j'admets que ça pourrait être une feature native de la v2.

Phyks commented 10 years ago

+1 :)

Sbgodin commented 10 years ago

Je suis pour sur le principe. Le problème est qu'il va falloir introduire des routines dépendants de l'extérieur. Il y aura un nettoyeur pour Google, un pour truc et un autre pour machin. Vu comme ça, je dirais bien que ça irait dans un plugin mais comme ça touche au cœur de Leed, il faudra l'y placer.

Peut-être un genre de plugin au cœur ? Genre un modèle strategie demandant à la liste de gestionnaires-purificateurs lequel peut gérer l'affaire ?

ldleman commented 10 years ago

plugin au cœur = configuration de personnalisation :D. Pourquoi pas simplement un champs contenant les regex dans la partie config ?

On y place par défaut les plus connus, libre ensuite aux utilisateurs de se partager des listes de regex

Sbgodin commented 10 years ago

Ça ferait comme adblock, en fait.

ldleman commented 10 years ago

Je ne connais pas bien adblock mais je suppose

tetsumaki commented 10 years ago

Ça m'intéresse ! Vous travaillez dessus ?

tmos commented 10 years ago

+42

Sbgodin commented 10 years ago

Deux greffons, discuté dans le #294, répondent à la demande : https://github.com/ldleman/Leed-market/blob/master/urlclean/urlclean.plugin.disabled.php https://github.com/ldleman/Leed-market/blob/master/titleclean/titleclean.plugin.disabled.php

cobalt74 commented 10 years ago

@ldleman > "Pourquoi pas simplement un champs contenant les regex dans la partie config ? On y place par défaut les plus connus, libre ensuite aux utilisateurs de se partager des listes de regex." Moi je suis pour cette solution

Update : mais du coup, c'est faisable en plugin donc, pourquoi ne pas prendre le plugin urlclean et le généraliser à notre besoin ?

tetsumaki commented 10 years ago

Je suis d'accord avec Cobalt74.

Sbgodin commented 10 years ago

@cobalt74 :+1: pour le plugin avec généralisation. Il lirait un fichier de données contenant les regex.

githare commented 10 years ago

@Sbgodin Seems fine ! I installed it and will give it a try... Thanks !

cobalt74 commented 10 years ago

Petite question à la communauté

Juste parce que souvent, je fais le travail en amont manuellement et donc je n'ai pas le problème aujourd'hui. ex : http://feeds.feedburner.com/Nikopik je vais sur le site du gars et je rajoute feed à la fin et dans 90% des cas, j'ai son feed d'origine. http://www.nikopik.com/feed

Sbgodin commented 10 years ago

Effectivement, j'ai aussi le bon lien pour Nikopik et une aversion pour feedburner. Mais là, on touche à un autre problème. Comment définir algorithmiquement la correspondance entre un lien feedburner et le vrai lien de syndication derrière ?

tmos commented 10 years ago

Non pour moi ce n'est pas ça la question évoquée : Quand je clique sur un article de Korben dans Leed, j'arrive sur cette page : http://korben.info/mettre-mp3-en-ligne-sur-youtube-rapidement.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+KorbensBlog-UpgradeYourMind+%28Korben%27s+Blog+-+Upgrade+Your+Mind%29 alors que... http://korben.info/mettre-mp3-en-ligne-sur-youtube-rapidement.html ...suffirait. Sans m'avancer, Il me semble que c'est ce dont les autres parlaient aussi.

tetsumaki commented 10 years ago

Je pense qu'il serait plus optimisé de nettoyer les urls à la récupération (pendant la synchronisation).

Si vous arrivez à nettoyer les liens feedproxy, feedportals et feedburner bravo.

Une autre chose à laquelle je pense c'est qu'il serait sympa de pouvoir forcer le lien pour le pointer vers https au lieu de http, par exemple pour jeuxvideo.com.

Voici quelques exemples parmi mes flux dont j'aimerais le traitement pour vous donner des idées : Le Monde Avant : http://www.lemonde.fr/planete/article/2014/02/05/un-cargo-coupe-en-deux-a-anglet_4360580_3244.html#xtor=RSS-3208

Après traitement : http://www.lemonde.fr/planete/article/2014/02/05/un-cargo-coupe-en-deux-a-anglet_4360580_3244.html

Frandroid Avant : http://feedproxy.google.com/~r/Frandroid/~3/_IbHFKv4iHE/193684_un-redressement-fiscal-dun-milliard-deuros-pour-google-france

Après traitement 1 : http://www.frandroid.com/google/193684_un-redressement-fiscal-dun-milliard-deuros-pour-google-france?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Frandroid+%28FrAndroid%29

Après traitement 2 : http://www.frandroid.com/google/193684_un-redressement-fiscal-dun-milliard-deuros-pour-google-france

Freenews Avant : http://feedproxy.google.com/~r/Freenews-Freebox/~3/05UjBLkBaAs/spip.php

Après traitement 1 : http://www.freenews.fr/spip.php?article14383&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Freenews-Freebox+%28Freenews+%3A+L%27actualit%C3%A9+des+Freenautes+-+Toute+l%27actualit%C3%A9+pour+votre+Freebox%29

Après traitement 2 : http://www.freenews.fr/spip.php?article14383

Hardware Avant : http://feedproxy.google.com/~r/hardware/fr/news/~3/7U7F2cOM_zY/amd-catalyst-14-1-beta-avec-mantle-ligne.html

Après traitement 1 : http://www.hardware.fr/news/13553/amd-catalyst-14-1-beta-avec-mantle-ligne.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+hardware%2Ffr%2Fnews+%28HardWare.fr+-+News%29

Après traitement 2 : www.hardware.fr/news/13553/amd-catalyst-14-1-beta-avec-mantle-ligne.html

Le Journal du Geek Avant : http://feedproxy.google.com/~r/LeJournalDuGeek/~3/xeNjVj8n4go/

Après traitement 1 : http://www.journaldugeek.com/2014/02/05/la-serie-the-flash-etoffe-son-casting/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+LeJournalDuGeek+%28le+Journal+du+Geek%29

Après traitement 2 : www.journaldugeek.com/2014/02/05/la-serie-the-flash-etoffe-son-casting

PC Inpact Avant : http://www.pcinpact.com/news/85753-apres-14-ans-dexistence-world-cyber-games-tirent-leur-reverence.htm?utm_source=PCi_RSS_Feed&utm_medium=news&utm_campaign=pcinpact

Après traitement : http://www.pcinpact.com/news/85753-apres-14-ans-dexistence-world-cyber-games-tirent-leur-reverence.htm

Jeuxvideo.com Avant : http://rss.feedsportal.com/c/808/f/415160/s/36be122d/sc/23/l/0L0Sjeuxvideo0N0Cnews0C20A140C0A0A0A70A3490Ebioshock0Einfinite0Ela0Epartie0E20Edu0Edlc0Edatee0Bhtm/story01.htm

Après traitement : http://www.jeuxvideo.com/news/2014/00070349-bioshock-infinite-la-partie-2-du-dlc-datee.htm

cobalt74 commented 10 years ago

je sens que je vais me marrer moi :+1: merci pour tous les exemples. c'est une mine d'or. (enfin j'me comprend)

=> qu'est ce que ça traficote du lien quand même ! ô.Ô

tetsumaki commented 10 years ago
merci pour tous les exemples. c'est une mine d'or. (enfin j'me comprend)

Je n'ai rien donné de compromettant me concernant par mégarde (ssid, autres, ...) ?

cobalt74 commented 10 years ago

non non ^^ mine d'or truffé de lien pour tracer les gens !

cobalt74 commented 10 years ago

si je récapepete depuis le début @Tetsumaki

en gros, reste le problème des adresses substituées

cobalt74 commented 10 years ago

j'ai fais le développement et j'ai modifié le plugin Url Clean en local. @kraoc, est ce que je peux mettre à jour ton plugin avec mes modifications ?

cobalt74 commented 10 years ago

ça n'empêche pas le fait que Leed interroge le flux RSS feedburner ... pour récupérer son contenu mais c'est un premier pas.

kraoc commented 10 years ago

Oui tu peux sir cobalt. Je ne dev pas sous Leed pour me faire des sioux mais pour conserver des codes à mon arc. Normalement la licence du module a été choisie pour respecter cette vision :)

Ceci dit... le nettoyage des utm et autres me parait une bonne idée à la récupération du flux. -> a condition que ce soit fiable sinon on a pas de possibilité de revenir en arrière...

C'est là toute la difficulté de la manipulation de données...

cobalt74 commented 10 years ago

Même sous cette licence, je préfère demander :wink: c'est plus sympa et du coup ça t'envoi un mail si tu ne l'as pas vu. merci. j'ai un premier jet avec une technique de curl qui ce matin ne me convient pas, mais j'ai une autre idée très simple à mettre en place. je reviens vers vous dès que j'ai codé.

kraoc commented 10 years ago

C'est très sympa de prévenir, j'apprécie l'attention.

Ensuit, faut éviter curl je pense car ça n'est pas dispo sur tous les mutu... Et vu que je suis sur un mutu... hein bon :) :) :)

tmos commented 10 years ago

Personnellement j'ai fait la tournée de mes flux contenant burner pour essayer de trouver le flux de base. Certains refusent et forcent la redirection sur les services tiers. Du coup quel est l'effet du plugin ? Il contacte feedburner&co pour récupérer l'adresse de base ? Il nettoie seulement l'url des liens à cliquer ?

cobalt74 commented 10 years ago

Oui, Leed ira toujours cherchez la MAJ des flux avec l'url du service RSS (feedburner &co). Le plugin va remplacer dans ce cas le lien sur le titre du flux afin de ne pas avoir de tracker au fesse. J'ai juste un problème à la con à régler (mais ce qui est con peux te faire tourner en bourrique longtemps)

tmos commented 10 years ago

Super, c'est vraiement chouette si tu arrives à faire ça ! Ça va rendre Leed une option de choix vis à vis de la vie privée ;)

cobalt74 commented 10 years ago

j'ai terminé pour les liens par contre je m'aperçois que pour feedpostal, c'est carrement tous les liens de l'articles (images incluses) qui sont chargées avec des liens feedportal.

Je pense qu'un adblock + ce plugin seront necessaires pour une vie privé préservée (jamais à 100%)

cobalt74 commented 10 years ago

merci d'avance pour vos tests et retours. la prochaine update serait de prévoir de quoi renseigner directement dans les préférences du plugin, les chaines de caractères de site à traiter.

tmos commented 10 years ago

Pas le temps dans l’immédiat, mais je teste dès que je peux !

cobalt74 commented 10 years ago

super merci.

tmos commented 10 years ago

Deux choses : Quand ça marche, c'est MAGIQUE, le meilleur plugin Leed que j'ai vu, c'est vraiment indispensable, et je le conseille à tous les Leeders soucieux de leur vie privée !

Mais : Dès que le lazyload arrive et charge des articles, le plugin ne marche plus, sur marigolds rien n'est affiché mais les liens ne sont plus nettoyés, mais sur greeder cette notice est affichée :

Notice: Undefined variable: numberOfItem in /blablabla/leed/cache/tmp/index.99ddaca85a15e4f6d84b6a4e16def61d.rtpl.php on line 196

Bon courage, ça vaut vraiment le coup !

cobalt74 commented 10 years ago

ah ! merci, je vais regarder (pour marigolds) j'avoue avoir repris le fonctionnement du plugin d'origine. Doit pas avoir grand chose à faire pour corriger !! :smile:

cobalt74 commented 10 years ago

@tmos ça devrait corriger.

tmos commented 10 years ago

ça marche super bien ! Par contre la notice dans Greeder ne venait pas du plugin au final, désolé de la fausse alerte. Encore merci pour ce super plugin, je vais le conseiller à mes utilisateurs d'office :)

cobalt74 commented 10 years ago

cool. J'ai fais pas mal de MAJ de marigolds ces dernières semaines. Bon courage pour l'adaptation sur Greeder. Faut que je le test ce fameux thème !

tmos commented 10 years ago

Oui n'hésites pas à le tester :) si tu as des retours à faire je suis là !

tmos commented 10 years ago

Au fait, j'ai trouvé un flux particulièrement affreux : http://feeds.wired.com/RawFile Je ne sais pas si c'est un service public ou une exclu du site, mais je t'invite à jeter un œil avec l'inspecteur d'élément sur le pied de chaque article. Ils ne se gênent pas pour y ajouter un paquet de trackers ! A mon avis pas besoin de prendre en charge ce cas, c'est juste pour le spectacle :)

tetsumaki commented 10 years ago

J'ai testé tout les flux que j'ai posté plus haut et ça fonctionne bien sauf pour PC Inpact :

Avant : http://www.pcinpact.com/news/85753-apres-14-ans-dexistence-world-cyber-games-tirent-leur-reverence.htm?utm_source=PCi_RSS_Feed&utm_medium=news&utm_campaign=pcinpact

Après traitement je devrais avoir : http://www.pcinpact.com/news/85753-apres-14-ans-dexistence-world-cyber-games-tirent-leur-reverence.htm

Hors j'obtiens ceci : http://www.pcinpact.com/news/85753-apres-14-ans-dexistence-world-cyber-games-tirent-leur-reverence.htm?amp;amp;

cobalt74 commented 10 years ago

@Tetsumaki j'ai corrigé. effectivement PC inpact fait du html dans ces urls .......... bref :)

kraoc commented 10 years ago

Tiens je viens de m'apercevoir d'un bug...

Je me retrouve avec ça comme adresse: https://rss.cybride.net/o/249699%20at%20http://rue89.nouvelobs.com

A partie de ça dans la base: http://rue89.feedsportal.com/c/33822/f/608948/s/36f9350e/sc/22/l/0Lrue890Bnouvelobs0N0C20A140C0A20C110Ccontainer0Edeguise0Ecabane0E130A0E0A0A0A0Eeuros0Evit0Etous0Eboite0E249699/story01.htm

En fait c'est le guid [249699 at http://rue89.nouvelobs.com] qui semble employé pour faire le lien sur le titre de l'article...

Edit: j'ai corrigé :)

Les changes #91 et #92 du modules sont demandé pour appréciation (si j'ai bien tout compris le Git). Sinon c'est bon sur mon git (https://github.com/kraoc) et je valide la modification sur mon Leed avec la dernière 'dev' de Leed.

Wala... enjoy :)

Edit 2 : oups j'ai multi-patché le truc... ça fait tellement longtemps que je n'ai pas utilisé de cvs :) (toutes mes confuses)

kraoc commented 10 years ago

Tiens je pense qu'on doit pouvoir étendre la méthode pour ce genre d'url:

http://flux.20minutes.fr/c/32497/f/479493/s/37029f97/sc/7/l/0L0S20Aminutes0Bfr0Carticle0C12970A420C12970A420Txtor0FRSS0E145/story01.htm

qui se transforme en ça:

http://www.20minutes.fr/elections/1297042-20140212-municipales-2014-etre-maire-cest-panard-anne-hidalgo-saffiche

histoire de zapper le xtor bien caché tout au fond comme un vilain...

J'ai commité la v2.1.2 qui prend en compte ces url... Je m'interroge sur la pertinence d'étendre le système en l'état à cause d'une baisse des performances à mon avis....

A voir du côté de code JS peut-être... https://userscripts.org/scripts/show/120477 https://userscripts.org/scripts/show/89322

On peut aussi penser à intégrer directement la récupération de l'url du lien direct à la récupération des articles mais plutôt en rajoutant une colonne dans la db... histoire de ne pas perdre l'url d'origine (des fois que l'url déduite par le module soit erronée).

cobalt74 commented 10 years ago

Rahh, pleins de pullrequest lol ... je vais regarder ça ce soir.

cobalt74 commented 10 years ago

Du coup en ajoutant CURL, c'est super lent car a chaque url de ce type, il va faire la recherche. (et du coup, c'est pas top coté vie privé).

pour rue 89, il faut utiliser cette url je pense :

Bref, je me demande s'il ne faudrait pas qu'on créé de quoi faire nos propres règles par feed. c'est un beau sujet en constante évolution car les éditeurs cherchent des moyens pour qu'on ne nous laisse pas le choix. si on veut lire leurs news, il faut accepter d'être tracer (identifier)...

@kraoc il faudrait pouvoir créer des règles de traitement des urls (passage de regex, utilisation d'une url spécifique, ...) avec possibilité de combiner leurs utilisations et pouvoir affecter le traitement au feed souhaité.

pour les pullrequest, le mieux, c'est que je les clos et que tu nous refasse un pullrequest avec toutes les modifications. Je sais pas trop comment tu nous a fais ça mais ^^ je suis pas super expert lol. Normalement si tu fais tes modifications sur ton fork de leed-market, tu peux normalement faire un pullrequest depuis le site de github. et tant que le pullrequest n'est pas intégré, les commits que tu rajoutes sur ton fork sont automatiquement insérés dans le pullrequest.

kraoc commented 10 years ago

Pour 20mn pas besoin d'être inscrit... car je ne le suis pas... Pour les request... le plus simple n'est-il pas de prendre depuis mon git ?

Edit: C'est bon... j'ai revu mon code en tenant compte de tes remarques... Mais je garde le cURL en solution de replis mais avec une anonymisation des requêtes.

cobalt74 commented 10 years ago

faut que je regarde ça. :wink:

tetsumaki commented 10 years ago

Problème sur ce flux : http://feeds.feedburner.com/SaimonBlog

Avec une version antérieure à 2.1.3 j'ai :

Sans le plugin j'ai : http://feedproxy.google.com/~r/SaimonBlog/~3/w-JGZJfkgqE/pelican-compilation-foreman.html

Qui redirige vers : http://saimon.org/log/pelican-compilation-foreman.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+SaimonBlog+%28Sa%C3%AFmon%27s+blog%29

Avec plugin j'ai : tag:saimon.org,2013-05-18:log/pelican-compilation-foreman.html

Au lieu de : http://saimon.org/log/pelican-compilation-foreman.html

Avec la version 2.1.3 lorsque je clique sur mon flux j'ai une latence de 2 secondes de chargement et aucun filtrage n'est fait au final.

Les logs : [Wed Feb 19 00:54:22 2014] [error] [client 9_...__] PHP Warning: curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when an openbasedir is set in /**/leed/plugins/urlclean/urlclean.plugin.disabled.php on line 37, referer: https://tetsumaki.net/***/index.php?action=selectedFeed&feed=13

kraoc commented 10 years ago

J'ai la dernière version du plugin depuis mon git et ton lien marche correctement.

Pelican, compilation avec foreman -> http://saimon.org/log/pelican-compilation-foreman.html

Après au vu de la log ton hébergement ne semble pas authoriser l'option CURLOPT_FOLLOWLOCATION de cURL.