セルフホスト型サービス
FxEmbed/FxEmbed avatar
FxEmbed/FxEmbed

FxEmbed: URL接頭辞でXとBlueskyの埋め込みを補うWorker

X/Twitter と Bluesky の埋め込みを修正してください! Discord、Telegram などで複数の画像、ビデオ、投票、翻訳などを使用します。

スター 5,039フォーク 223TypeScriptMIT

ひと目でわかる

これは何?
FxTwitter、FixupX、FxBlueskyを一つのTypeScriptリポジトリで運用し、DiscordやTelegram向けの投稿埋め込みを改善します。
誰に向いている?
FxEmbedは、チャットに貼ったX、Twitter、Blueskyの投稿で画像や動画などを表示しやすくしたい利用者と、Workerを自ホストしたい運用者向けです。公開サービスを使う場合はtwitter.comにfx、x.comにfixup、bsky.appにfxを付けたURLを実際のDiscordまたはTelegramで比較してください。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 1 日前です。
何の言語で書かれている?
主に TypeScript です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

1つのリポジトリにまとめられた3つのサービス

FxEmbed リポジトリは FxTwitter、FixupX、FxBluesky の 3 つのサービスをまとめた場所です。X、Twitter、Bluesky のリンクを Discord や Telegram などのチャットアプリに貼り付けたとき、埋め込みに投稿のすべての内容が含まれないことがあります。README の冒頭では、FxEmbed が X/Twitter と Bluesky の埋め込みを修正し、Discord、Telegram などで複数の画像、動画、投票、翻訳などを利用できるようにすると書かれています。リポジトリは TypeScript で書かれており、メタデータによるとスターは 4,866、フォークは 201、未解決の issue は 60 です。README の副題も、このリポジトリが 3 つのサービスの本拠地であるとしています。

READMEが示す使い方

README の使い方は非常に短いです。twitter.com のリンクにはリンクの前に fx を付け、x.com のリンクにはリンクの前に fixup を付け、bsky.app のリンクにはリンクの前に fx を付けます。README には変換後の URL や例が示されていないため、接頭辞がドメインを置き換えるのか、完全な URL の前に置くのかはソースからは確認できません。クライアント側で何かをインストールする必要があるという記述もありません。サービスは共有前にリンクを書き換えることで使います。この 3 つのルール以外に、リダイレクトの仕組み、キャッシュの有無、ログインや料金の要不要について README は触れていません。

ドキュメント、API、セルフホスティングへの案内

README はサービスの中身を説明する代わりに、3 つの外部リソースへのリンクを貼っています。1 つ目は docs.fxembed.com のドキュメント、2 つ目は docs.fxembed.com/api/introduction の API リファレンス、3 つ目は docs.fxembed.com/deployment のセルフホスティングガイドです。リポジトリのメタデータも docs.fxembed.com をホームページとして登録しています。README 自体には API エンドポイント、設定例、デプロイ手順が含まれておらず、詳しい情報が必要な人はリンク先を開くしかありません。レート制限、認証要件、ホスティングの選択肢についても README には書かれていません。

ライセンスとコントリビューション

このリポジトリは MIT ライセンスで公開されており、README はそのライセンスを permissive と表現しています。ライセンス本文は、ソフトウェアのコピーを使用、複製、変更、統合、公開、頒布、サブライセンス、販売する権利を認めていますが、すべてのコピーまたは重要な部分に著作権表示と許可表示を含める必要があります。著作権表記には dangered wolf と FxEmbed コントリビューター、期間は 2022 年から 2026 年とあります。また、ソフトウェアは現状のまま提供され、いかなる保証もなく、著作者は損害について責任を負わないとされています。README は pull request を歓迎しています。ただし、セキュリティ更新やサポート、保守の義務についてはライセンスにも README にも明記がありません。

プロジェクトの状態と問題報告

リポジトリのメタデータには、スター 4,866、フォーク 201、未解決の issue 60 とあり、アーカイブされておらず、デフォルトブランチは main です。README にはスター履歴のグラフがありますが、リリース予定やロードマップはありません。問題がいつ修正されるかはリポジトリから判断できません。問題やバグがあれば、README は GitHub で issue を開くように指示しています。また、Antonio32A が作成し Syfaro、Deer Spangle、dangered wolf が改良した複数画像合成ツール Mosaic への謝辞と、プロジェクトに貢献した全員への感謝が書かれています。サポートチャンネル、行動規範、セキュリティ報告の手順は README にはありません。

商標に関する免責とREADMEが触れていない点

README には、Twitter、Tweet、X は X Corp の商標であり、FxEmbed は X Corp または Twitter とは一切関係がないという免責事項が含まれています。Bluesky に関する同様の声明はなく、レート制限、データ保持、プライバシー、稼働率、パフォーマンスについても触れられていません。README には status.fxtwitter.com のステータスバッジがありますが、ステータスページ自体はリポジトリの外にあるため、現時点の値をここで確認することはできません。稼働保証や障害対応の手順についての記述もありません。それらの情報が必要な場合は、ステータスページかドキュメントサイトを確認するしかありません。

確認用の入力は、通常の投稿、複数画像、動画、投票、引用、翻訳を含むURLに分けます。公開エンドポイントと自ホストの `curl -H Host` の応答を比較し、期待するOG情報が返るか、秘密情報がレスポンスやログへ出ないかを確認します。Cloudflare WorkerをWrangler経由で動かす構成なので、AlpineではなくREADME指定の `node:24-bookworm-slim` を使い、`.env`を変更した後に再ビルドが必要なことも手順に含めます。ステータスバッジは稼働率の契約を意味しないため、障害時の連絡先とデータ取り扱いは別に確認します。

編集部の結論

FxEmbedは、チャットに貼ったX、Twitter、Blueskyの投稿で画像や動画などを表示しやすくしたい利用者と、Workerを自ホストしたい運用者向けです。公開サービスを使う場合はtwitter.comにfx、x.comにfixup、bsky.appにfxを付けたURLを実際のDiscordまたはTelegramで比較してください。自ホストでは`.env`、`wrangler.toml`、`branding.json`を用意して `docker compose up -d --build` を実行し、Hostヘッダー付きのcurlが8787番ポートで期待するrealmを返すかを確認します。READMEは料金、保持期間、レート制限、稼働保証を説明していないため、その条件を必要とする用途ではdocs.fxembed.comと運用者の情報を別途確認します。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
コミュニティノート

コミュニティノート