1. プロジェクト概要
CleanYourTV は、Android TV および Google TV 向けのオープンソースツールキットです。Wi-Fi 経由でプリインストールされた不要アプリ(ブロートウェア)、広告、テレメトリを無効化し、標準のホーム画面を軽量な Apple TV 風ランチャーに置き換えます。root 化もケーブル接続も不要で、アプリがアンインストールされることはなく、1行のコマンドで元に戻せます。
2. 背景と位置づけ
開発の経緯
多くのスマートテレビには、端末の動作を遅くしホーム画面を散らかすプリインストールアプリ、プロモーションコンテンツの行、広告サービス、バックグラウンドでのテレメトリ通信が含まれています。CleanYourTV は、ユーザーがすでに許可されている設定(組み込みの ADB デバッグ)のみを使用し、安全かつ元に戻せる方法で自分のテレビを管理できるようにします。
類似プロジェクトとの違い
- 設計上、元に戻せる: アプリは
pm disable-userで無効化されるだけでアンインストールされず、記録されたスナップショットにより1つのコマンドで復元できます。 - 端末を認識する: ブロート解除リストはブランドごとに異なるため、コーディングアシスタントがお使いのテレビを確認し、変更前に確認を求めます。
- ランチャー同梱: ブロート解除と代替ホーム画面が1つのプロジェクトにまとまっています(約497 KB、純粋な Java で記述、RAM 1 GB のテレビでも動作)。
- コミュニティで検証済みのリスト:
examples/フォルダーには、ユーザーから提供されたモデル別のブロート解除リスト(170機種以上)が格納されています。
3. 機能カテゴリ
🧹 ブロート解除と広告削除
root 権限なしでテレメトリ、広告サービス、コンテンツ行、プリインストールアプリを無効化します。
- インストール済みパッケージ一覧と設定のバックアップ
pm disable-userを用いた無効化(アンインストールは一切行いません)- 代替アプリなしでアクティブなホームアプリを無効化するのを防ぐ安全チェック
- ファームウェア更新で復元されたパッケージを検出する
check.py(--fixで再適用) - 記録された状態からの1行復元
📺 軽量ランチャー
Android TV および Google TV 向けの高速でミニマルな代替ホーム画面です。
- 黒い背景にお気に入りドックとアプリグリッド
- フォーカス中のアプリ名を表示するトップシェルフ
- ガラス風のフォーカスハイライトとすりガラス調のボタン(入力、ネットワーク、設定)
- CPU、メモリ、ストレージ統計を任意で表示できる時計スクリーンセーバー
- 右から左へ読む言語のミラーレイアウトを含む25言語対応
🎨 テーマとカスタマイズ
ランチャーを再ビルドせずに外観を自分好みに変更できます。
- 色、壁紙、ドック、列数を設定可能
default、aurora、six-columnsなどのテーマを同梱tools/theme.shでテーマを適用- リモコンキーのリマップとアプリライブラリ(任意)
🧩 アドオンとモジュールカード
任意のアプリでランチャーを拡張できます。
- 他のアプリがタイルを追加できるのはユーザーの承認がある場合のみ
- アドオンは
addons/フォルダーに配置 - アプリやアドオン用の詳細ページを cleanyour.tv に用意
🔒 プライバシーと安全性ツール
テレビがバックグラウンドで行っている処理を把握し、削減します。
privacy.pyが音声、ACR、テレメトリの候補を根拠とともに報告adb-closed.pyが処理後にネットワーク ADB ポートが閉じられていることを確認- プライベート DNS 経由でアプリ内広告をブロックする AdGuard DNS 設定(任意)
- 安全なリモート管理のための Tailscale(任意)
🛠️ 開発者向け・診断ツール
メンテナーやコントリビューター向けのユーティリティです。
- 純粋な Python 製の ADB クライアント兼プローブである
tv.py - パフォーマンスと表示の確認を行う
bench.py、trace.py、screendiff.py - デバイス管理用の
manage.py tests/内のテストスイート
4. 主な特徴
- root 不要、ケーブル不要: テレビに組み込まれたネットワーク ADB デバッグを使い、Wi-Fi 経由で動作します。
- 完全に元に戻せる: アンインストールは一切行わず、スナップショットベースの復元でテレビを以前の状態に戻せます。
- AI 支援ワークフロー:
PROMPT.mdを Claude Code、Codex、Gemini CLI などのコーディングアシスタントに貼り付ければ、約15分で全体のクリーンアップを案内してくれます。 - 超小型ランチャー: 約497 KB、純粋な Java で記述され、Android 8.0(API 26)以降を対象としています。
- 幅広いコミュニティ対応: TCL、Sony、Xiaomi、Philips などのブランドで170機種以上のテレビ向けに検証済みのブロート解除リストを提供。
- 標準でグローバル対応: 25言語のインターフェースに対応し、README は日本語、ベトナム語、簡体字中国語にも翻訳されています。
5. 役割別のユースケース
- 一般ユーザー・テレビ所有者: 技術的なリスクなく、より高速で整理されたホーム画面を利用できます。
- 一般の開発者: コンパクトなネイティブ Android TV ランチャーと、純粋な Python 製 ADB クライアントを学習できます。
- DevOps / SRE: スクリプトと Tailscale を使用して、多数のテレビやキオスク端末をリモート管理できます。
- セキュリティエンジニア:
privacy.pyでテレメトリ、音声、ACR の候補を監査し、その後 ADB が閉じられていることを確認できます。 - プロジェクトマネージャー・インテグレーター: 共通のブロート解除リストを使用して、一貫性のある広告非表示のサイネージやホスピタリティ向けディスプレイを準備できます。
6. クイックスタート
必要な情報を探す
examples/ 内のモデル別リストや docs/ 内のガイドを確認するか、https://cleanyour.tv にアクセスしてください。
インストール・統合
- テレビ側で開発者向けオプションと USB デバッグを有効にし、コンピューターと同じ Wi-Fi に接続したままにします。
PROMPT.mdをコーディングアシスタントに貼り付けてテレビのモデルを入力するか、以下の手動コマンドを実行します。
git clone https://github.com/Gathin23/cleanyourtv.git
cd cleanyourtv
python3 -m venv tools/venv && tools/venv/bin/pip install -r tools/requirements.txt
export TV_HOST=192.168.1.50
tools/venv/bin/python -I tools/tv.py --probe
tools/disable.sh examples/<model>/debloat.txt
TV_HOST=192.168.1.50 launcher/build-and-install.sh
tools/theme.sh themes/aurora
すべての変更を元に戻す場合:
tools/restore.sh examples/<model>/debloat.txt
コミュニティが開発した Android アプリを使えば、コンピューターなしでスマートフォンからクリーンアップを行うことも可能です。
コントリビュート
お使いのテレビモデル向けに検証済みのブロート解除リストを examples/ に追加し、CONTRIBUTING.md を読んでプルリクエストを作成してください: https://github.com/Gathin23/cleanyourtv/blob/main/CONTRIBUTING.md
7. プロジェクト構成
cleanyourtv/
├── addons/ # モジュールカードとして表示される任意のアドオンアプリ
├── docs/ # ガイド、仕様、トラブルシューティング、デバイスに関するメモ
├── examples/ # モデル別のブロート解除リスト
├── launcher/ # Android ランチャーのソースコードとビルドスクリプト
├── themes/ # テーマフォルダー(default、aurora、six-columns など)
├── tools/ # Python / シェルユーティリティ(tv.py、disable.sh、restore.sh、check.py、privacy.py)
├── tests/ # テストスイート
├── PROMPT.md # コーディングアシスタント主導のセットアップ用プロンプト
├── CONTRIBUTING.md
├── SECURITY.md
└── LICENSE
8. 関連エコシステム
- Android Debug Bridge (ADB): テレビを制御するために使用する仕組みです。
- コーディングアシスタント: Claude Code、Codex、Gemini CLI がガイド付きセットアップを進行できます。
- ビルドツールチェーン: ランチャー用に JDK 17 と Android SDK プラットフォーム 34、build-tools 34.0.0 を使用します。
- 任意のサービス: Tailscale(リモート管理)および AdGuard DNS(広告ブロック)。
- 関連プラットフォーム: Fire TV はブロート解除のみサポートしています。Samsung(Tizen)および LG(webOS)は異なるシステムであり、個別の注意事項で扱われています。
9. ライセンス
- ✅ MIT ライセンスの条件に従い、商用利用を含め、ソフトウェアの使用、複製、改変、配布が可能です(プロジェクト README に記載のとおり)
- ✅ ライセンス表記を保持した上で、自身のプロジェクトに組み込むことができます
- ❌ 保証は一切提供されません。作者は損害について責任を負いません
- ❌ いかなるテレビメーカーとも提携しておらず、推奨もされていません
- ℹ️ GitHub はライセンスを未認識(NOASSERTION)として報告しています。リポジトリ内の
LICENSEファイルを確認してください - ℹ️ Outfit フォントは SIL Open Font License の下にあります
10. よくある質問
Q: 安全ですか?また、元に戻せますか?
A: アプリは無効化されるだけで、アンインストールされることはありません。tools/restore.sh examples/<model>/debloat.txt を実行すれば元に戻ります。
Q: Fire TV、Samsung、LG のテレビでも使えますか?
A: Fire TV はブロート解除のみサポートしています。Samsung(Tizen)および LG(webOS)は異なるシステムのため、直接のサポート対象ではありません。
Q: ファームウェア更新で変更が元に戻ってしまうことはありますか?
A: 更新によってパッケージが再有効化される可能性があります。check.py を実行して変更点を確認し、--fix を追加してリストを再適用してください。
Q: コンピューターなしで実行できますか?
A: はい。コミュニティが開発した Android アプリにより、スマートフォンから同じクリーンアップを実行できます。
Q: 作業後も ADB を有効にしたままにすべきですか?
A: いいえ。ネットワーク ADB はポート5555で暗号化されていないため、完了後はオフにし、adb-closed.py で確認してください。
11. クイックリンク
- リポジトリ: https://github.com/Gathin23/cleanyourtv
- ウェブサイト: https://cleanyour.tv
- コントリビューションガイド: https://github.com/Gathin23/cleanyourtv/blob/main/CONTRIBUTING.md
- ディスカッション: https://github.com/Gathin23/cleanyourtv/discussions
- セキュリティポリシー: https://github.com/Gathin23/cleanyourtv/security
12. まとめ
CleanYourTV は、テレビ所有者に対し、root 化不要で Wi-Fi 経由のみでブロートウェア、広告、テレメトリを削除し、高速でクリーンなランチャーを導入できる、安全かつ元に戻せる手段を提供します。より高速で静かなホーム画面を求める Android TV または Google TV ユーザーはもちろん、学習や拡張に適したコンパクトで文書化されたコードベースを求める開発者やセキュリティエンジニアにも最適です。