中国拠点のXアカウント自動ミュート
概要
X-Accounts-Based-in-China-Auto-Mute は、basedinchina.com のデータを利用して「中国拠点(based in China)」とされるXアカウントを自動でミュートするユーザースクリプトです。Tampermonkey 等のユーザースクリプトマネージャ上で動作し、タイムラインやプロフィール表示のDOMを監視して対象アカウントを検出すると、ユーザーの手間を介さずにミュート操作を行う(もしくはミュートの候補を自動的に隠す等)仕組みを提供します。導入手順やスクリーンショットは README に丁寧に記載されており、軽量な実装でブラウザ側で完結します。
リポジトリの統計情報
- スター数: 18
- フォーク数: 1
- ウォッチャー数: 18
- コミット数: 6
- ファイル数: 4
- メインの言語: JavaScript
主な特徴
- basedinchina.com のデータを参照して中国拠点アカウントを判定
- Tampermonkey 用の userscript(mute_wumao.user.js)として提供
- ブラウザ上で動作する軽量な実装で導入が容易
- X のUI変化に合わせたDOM監視で自動的に対象を検出
技術的なポイント
このプロジェクトは、ブラウザ拡張ではなくユーザースクリプト(Tampermonkey等)として配布される点が重要です。ユーザースクリプトはページ上で直接 JavaScript を注入して動作するため、X(Web)側の要素をリアルタイムに監視・操作できます。一般的には次のような技術要素が想定されます。
- データ取得: basedinchina.com の公開データやAPI(もしくはスクレイプ用のエンドポイント)へ fetch を行い、対象アカウントの一覧や判定情報を取得します。外部サイトへのリクエストは同一オリジン制約やCORSの問題があり、Tampermonkey の @connect 指定や GM.xmlHttpRequest を使った実装がよく使われます。
- DOM監視: X のタイムラインやプロフィールカードは動的に追加・削除されるため、MutationObserver を使って新しいツイートカードやユーザー要素を監視します。対象要素が検出されたら、DOMからスクリーン名やユーザーID、プロフィールリンクを抽出して判定に回します。
- ミュート操作: 実際の「ミュート」には2通りのアプローチがあります。1) X の公開API(認証済みの内部エンドポイント)を直接叩いてサーバー側でミュートする方法、2) UI上のミュートボタンを擬似的にクリックすることでユーザー操作を自動化する方法。ユーザースクリプトは通常2)に頼ることが多く、XのUI構造変更に弱い点があります。
- レート制御とキャッシュ: basedinchina の判定を都度行うと過剰なリクエストになり得るため、ユーザースクリプト側でローカルストレージ(GM_setValue/Gm_getValue など)に判定結果をキャッシュするのが有効です。また、頻繁なDOMイベントに対してはデバウンスやスロットリングを入れて負荷を抑える実装が望ましいです。
- フォールバックと表示制御: ミュートに失敗した場合やAPIが使えない場合に備え、CSS で対象ツイートを非表示にする、あるいは視覚的なバッジを付けるといったフォールバックを用意するとユーザービリティが向上します。
- 保守性: X のフロントエンドは頻繁に更新されるため、セレクタやクリックシミュレーションに依存する実装は脆弱です。選択的にユーザーに確認を促す設定や、ログ出力で問題箇所を特定しやすくしておくと長期運用がしやすくなります。
このリポジトリの実装ファイルは mute_wumao.user.js のみで、実際の挙動はそのスクリプト内に書かれています。README には Tampermonkey のインストール、開発者モードの有効化など導入手順のスクリーンショット付き説明があり、非エンジニアでも導入できる配慮があります。一方で、外部データ依存とUIの脆弱性、ブラウザ側の権限(Tampermonkey の拡張権限設定)に注意が必要です。
プロジェクトの構成
主要なファイルとディレクトリ:
- LICENSE: file
- README.md: file
- mute_wumao.user.js: file
- pictures: dir
READMEの抜粋(要点)
- プロジェクト名: X-Accounts-Based-in-China-Auto-Mute
- 説明: Auto Mute X Accounts Based in China. Using basedinchina.com
- 作者: @trailblaziger
- 簡単な導入手順:TampermonkeyをChromeにインストールし、拡張機能ページで開発者モードを有効化してからユーザースクリプトを追加する流れが説明されています。導入中のスクリーンショット(install-tampermonkey.png 等)も提供されており、手順は視覚的にも分かりやすくなっています。
まとめ
X上の中国拠点アカウントを basedinchina.com のデータで自動的に処理する、導入しやすいユーザースクリプトです。軽量で即効性がありますが、X側のUI変更や外部データ連携の不安定さには注意が必要です。
リポジトリ情報:
- 名前: X-Accounts-Based-in-China-Auto-Mute
- 説明: Auto Mute X Accounts Based in China. Using basedinchina.com
- スター数: 18
- 言語: JavaScript
- URL: https://github.com/anonym-g/X-Accounts-Based-in-China-Auto-Mute
- オーナー: anonym-g
- アバター: https://avatars.githubusercontent.com/u/141211304?v=4