# 🔖 ブックマーク番人 v1.2.0

GOM Player などが勝手に追加してくるブックマーク（アリエクスプレス／アゴダなど）や、
勝手に作られるブックマークフォルダ（Chrome の「ショッピング リスト」など）を、
自動で検出して削除する Chrome 拡張機能です。

---

## インストール手順

1. この zip を解凍し、`bookmark-guard` フォルダを**削除しない場所**に置く
   （例: `C:\Users\ユーザー名\Documents\chrome-ext\bookmark-guard`）
   ※ フォルダを消したり移動すると拡張機能も無効になります
2. Chrome で `chrome://extensions` を開く
3. 右上の「**デベロッパー モード**」をオンにする
4. 「**パッケージ化されていない拡張機能を読み込む**」をクリック
5. 解凍した `bookmark-guard` フォルダを選択

読み込むと自動で1回スキャンが走り、該当するブックマークが削除されます。

---

## 使い方

ツールバーのアイコン（または `chrome://extensions` の「詳細」→「拡張機能のオプション」）
から設定画面を開けます。

| 機能 | 説明 |
|---|---|
| 自動削除のオン／オフ | 一時的に停止したいときに使用 |
| 削除キーワード | 1行に1つ。**ブックマーク**のタイトルまたは URL に部分一致で判定 |
| 削除するフォルダ名 | 1行に1つ。この名前の**フォルダ**が作られたら中身ごと削除（完全一致） |
| 今すぐ全体をスキャン | ブックマーク全体を手動で掃除 |
| 削除履歴 | 直近100件。何が消えたか確認できます |

### 既定のキーワード

```
알리익스프레스
아고다
gomlab.com
gomplayer
gomtv.com
```

GOM が入れてくるものは韓国語タイトルなので、これを既定にしています。
ご自身で普通に AliExpress や Agoda をブックマークしても消えません。

### 既定の削除フォルダ名

```
ショッピング リスト
ショッピングリスト
Shopping list
```

Chrome の「ショッピング リスト（価格追跡）」機能がブックマークバーに勝手に作るフォルダです。
名前が**完全一致**したフォルダだけを、中身ごと削除します。

> 根本的に止めるには `chrome://flags/#shopping-list` を **Disabled** にして Chrome を再起動してください。
> この拡張はあくまで対症療法です。

> ⚠️ `google` のような広く一致する語を追加すると、必要なブックマークまで
> 消えてしまいます。キーワードは具体的に指定してください。

---

## 動作の仕組み

- `chrome.bookmarks.onCreated` / `onChanged` を監視し、追加された瞬間に削除
- ブックマークはキーワード部分一致、フォルダは名前の完全一致で判定（フォルダは `removeTree` で中身ごと削除）
- Chrome 標準フォルダ（ブックマーク バー／その他／モバイル）は保護対象で消しません
- **インストール時**と**Chrome 起動時**に全体スキャン
- 定期スキャンは行いません（必要なら手動ボタンで実行）

権限は `bookmarks`（ブックマークの読み書き）と `storage`（設定の保存）のみ。
ネットワーク通信は一切行いません。

---

## 注意点

- デベロッパー モードの拡張は、Chrome 起動時に警告バーが出ることがあります（無視して問題ありません）
- 削除は Chrome の同期に反映されるため、ログイン中の他の端末からも消えます
- これは**対症療法**です。根本的に止めるには以下も併せて実施してください
  - タスクスケジューラ（`taskschd.msc`）内の `Gom〜` タスクを削除
  - タスクマネージャー →「スタートアップ」で GOM 関連を無効化
  - GOM Player 再インストール時は「カスタムインストール」を選び、
    「ブックマークに追加」のチェックを外す

---

## ファイル構成

```
bookmark-guard/
├── manifest.json                拡張機能の定義
├── background.js                監視・削除の本体
├── options.html                 設定画面
├── options.js                   設定画面のロジック
├── icon16 / icon48 / icon128    アイコン
└── README.md                    このファイル
```
