❌

Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

FxTwitter - L'API gratuite pour lire X sans compte

Depuis que X a shooté Nitter et XCancel à grands coups de lettres d'avocat fin août, lire X sans compte c'est redevenu une méga galère. Mais il reste pourtant un outil que plein de gens utilisent sans le savoir, parce qu'il tourne dans les coulisses de Discord et Telegram. Son nom ?

FxTwitter !

À la base, le projet FxEmbed , qui fait tourner FxTwitter et FixupX, sert à réparer les aperçus de liens X. Vous mettez fx devant twitter.com (ou fixup devant x.com) et Discord affiche enfin la vidéo, le sondage ou toutes les images du post. Sauf que derrière, il y a surtout une API publique et gratuite, api.fxtwitter.com, qui affiche n'importe quel post public en JSON sans avoir besoin de compte ou de clé API facturé une couille. Ché Elon !

Alors oui, les rageux diront que x.com affiche encore n'importe quel post isolé à un visiteur déconnecté, même les longs, mais sur un profil, ça s'arrête à 5 posts avant de vous demander de "Continuer sur X". Et surtout, ça ne vous affichera pas les vidéos et ça ne vous permettra pas d'avoir ça sous la forme d'un flux RSS.

Alors que FxTwitter, lui, nous sort tout ça sans avoir à ouvrir x.com !

Lire un post dans le navigateur

Maintenant pour nos tests, prenons un vieux de la vieille, un vétéran, le post numéro 20 de @jack, publié le 21 mars 2006 et dont l'URL est x.com/jack/status/20. Le nombre à la fin, c'est l'identifiant du post.

Collez tout simplement cet identifiant au cul de api.fxtwitter.com/2/status/ et ouvrez ça dans votre navigateur :

https://api.fxtwitter.com/2/status/20

Et vous obtiendrez un gros pavé en JSON avec dedans le texte du post dans le champ "text", l'auteur dans "author", et un peu plus bas vous trouvez les likes, les reposts, les réponses et la date.

Le post 20 de @jack vu par l'API : le texte dans le champ text, l'auteur juste en dessous.

Et si vous avez la flemme de recopier l'identifiant (vous êtes toujours dans l'abus, vous ^^), remplacez simplement x.com par api.fxtwitter.com dans l'adresse complète du post et voilà ! Ça marche à tous les coups, même si c'est le retour de l'ancienne version de l'API, conservée pour la compatibilité.

Le texte et sa traduction avec curl

Pour utiliser ça avec un script, je vous conseille d'utiliser curl pour faire la requête et jq pour trier tout ça ( jq, c'est le petit utilitaire qui extrait un champ précis d'un JSON ).

Ainsi, pour n'afficher que le texte du post :

curl -s "https://api.fxtwitter.com/2/status/20" | jq -r '.status.text'

Et si le post n'est pas en français, ajoutez ?lang=fr à l'adresse et hop, magie magie, l'API glisse alors un bloc "translation" dans la réponse, avec le texte en français :

curl -s "https://api.fxtwitter.com/2/status/20?lang=fr" | jq -r '.status.translation.text'

Le texte d'origine du post 20, puis sa traduction demandée avec ?lang=fr.

La traduction provient de X lui-même quand elle existe (sur ce post, le champ "provider" indiquait "grok"), sinon l'API se rabat avec joie sur un service de traduction. Et pour un profil, c'est le même principe avec /2/profile/ : api.fxtwitter.com/2/profile/jack qui affichera la bio de @jack, son nombre d'abonnés et sa date d'inscription. Les autres "routes" qui récupèrent les fils, les abonnés ou les médias d'un compte sont dans la documentation de l'API .

Elle est pas belle la vie ?

Récupérer une vidéo

Maintenant, on va rentrer dans le dur parce qu'ici, pour récupérer une vidéo, vous n'avez pas besoin d'API. Suffit de jouer avec l'adresse.

Mettez d. devant fxtwitter.com et le lien vous renverra directement le fichier, sans HTML autour. Avec curl, ça donne ça (le -L sert à suivre la redirection) :

curl -L -o video.mp4 "https://d.fxtwitter.com/NASA/status/2102748685792596449"

Grâce à ça, on peut par exemple récupérer le MP4 de cette vidéo bien kitchou de 30 secondes de la NASA. Et ajouter .mp4 à la fin d'une adresse fxtwitter.com fera la même chose. Et pour choisir la qualité, jetez un œil au JSON du post, où la liste des formats de media.videos donne chaque version de la vidéo avec son adresse et son bitrate.

Suivre un compte en RSS

