Voir un post Instagram, TikTok, X, YouTube… sans être pisté, et nettoyer ses liens. https://share.antifat32.org
  • JavaScript 81%
  • CSS 18.4%
  • HTML 0.6%
Aller au fichier
2026-10-29 05:57:51 +01:00
public Première publication 2026-10-29 05:57:51 +01:00
server Première publication 2026-10-29 05:57:51 +01:00
src Première publication 2026-10-29 05:57:51 +01:00
.gitignore Première publication 2026-10-29 05:57:51 +01:00
index.html Première publication 2026-10-29 05:57:51 +01:00
LICENSE Première publication 2026-10-29 05:57:51 +01:00
package-lock.json Première publication 2026-10-29 05:57:51 +01:00
package.json Première publication 2026-10-29 05:57:51 +01:00
README.md Première publication 2026-10-29 05:57:51 +01:00
vite.config.js Première publication 2026-10-29 05:57:51 +01:00

Share

Colle un lien Instagram, TikTok, X, Bluesky, YouTube, Reddit, Facebook, Threads ou Mastodon : Share affiche le post (texte, images, vidéo) sans que le réseau social voie la personne qui le regarde, et donne le lien d’origine nettoyé de ses paramètres de pistage.

En ligne : https://share.antifat32.org

Fonctionnement

Le serveur récupère la page publique du post à la place du visiteur, en extrait le contenu, puis sert les images et les vidéos lui-même. Tant que le visiteur ne clique pas sur le lien d’origine, son navigateur ne contacte pas le réseau social.

  • Rien n’est écrit sur disque : pas de journal, pas de base de données, seulement un cache en mémoire de quelques minutes.
  • Les liens partagés depuis Share affichent une carte d’aperçu générée par le serveur.
  • Le serveur refuse de contacter les adresses privées ou locales (server/net.js).

Selon les réseaux, l’extraction passe par la page publique (balises Open Graph) ou par une API publique : api.fxtwitter.com pour X, public.api.bsky.app pour Bluesky. Les réseaux changent souvent leurs pages, et un réseau peut cesser de fonctionner sans prévenir.

Développer

Il faut Node.js 20 ou plus récent.

npm ci
npm run build     # interface dans dist/
npm start         # serveur sur http://127.0.0.1:8031

npm run dev lance l’interface seule, sans serveur, avec Vite.

Variables d’environnement du serveur :

Variable Rôle Par défaut
PORT Port d’écoute 8031
ORIGIN Adresse publique du site, utilisée dans les liens et les cartes d’aperçu https://share.antifat32.org
SHARE_SECRET Clé qui signe les adresses des médias servis. À fixer en production, sinon elle change à chaque redémarrage aléatoire

Organisation

  • server/index.js : serveur HTTP, routes, cache.
  • server/extract.js : détection du réseau et extraction du post.
  • server/clean.js : nettoyage des liens.
  • server/net.js : requêtes sortantes et protections contre les adresses internes.
  • server/embed.js : cartes d’aperçu (Satori et resvg).
  • src/ : l’interface (React).

Licence

Le code est publié sous licence GNU Affero General Public License version 3 (AGPL-3.0-only), voir LICENSE.

Les polices de server/fonts/ et celles chargées par l’interface sont sous SIL Open Font License, les icônes Lucide sous licence ISC et les emojis Twemoji sous CC-BY 4.0.

Un projet d’AntiFAT32.