Anti Copypaste Spam 導入ガイド
================================

これは何？
- 掲示板（特に二次元板/Futaba系）で、過去スレ引用や定型コピペなどの「コピペ荒らし」を検出し、薄表示・非表示にできます。
- 学習（ページ全体の取り込み）はツールバーのポップアップから実行できます。

動作環境
- Google Chrome（推奨）/ Microsoft Edge など、Manifest V3 対応ブラウザ。
- インターネット接続は不要（ユーザー操作時の「ページから学習」を除く）。

インストール手順（ZIPから）
1) 受け取った ZIP を任意のフォルダに解凍します（例: デスクトップにフォルダを作成）。
2) ブラウザで拡張機能ページを開きます。
   - Chrome: アドレスバーに「chrome://extensions/」
   - Edge  : アドレスバーに「edge://extensions/」
3) 右上の「デベロッパーモード」をオンにします。
4) 「パッケージ化されていない拡張機能を読み込む」をクリックし、1)で解凍したフォルダ（manifest.json がある場所）を選びます。
5) 一覧に「Anti Copypaste Spam」が表示され、有効になっていれば完了です。

まず最初に（おすすめの学習）
- まずは初期データの取り込み（任意・推奨）：オプション画面を開き、「バックアップ/その他」タブ→「インポート」で、同梱の kakolog_sample.json を取り込んでください。初期のブロック対象（過去スレの文面）が登録され、検出の効果をすぐに体感できます。
- コピペの疑いがあるレスを見つけたら、その文面を過去ログサイトで全文検索してください。
- 該当スレ（過去ログ）が見つかったら、そのページでツールバーの拡張アイコンをクリックし、ポップアップの「このページから学習」を実行します。開いているページ内の“投稿本文”が一括で学習され、以後の検出に活用されます（ふたばフォレスト等の過去ログでも可）。

アップデート方法
- 新しい ZIP で同じ手順を行うか、拡張機能ページの「再読み込み」ボタンを押します。
- フォルダを置き換えた場合は、拡張が参照するフォルダが最新であることを確認してください。

基本的な使い方
- 対象サイトのページを開くと自動で検出が行われ、設定された方法（薄表示／非表示）で表示が変わります。
- 検知時は投稿上部にコントロールバーが表示され、「この文面を許可／許可を取り消す」で当該文面をホワイトリストに登録・解除できます。
- 表示方法の切り替えはポップアップから全体設定（薄表示／非表示）のみ対応します（投稿ごとの切り替えはありません）。
 - スレッドの最初の投稿（スレ主の書き込み）は、誤検知を避けるため検出対象外です。

学習機能 / ブロック登録
- 右クリック「マウスカーソルの位置のレスをコピペブロック登録」で、ホバー中のレス本文（または選択していれば選択テキスト）を無条件ブロックに登録できます。
- ページ全体の学習はポップアップから「このページから学習」を実行してください。

オプションの開き方
- ツールバーの拡張機能メニューから設定ページを開けます。
  または、拡張機能ページ（chrome://extensions/）で「詳細」→「拡張機能のオプション」。
  

主な設定項目
- 有効化: 拡張のON/OFF。
- 最小テキスト長: この値以下の文字数の投稿は検出対象外にします。
- 検出されたコピペの表示方法: 「薄表示／非表示」から選択
- 以下の文字が挿入されてもコピペとみなす: 入力した各文字は一致判定前に除去します（例: ".,␣。" など）。
- メディア容量で規制: 拡張子・条件（未満/以上/範囲）・値（B）を複数登録し、いずれかのルールに一致したレスは「薄く表示/非表示」で規制します（サイズが取得できた場合に適用）。
- （過去）スレから学習した許可しないレス: 過去スレごとの表示・削除、全削除（バックアップでまとめて入出力可）。
- 無条件に許可しないレス: 最小テキスト長に関係なく完全一致で検出・ブロック。過去スレごとの表示・削除、全削除。

データのバックアップ
- オプション下部の「データのバックアップ」で、設定・通常/短文リスト・重複しても許可するレス（完全一致）をまとめてエクスポート/インポートできます。
- 旧形式（通常リストのみの配列JSON）もインポート可能です。
- 重複しても許可するレス: 完全一致した投稿は検出から除外（エクスポート/インポート対応）。

よくある質問 / トラブルシューティング
- ボタンが出ない／動かない:
  - ページを更新してみてください。
  - 他の拡張と干渉している場合があります。一時的に無効化して切り分けてください。
- 検出されない:
  - 「最小テキスト長」や「メディア閾値」の設定もご確認ください。
- ページからの学習が失敗する:
  - ブラウザがサイト権限を求めたら許可してください。
  - 通信失敗や特殊な文字コードのページでは取得できない場合があります。

権限とプライバシー
- 使用する権限: storage, contextMenus, scripting, activeTab。
- サイト権限は「ページから学習」を実行したときに、そのページのドメインに限って個別に要求します。
- 収集したデータ（学習した文面）はブラウザ内にのみ保存され、外部へ送信されません。

アンインストール
- 拡張機能ページで「削除」をクリックするだけです。ローカル保存の学習データも併せて削除されます。

既知の制限
- サイト構造によっては検出がうまく働かない場合があります。

権利
- 改良・再配布OK、むしろ推奨