Dernier truc que je trouve pratique avec cet outil c'est que chaque compte public peut avoir son flux RSS. Il suffit d'ajouter /feed.xml après le nom du compte :

https://fxtwitter.com/korben/feed.xml

Collez ensuite ça dans votre lecteur RSS et vous suivrez le compte X de vos rêves sans avoir à y mettre les pieds. Le flux remonte ainsi les 90 derniers posts par défaut, et le paramètre ?count= permet de réduire ce nombre ou de l'augmenter jusqu'à 100 maximum. Et si vous remplacez feed.xml par media.xml vous ne verrez dans le flux que les posts contenant des photos ou des vidéos. Et si vous ajoutez ?with_replies=1 vous verrez aussi les réponses.

Ce qui coince

Maintenant ce qui peut être relou, c'est que l'API n'encaisse que 1 000 requêtes par minute et par adresse IP. Par contre, si vous pensiez absorber tout x.com sans la moindre vergogne, vous allez vite vous retrouver coincé.

Attention aussi au domaine que vous tapez. Les seuls officiels sont fxtwitter.com, twittpr.com, fixupx.com, xfixup.com et fxbsky.app pour Bluesky. Je précise ça parce qu'il y a eu, par exemple un fxtwiter.com avec un t en moins, qui a été signalé sur le dépôt du projet et qui renvoyait les gens vers des arnaques.

Comme d'hab, une faute de frappe et c'est le drame... Soyez très vigilants.

Maintenant, si vous êtes un petit peu curieux comme moi, vous vous êtes sûrement demandé comment FxTwitter récupérait tout ça ??

Eh bien, comme le fait Nitter, ou plutôt comme le faisait Nitter , il récupère les données en utilisant de vrais comptes X sur lesquels il répartit les requêtes. Et comme c'est ce qui a été reproché à Nitter, je me dis qu'il y a des chances qu'à un moment FxEmbed soit visé aussi.

On verra bien, mais si un jour le service tombe, sachez que le code est bien dispo sous licence MIT, donc vous pouvez le faire tourner chez vous sans problème dans un Docker. Et si vous n'utilisez pas de compte X connecté dessus, ça marchera quand même avec, c'est vrai, des limites de requêtes plus basses et surtout sans accès au contenu NSFW (Et ça, je sais que ça vous rend super triste.)

Source : GitHub

RSSMonster - Le lecteur RSS qui trie vos flux en local

Vous le savez, je suis un grand défenseur des flux RSS . C'est d'ailleurs pour ça que le mien est complet !! Je dois être le dernier à faire ça, alors, abonnez-vous (c'est gratuit) car ça me permet de continuer à faire ce que j'aime et ce que vous aimez aussi apparemment, puisque vous êtes de plus en plus nombreux à venir ici !

Mais bon, bref, si je vous parle de ça aujourd'hui, c'est parce que j'ai découvert RSSMonster, un lecteur de flux RSS que vous installez sur votre machine, et qui a la particularité de rapprocher tout seul les articles qui parlent du même truc et qui leur met une note.

J'ai de la lecture...

La qualité d'écriture compte pour moitié, le ton pour un quart, et le dernier quart mesure à quel point le texte est promotionnel, si bien qu'un publireportage descendra tout seul. J'ai trouvé ça plutôt malin. Et les articles qui racontent le même "fait" sont regroupés dans un Event, donc vous lisez l'actu qu'une fois sans vous fader tous les copycats.

Et le plus cool, c'est que ce tri tourne sur votre ordi, sans avoir besoin de la moindre clé d'API. Chez Miniflux ou FreshRSS, la liste officielle des fonctionnalités ne mentionne rien de tel. Quant à NewsBlur, celui-ci apprend à masquer ou surligner les articles selon ce que vous lui dites aimer, ce qui n'est pas la même chose que rapprocher deux actus pour les dédupliquer. Dans le même genre, je vous avais quand même déjà parlé d' un lecteur RSS qui s'y met aussi.

Le choix à faire

RSSMonster est livré avec deux fichiers Docker Compose. Le premier monte l'application et un collecteur de flux au-dessus de SQLite, sans un seul modèle (c'est celui de la procédure express du README). Le second ajoute MySQL, un worker dédié à l'IA et le service d'inférence, et c'est lui qui allume tout ça.

En fait, si vous choisissiez SQLite, la concurrence des traitements optionnels sera plafonnée à un, donc, ce sera un peu plus lent. Et surtout, le profil léger tel qu'il est livré ne démarre pas le worker IA et coupe l'inférence, donc pas de regroupement ni de notes tant que vous ne les activez pas à la main. Ça ira donc pour une install perso, mais si vous voulez mettre ça sur un serveur pour le partager à tous vos potes ou dans votre entreprise, je vous conseille vraiment de choisir MySQL directement. Parce qu'après, la bascule de l'un vers l'autre a l'air plus hasardeuse.

