--- title: Touitomamout created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, activitypub-fediverse, bridge, twitter, mastodon, bluesky, cross-posting, sync, nodejs] confidence: high contested: false sources: [https://selfh.st/apps/?tag=activitypub-fediverse, https://github.com/louisgrasset/touitomamout] --- # 🌉 Touitomamout > **Le pont Twitter → Mastodon (et Bluesky) auto-hébergeable** — synchronisez vos tweets sur votre instance Mastodon et inversement, sans cloud tiers. ## 📋 Informations Générales | Champ | Valeur | | :--- | :--- | | **Site web** | [louisgrasset.github.io/touitomamout](https://louisgrasset.github.io/touitomamout/docs/discover) | | **GitHub** | [louisgrasset/touitomamout](https://github.com/louisgrasset/touitomamout) | | **Licence** | AGPL-3.0 | | **Langage** | TypeScript, Node.js | | **Étoiles GitHub** | 26 ⭐ | | **Dernière MAJ** | 2026-04 | | **Catégorie** | [[cat-activitypub-fediverse\|ActivityPub / Fediverse]] | ## 📝 Description **Touitomamout** est un **bridge Twitter ↔ Mastodon bidirectionnel** que l'on self-host soi-même. Le nom est un clin d'œil : "touito" = "twitter" en verlan, "mamout" = Mastodon, et l'ensemble évoque la fusion des deux écosystèmes. L'idée est née de la frustration de voir sa communauté éclatée entre Twitter/X et le Fediverse : on ne peut pas forcer tout le monde à migrer, mais on peut **répliquer ses propres tweets vers Mastodon** et **rapatrier les réponses Mastodon vers Twitter**. Le cas d'usage principal est le **départ progressif de Twitter** : on garde son compte Twitter en lecture seule (ou en miroir), on continue à tweeter via l'API, et Touitomamout pousse automatiquement chaque tweet sur notre compte Mastodon. Les **réponses, boosts et favoris** reçus sur Mastodon sont **réinjectés comme des réponses sous le tweet original** sur Twitter, ce qui maintient une continuité pour les followers restants sur X. L'outil supporte aussi **Bluesky** (publication vers AT Protocol) et gère les **métadonnées** : avatar, bannière, nom d'affichage sont synchronisés. Il sait traiter les **threads Twitter** (récupère la conversation complète), les **media** (images, vidéos, GIFs), et **filtre les replies** selon des règles configurables (ex : ne pas republier les replies commençant par `@`). Forces : 100% self-hosted, pas de cloud intermédiaire, configuration fine, gestion des threads. Faiblesses : **l'API Twitter/X devient de plus en plus restrictive et payante** (le plan Basic à 100$/mois est désormais requis pour l'écriture), le projet est mono-utilisateur (un compte Twitter ↔ un compte Mastodon), pas de GUI web (config via fichier YAML + CLI). ## 🚀 Installation ### Option recommandée : Docker ```yaml # docker-compose.yml services: touitomamout: image: louisgrasset/touitomamout:latest container_name: touitomamout restart: unless-stopped environment: - TZ=Europe/Paris - DRY_RUN=false volumes: - ./config.yaml:/app/config.yaml:ro - ./cache:/app/cache ``` ### Fichier `config.yaml` minimal ```yaml twitter: username: votre_pseudo_x api_key: VOTRE_CLE_API_X api_secret: VOTRE_SECRET_API_X access_token: VOS_TOKENS_OAUTH1 access_token_secret: ... mastodon: instance: mastodon.social access_token: VOTRE_TOKEN_MASTODON bluesky: enabled: true handle: vous.bsky.social app_password: ... sync_interval: 300 # secondes ``` ## ⚙️ Configuration Initiale 1. **Créer une app Twitter/X** sur le portail développeur X et récupérer les clés OAuth 1.0a. **Attention** : depuis 2023, X facture l'accès API (plan payant requis pour poster). 2. **Créer un token Mastodon** depuis les paramètres de votre instance → Développement → Nouvelle application (scope : `read write push`). 3. **Configurer Bluesky** : générer un mot de passe d'application sur bsky.social. 4. **Premier run** : démarrer en `DRY_RUN=true` pour vérifier que la synchro fonctionne sans publier. 5. **Lancer en production** : repasser `DRY_RUN=false` et superviser les logs. ## 🔄 Alternatives ### Open Source - [[app-bridgy-fed]] — Bridge Mastodon ↔ réseaux ActivityPub variés (par Darius Kazemi). - **moa.party** — Bridge multi-réseau (Mastodon, Tumblr, Pleroma, Twitter) en ligne, non self-hostable. - **Ecko** (ex-Mastodon modifié) — Client Mastodon enrichi mais pas un bridge. - **rss-to-mastodon** — Beaucoup plus simple, sans Twitter. ### Propriétaires (ce que cette app remplace) - **Buffer / Hootsuite** — Cross-poster cloud, payant et centralisé. - **Zapier/Make.com** — Workflows cloud bridant Twitter/Mastodon, mais pas bidirectionnels. - **IFTTT** — Limité, ne gère pas les threads Twitter. - **dlvr.it** — Service payant de cross-posting. ## 🔐 Sécurité - **Secrets sensibles** : le `config.yaml` contient les tokens OAuth des trois plateformes. **Monter en read-only** et **chiffrer au repos** (LUKS, age, SOPS). - **Compte Twitter/X** : l'API actuelle impose un plan **Basic ($100/mois)** pour poster. Surveillez la facturation X Developer. - **Rate limits** : Touitomamout implémente du backoff exponentiel ; en cas de blocage, les messages sont mis en cache et réessayés. - **DRY_RUN** : utilisez-le systématiquement lors de la configuration initiale pour éviter de poster 10 ans d'archives par accident. - **Modération** : aucun mécanisme intégré ; vous publiez sous votre propre identité, les filtres se gèrent côté Twitter et Mastodon. ## 📚 Ressources - [GitHub louisgrasset/touitomamout](https://github.com/louisgrasset/touitomamout) - [Documentation officielle](https://louisgrasset.github.io/touitomamout/docs/discover) - [Reddit r/Mastodon — Présentation](https://www.reddit.com/r/Mastodon/comments/175ozyq/touitomamout_an_open_source_twitter_crossposter/) ## Pages Liées - [[cat-activitypub-fediverse]] — Catégorie parente - [[app-mastodon]] — Cible de synchro principale - [[recettes-docker-compose]] — Templates Docker