ChromeOS・Android・Linux向けの設定、コンテンツブロックフィルタ、UserScript、ChMate用正規表現、GitHub運用、更新・変換ツール、技術メモをまとめた個人用の試作Repository
Important
学習・検証結果の記録とバックアップを目的としています。ChatGPTで推敲・整理した内容や環境依存の情報を含むため、正確性・完全性は保証しません。
フィルタ、Script、設定、技術メモは自分の環境で確認したもので、一般向けの手順書・配布物を想定していません。
| 分類 | Workflow | 状態 |
|---|---|---|
| 品質検査 | Repositoryの品質検査 | |
| 生成・同期 | uB-filter-by-kdroidwinの同期・AdGuard向け変換 | |
| バージョン | AdGuardのVersion日時検査 | |
| バージョン | Version日時の更新(日本標準時) | |
| 保守 | AdGuard変更履歴の更新 | |
| 保守 | NG Word Regex for ChMate のVersion更新 |
主要なディレクトリ、原本、生成物、関連資料への導線をまとめています。
| 項目 | 主な内容 | 参照先 |
|---|---|---|
| AdGuard Custom Rules | AdGuard向けの個人用コンテンツブロックルール、DNSルール、関連する変更履歴 | README / コンテンツブロックフィルタ / DNSフィルタ / 変更履歴 |
| uB-filter-by-kdroidwin (AdGuard Optimized) | 上流フィルタをAdGuard向けに変換した自動生成物 | README / 生成フィルタ |
| UserScript | 𝕏・YouTube・GIGAZINEなどの表示や挙動を調整する個人用UserScript | README / ディレクトリ |
| NG Word Regex for ChMate | ChMateで使用するJava正規表現 | README / 正規表現 |
| Markdown Notes | ChromeOS、Android、Linux / Linux Mint、Googlebook、GitHub、コンテンツブロック、DNSなどの学習・調査メモ | README / ディレクトリ |
| config / upstream | 変換能力の定義、上流情報の追跡・ミラー | config / upstream |
| scripts / tests | フィルタ変換・更新処理、整合性検査、回帰テスト | scripts / tests |
| GitHub Actions | 品質確認、同期、変換、変更履歴の追跡などのWorkflow | Actions |
| License | Repository全体のライセンス情報 | LICENSE / LICENSES.md |
Note
ルートのdist/にあるフィルタは自動生成物です。生成物を直接編集せず、元ルールまたは変換Scriptを修正して再生成します。
- ChromeOS・Androidで使うブラウザ拡張機能やアプリの選び方、AdGuard・DNSによるコンテンツブロック、プライバシー・セキュリティの設定をまとめた個人用のガイドです。
- ChatGPT・Codexの活用方法やプロンプト例、利用中のサービスで起きた不具合と対処の記録も掲載しています。
- AndroidアプリにPatchを適用して機能や表示を調整する各プロジェクトと、適用に使うManagerの違いを説明しています。
- 公式の入手先、対応APK・Patchの確認、導入・更新・バックアップ、不具合の調べ方をまとめています。
- 旧URVからUPMへの移行、設定JSONとは別に保存する署名用Keystore、Runtime Pluginの要件、Morpheの動画再生設定も扱っています。
- 掲示板アプリChMateの公式配布元と対応環境、板の登録、ログの保存・バックアップ、NG設定、操作・表示、プライバシー・広告について説明しています。
- 関連ツールのIOMateとHaiagaru-Morpheは、ChMate本体と区別して用途・対応Version・導入方法を案内し、Haiagaru-Morpheの更新・データ移行・不具合の検証手順もまとめています。
- ChromeOSでの動作保証がない点も明記しています。
AdGuard Custom Rules/AdGuard DNS Custom Rulesの変更時は、変更したファイルの! Version:をJSTの現在時刻(YYYYMMDDHHMM)へ同じCommit内で更新します。- ルートの
dist/は自動生成物のため、直接編集せず、原本または変換処理を修正して再生成します。 AdGuard Custom Rules/ChangeLog/とupstream/は上流情報の追跡・ミラー用で、取得Scriptや追跡設定から更新します。Markdown Notes/やChatGPTで推敲した内容は、重要な技術情報を可能な限り一次情報・公開ソース・対象バージョン・実環境で再確認します。
GitHub Actionsで、更新処理・変換・品質確認を自動化しています。
- フィルタ・コードの整合性、回帰テスト、構文・Lintを自動検査します。
- GitHub Actions Workflowの安全性・構文、UserScriptのJavaScript構文、大量の内容消失も品質検査で確認します。
- 対象ディレクトリの変更をmainへpushします。
- push後、コメントだけの編集も含め、
AdGuard Custom Rules、Markdown Notes、NG Word Regex for ChMate、UserScriptの対応するVersion MetadataをGitHub ActionsでJSTの現在時刻へ同期します。 - push時に同期が起動しなかった場合に備え、品質チェック完了後の実行、15分おきの定期実行、手動実行でも最新mainの未同期の変更を確認します。Versionだけを更新済みのファイルは再更新しません。
- AdGuard Custom Rules / AdGuard DNS Custom Rulesでは、Pull Request内の各Commitを検査し、ルール変更と! Version:の更新が同じCommitに含まれていることをCIで検証します。
- Workflow失敗時は原因を確認して修正し、必要に応じて再発防止策を反映します。
- uB-filter-by-kdroidwin (AdGuard Optimized)の定期同期・変換を行います。
- AdGuard公式の変更履歴を定期確認します。
ローカルで主要な検査を実行する場合:
npm ci
python -m pip install -r requirements-ci.txt
python scripts/check_adguard_filter_integrity.py
python scripts/check_workflow_safety.py
python scripts/check_repository_terminology.py
bash scripts/check_workflow_syntax.sh
python scripts/check_adguard_user_rule_edit.py
python -m unittest discover -s tests -v
npm run lint:markdown
npm run lint:adguardMarkdownの行末にスペース1つが残ると、CIのMD009検査が失敗します。改行を表すスペース2つは保持してください。npm run lint:markdown:fix で自動修正し、差分を確認してからステージします。
Commit前にも同じ検査を行う場合は、npm ci の後に npm run hooks:install を実行します。この設定は、このクローンの core.hooksPath を .githooks に変更するため、独自のフックがある場合は先に統合してください。フックはステージ済みの内容を一時ディレクトリへ取り出して検査し、未ステージの修正で問題が隠れることを防ぎます。GitHubのWeb編集などローカルフックを通らない変更も、既存のCIで検査します。
- このRepositoryは、個人の学習記録、検証ログ、設定バックアップとして維持します。
- 技術情報を確認する際は、対象プロジェクトの公式ドキュメント、公式Repository、公開ソース、変更履歴、Issuesなどの一次情報を優先します。
- 互換性を推測だけで拡張せず、必要な検証や回帰テストを行ってから変換処理・設定を変更します。
- 誤ブロック、互換性、視認性、性能、保守性、プライバシーなどのトレードオフを考慮します。
- 自動生成物は原則として直接編集せず、原本または変換処理を修正して再生成します。
- 製品のUI名や機能名を記載する場合は、可能な限り対象バージョンの公式表記に合わせます。
本文の説明は、読みやすさを優先して原則として日本語で記述します。
一方、IT・ソフトウェア開発・GitHub・コンテンツブロック等の分野で英語表記が一般的な用語、製品名、機能名、プロジェクト名、ディレクトリ名、ファイル名、コード識別子については、無理に日本語化せず原則として英語表記を優先します。
特に以下の名称は正式な英語表記を維持します。
- AdGuard Custom Rules
- uB-filter-by-kdroidwin (AdGuard Optimized)
- UserScript
- NG Word Regex for ChMate
- Markdown Notes
- GitHub Actions
- Workflow
- Commit
- Pull Request
- Issue
- Branch
- CI
- Lint
- Script
- Test
Commit messageおよびPull Requestでは、日本語の説明文と英語の正式名称を組み合わせる形式を基本とします。英語のみのCommit titleも、正式名称と意味が明確であれば使用できます。
例:
Markdown Notes のVersion自動更新処理を修正
AdGuard Custom Rules の生成処理を修正
Update Markdown Notes Version
製品名、コード識別子、コマンド、設定キー、Metadata key、URL、ファイル名、ディレクトリ名、購読先Pathなどは、互換性と参照の一貫性を保つため原表記を維持します。
公式文書・公式UI・Upstreamで正式な表記が存在する場合は、その表記を優先します。品質検査、自動更新、変更履歴、生成処理、構文検査、回帰テスト、設定、説明、注意事項など、自然な日本語として読みやすい一般説明まで機械的に英語化しません。
ライセンス原文、公式変更履歴の原文ミラー、検証用の原文引用も保持します。UserScriptの日本語表示名には@name:jaを使い、更新時の識別に必要な既存の@nameと@namespaceは維持します。