Enfin, rassurez-vous, il y aura toujours la possibilité d'exporter un fichier OPML avec tous vos abonnements et les catégories. Par contre, ça ne transporte que votre liste de flux, pas les articles déjà collectés ni ce que vous avez lu.

Installer le profil léger (SQLite)

C'est celui que je vous conseille pour commencer. Côté prérequis : git, Docker et Docker Compose. On commence par cloner le dépôt :

git clone https://github.com/pietheinstrengholt/rssmonster.git
cd rssmonster

Ensuite, faut générer deux secrets. Lancez cette commande deux fois, les résultats doivent différer :

openssl rand -hex 32

Créez un .env à la racine, lisible par vous seul :

touch .env && chmod 600 .env
JWT_SECRET=votre-premier-secret
FEVER_CREDENTIAL_SECRET=votre-second-secret

Ajoutez-y RSSMONSTER_BIND_ADDRESS=0.0.0.0 tout de suite pour y accéder depuis une autre machine, le port n'écoutant que sur la boucle locale. Et ne sautez pas les secrets, car le Compose refuse de démarrer si l'un des deux manque :

docker compose up -d

Ouvrez http://localhost:3000. Pas de compte admin par défaut, c'est le premier que vous créez qui devient l'administrateur, et notez bien vos identifiants. Ensuite, allez dans réglages puis flux, et importez ensuite votre OPML.

L'écran de connexion au premier démarrage

Et si vous voulez la version qui dépote (MySQL)

Si vous aviez déjà lancé le profil léger, coupez-le d'abord avec docker compose down, qui arrête les conteneurs sans toucher à vos données. N'y ajoutez surtout pas -v, car ça supprimera le volume et la base. Et MySQL démarrera vide et vous devrez réimporter votre OPML comme sur une install neuve.

Ensuite, ajoutez ces quatre valeurs dans le même .env, à côté de vos deux secrets :

DB_DATABASE=rssmonster
DB_USERNAME=rssmonster
DB_PASSWORD=un-mot-de-passe-solide
MYSQL_ROOT_PASSWORD=un-autre-mot-de-passe-solide

Et lancez l'autre fichier :

docker compose -f docker-compose.mysql.yml up -d --build

Ne paniquez pas si localhost:3000 ne répond pas dans la foulée. L'application attend que MySQL et l'inférence soient dispo, et celle-ci commence par télécharger ses trois modèles donc ça prend quelques minutes. Le contrôle de santé de l'outil lui laisse dix minutes, donc allez vous faire un ti café (dans sa couche ? nooon).

L'ajout d'un flux, sa catégorie et sa fenêtre de rattrapage

Voilà, amusez-vous bien.

Source : le dépôt GitHub de RSSMonster

Ça c'est ma veille tech

Ça fait un moment que ça me trotte dans la tête et vous êtes plusieurs à me réclamer régulièrement ma veille, comme dans la chanson, en mode "Allez Korben, montre-nous tes RSS, allez Korben montre-nous tes flux !". C'est vrai que c'est un peu le nerf de la guerre pour moi et avoir un outil pour vous les afficher en direct sur le site, je me suis dit que ça allait vous plaire !

https://korben.info/news

Donc voilà, ma veille tourne maintenant en temps réel sur korben.info. C'est en bêta depuis une semaine, et je m'en sers maintenant tous les jours puisque ça fonctionne plutôt bien. Je vois défiler ce qui arrive, et hop, "ah tiens ça c'est cool, je vais tester", ou "tiens, ça je vais en parler".

Parce qu'il faut pas oublier un truc, c'est que l'actu tech défile à une vitesse que vous n'imaginez pas et que je suis atteint d'un FOMO carabiné. Mais tout voir, tout suivre et tout traiter, ce n'est pas possible. Donc je fais comme j'ai toujours fait, c'est-à-dire que je suis mes envies, mon humeur. Parfois je fais un peu plus d'actu, parfois je teste plus d'outils, parfois je fais des petits tutos. Voilà, ça dépend un peu de ce que j'ai envie de faire à l'instant T.

C'est assez aléatoire, je vous l'accorde.

Et comme je viens d'ouvrir une section avec des contenus un peu plus grand public, histoire d'ouvrir le site à de nouveaux lecteurs, c'est aussi l'occasion de voir ce qui se dit ailleurs, sur des médias plus tech grand public, là où moi je pars parfois dans des sujets un peu plus "barbus".

