FxEmbed / FxEmbed
git clone https://github.com/FxEmbed/FxEmbed.git
🔥 on GitHub Trending today
Cloudflare Worker that rewrites X/Twitter and Bluesky links so Discord, Telegram and other apps show rich embeds.
Why you might care
Adds media, polls, quotes and translations to link previews on chat platforms that otherwise show little for x.com or bsky.app links. Self-hostable via Docker with Wrangler, and MIT licensed.
+0
stars, 24h · #15,256
+~0
stars, 7 days · #15,827
+719
stars, 30 days · #764
5.8k
★ total
278
forks · 85 open issues
Star history (as recorded here)
LanguageTypeScript
LicenseMIT
Created2022-07-13 (4y ago)
Last pushtoday
Watchers31
OwnerOrganization
Seen on GitHub Trending
- 2026-10-22 — #15 monthly in typescript · +716 ★
- 2026-10-21 — #16 monthly in typescript · +718 ★
- 2026-10-20 — #16 monthly in typescript · +719 ★
Links
- GitHub: github.com/FxEmbed/FxEmbed
- Homepage: https://docs.fxembed.com
- Releases · Issues · Hacker News mentions
README excerpt
# FxEmbed ## Home of FxTwitter, FixupX, and FxBluesky ### Embed videos, polls, quotes, translations, & more on Discord, Telegram, and others! [![Crowdin][crowdinbadge]][crowdin] [![esbuild][buildbadge]][build] [![Tests][testsbadge]][tests] [![Status][statusbadge]][status] [![License][licensebadge]][license] [build]: https://github.com/FxEmbed/FxEmbed/actions/workflows/build.yml [buildbadge]: https://github.com/FxEmbed/FxEmbed/actions/workflows/build.yml/badge.svg [tests]: https://github.com/FxEmbed/FxEmbed/actions/workflows/tests.yml [testsbadge]: https://github.com/FxEmbed/FxEmbed/actions/workflows/tests.yml/badge.svg [license]: https://github.com/FxEmbed/FxEmbed/blob/main/LICENSE.md [licensebadge]: https://img.shields.io/github/license/FxEmbed/FxEmbed [status]: https://status.fxtwitter.com [statusbadge]: https://status.fxtwitter.com/api/badge/8/uptime/720?label=Uptime%2030d [crowdinbadge]: https://badges.crowdin.net/fxtwitter/localized.svg [crowdin]: https://crowdin.com/project/fxtwitter ### `twitter.com`: Add `fx` before your `twitter.com` link ### `x.com`: Add `fixup` before your `x.com` link ### `bsky.app`: Add `fx` before your `bsky.app` link ## Documentation ## API Reference ## Self-Hosting Guide ## Docker FxEmbed is a Cloudflare Worker, so the Docker image runs the local Workers runtime through Wrangler rather than starting a plain Node.js server. The image uses `node:24-bookworm-slim` because Wrangler's `workerd` binary is glibc-linked and does not run reliably on Alpine/musl. Before building, copy and edit the local configuration files if you need custom domains, branding, or credentials: [code] Build and run with Docker Compose: [code] The worker listens on `http://localhost:8787`. Because FxEmbed routes by the `Host` header, test a specific realm like this: [code] You can also open `http://localhost:8787/` without a `Host` header to see the local realm prefixes. Environment variables from `.env` are bundled during the Docker build, so rebuild the image after changing domain lists or other build-time configuration: [code] Runtime secrets such as `CREDENTIAL_KEY` and `EXCEPTION_DISCORD_WEBHOOK` can be supplied through your shell or Compose `.env` file. Stop the service with: [code] **Licensed under the permissive MIT license. Feel free to send a pull request!** ## Star History ## Bugs or issues? Feel free to open an issue ## Additional Credits Mosaic Multi-image combiner by Antonio32A and improved by Syfaro, Deer Spangle, and dangered wolf Everyone else who has contributed to the main project! ## Disclaimer Twitter, Tweet, and X are trademarks of X Corp. This project is not affiliated in any way with X Corp or Twitter.
Blurb generated by claude-haiku-5-5 1d ago. Star deltas marked ~ are extrapolated from partial history.