Voilà, j'ai nettoyé un peu tout ça pour virer les trucs pas terribles et là vous avez l'essentiel de l'actu tech (et un peu science) en temps réel. Ce que je vous recommande, si ça vous branche, c'est de mettre la page au démarrage de votre navigateur, comme ça vous êtes au courant de tout ce qui se passe sans rien faire. Vous avez juste à suivre le flux et puis vous pouvez filtrer en français ou en anglais et également trier par fraîcheur ou popularité.

Voilà, amusez-vous bien et encore un grand merci aux Patreon qui me soutiennent parce que c'est grâce à vous que je peux m'amuser à bricoler des petites nouveautés comme ça sur le site.

Ma veille, c'est par ici .

Les flux RSS c'est la vie !

J'aime bien lire les articles de l'EFF (l'Electronic Frontier Foundation, la Quadrature du Net des américains quoi...) et là ils viennent de publier un truc qui m'a fait plaisir : un vrai plaidoyer pour la défense du RSS .

Vous connaissez mon avis là-dessus et c'est vrai que depuis que Google a signé l'arrêt de mort de cette techno au profit d'algo à la con type Discover , y'a énormément moins de monde qui l'utilise. Et je trouve ça triste.

Alors que les flux RSS, c'est la liberté ! Ça décloisonne le contenu d'un site pour le faire atterrir dans l'appli de votre choix, ça permet d'en extraire des choses, de le faire traiter par exemple par un programme...etc. Et surtout c'est vous qui gérez la façon dont vous voyez le contenu. Vous pouvez le filtrer, l'ordonner comme vous voulez et surtout le lire avec le lecteur de flux de votre choix.

C'est super pratique, et ça permet par exemple de parcourir uniquement les titres des articles, et de ne s'arrêter que sur ceux qui vous intéressent. Moi y'a plein de trucs qui m'intéressent en ce moment et que j'ai envie de partager. Je suis hyper actif et atteint de FOMO, donc ça bombarde. En plus j'ai que ça à foutre de la journée en général, donc bon, désolé ! ^^ Mais heureusement, avec les flux RSS vous pouvez faire une sélection plus fine et éviter de lire des trucs qui ne vous intéressent pas.

Perso, ça fait des années que je fais de la veille, c'est une partie importante de mon boulot. J'ai commencé sur un lecteur de flux tout pourri, puis je suis passé par Netvibes, Google Reader (paix à son âme), puis Feedly et aujourd'hui j'expérimente Inoreader. Le RSS ne m'a jamais quitté et quand les sites n'en proposent pas, je m'arrange toujours avec des scripts ou des outils customs pour m'en faire un que je peux importer dans mon lecteur !

J'aime tellement ça que sur korben.info, je vous propose des flux RSS complets (qui contiennent tout le contenu). Le premier, /feed , c'est le flux tech que vous connaissez, historique, exactement comme vous l'aimez. Que de la techno, du code, de la sécu, de l'open source.

Et le petit nouveau c'est /feedfull , qui propose les mêmes sujets tech qu'au-dessus + des sujets un peu plus grand public / mainstream. Dernièrement, j'avais envie d'ouvrir un peu plus les portes du site et écrire aussi pour ceux qui ne bidouillent pas et qui veulent juste être au courant d'un truc utile ou deux. Et heureusement, Vincent m'aide dans cette nouvelle aventure !

Bref, c'est vous qui choisissez votre flux, je ne vous l'impose pas ! Et c'est la même logique sur la page d'accueil avec ce petit switch dans le header.

"Complet", c'est l'affichage par défaut, vous voyez tout. Et si vous cliquez sur "Techos", hop, le contenu grand public disparaît. Votre choix est mémorisé dans le local storage de votre navigateur, et voilà.

Si vous n'avez pas encore de lecteur RSS, n'importe lequel fera l'affaire, de Feedly cité plus haut à un truc plus moderne comme MrRSS . Vous copiez l'adresse du flux, vous la collez, c'est réglé. Et tant qu'on y est, vous pouvez aussi reprendre la main sur votre actu côté Google avec cette manip.

Bref, deux flux, un switch, et c'est vous qui tenez la barre !

Source

21 ans de Korben - Merci pour votre fidélité !

Hello,

Aujourd’hui on est le 5 mai, et la bonne nouvelle c’est que votre site préféré a 21 ans ! Je suis donc légalement majeur partout, y compris aux States même si en ce moment, vaut mieux pas y mettre les pieds.

Donc je tiens à vous remercier encore une fois, pour votre soutien, votre fidélité, et vos encouragements constants. Cette année écoulée, j’ai refait le site au complet. C’est pas encore comme je voudrais dans ma tête, mais ça roule bien quand même. J’ai aussi pas mal boosté la chaine YouTube, donc ça se développe tranquillement. J’arrive toujours, à mon grand étonnement à faire blinde de trafic web et à gagner ma vie avec ce que j’écris, donc c’est cool !

FeedCord – Pour intégrer des flux RSS dans Discord

Les amis, aujourd’hui, je vais vous parler d’un projet très intéressant qui devrait ravir les utilisateurs de Discord et les amateurs de flux RSS : FeedCord. Ce lecteur RSS ultra simple s’intègre parfaitement avec Discord et vous permet de disposer d’un fil d’actualité directement dans votre serveur Discord.

Je suis depuis toujours un grand défenseur du format RSS et c’est quand même dommage que ça ait presque disparu.

Parmi les principales fonctionnalités de FeedCord, il y a donc l’intégration avec Discord, qui permet d’envoyer directement les mises à jour de vos flux RSS dans un canal Discord via un simple webhook. Côté config, c’est un jeu d’enfant puisque tout se fait dans un simple fichier JSON. Vous y ajoutez votre URL Webhook et vos flux RSS et en avant Guingamp !! FeedCord dispose également une prise en charge via Docker, ce qui facilite grandement le déploiement. C’est d’ailleurs la méthode d’install recommandée par les dev du projet.

Alors, comment installer FeedCord avec Docker ?

Tout d’abord, il vous faudra créer un webhook Discord.

Ensuite, il faudra mettre en place FeedCord en créant un dossier FeedCord à l’emplacement souhaité, puis en créant un fichier de configuration appsettings.json à l’intérieur de ce dossier avec le contenu approprié. Vous trouverez toutes les informations nécessaires et des exemples de configuration dans la documentation du projet.

{
  "RssUrls": [
    "YOUR",
    "RSS URLS",
    "HERE"
  ],
  "YoutubeUrls": [
    "YOUR",
    "YOUTUBE CHANNEL URLS",
    "HERE",
    "eg. https://www.youtube.com/@IGN"
  ],
  "DiscordWebhookUrl": "https://discordapp.com/api/webhooks/1139357708546478200/ncB3dshJOPkQhthwOFQibeNt6YI-1_DiFbg0B3ZecfxchnbCGQNdG-m3PxqDdDSvt5Kk",
  "RssCheckIntervalMinutes": 3,
  "EnableAutoRemove": true,
  "Username": "FeedCord",
  "AvatarUrl": "https://i.imgur.com/1asmEAA.png",
  "AuthorIcon": "https://i.imgur.com/1asmEAA.png",
  "AuthorName": "FeedCord",
  "AuthorUrl": "https://github.com/Qolors/FeedCord",
  "FallbackImage": "https://i.imgur.com/f8M2Y5s.png",
  "FooterImage": "https://i.imgur.com/f8M2Y5s.png",
  "Color": 8411391,
  "DescriptionLimit": 200
}

Une fois ces étapes réalisées, il vous faudra déployer FeedCord avec Docker en créant un fichier docker-compose.yaml dans le dossier FeedCord et en y ajoutant le contenu adéquat.

version: "3.9"

services:
  myfeedcord:
    image: qolors/feedcord:latest # for amd64 architecture
    # image: qolors/feedcord:latest-arm64  # For arm64 architecture (Uncomment this line and comment the above if using arm64)
    container_name: FeedCord
    restart: unless-stopped
    volumes:
      - ./PATH/TO/MY/JSON/FILE/appsettings.json:/app/config/appsettings.json

Notez qu’il faudra remplacer les chemins vers votre fichier appsettings.json et adapter l’image Docker utilisée en fonction de l’architecture de votre système. Enfin, il vous suffira d’exécuter la commande

docker-compose up -d

dans votre terminal, depuis le répertoire FeedCord, pour récupérer l’image FeedCord la plus récente à partir de Docker Hub et lancer le service.

Et voilà, avec ces quelques étapes simples, FeedCord devrait maintenant être opérationnel et publier les mises à jour de vos flux RSS directement dans votre canal Discord. Pensez à rajouter le flux RSS de Korben.info pour ne manquer aucune de mes actus : https://korben.info/feed

Pour en savoir plus sur FeedCord, n’hésitez pas à vous rendre sur le dépôt GitHub à l’adresse suivante : https://github.com/Qolors/FeedCord.

Merci à Lorenper

❌