==============================================================
 SPING v2.2.2 — Speaking PING / ネットワーク疎通モニタ
 Copyright (c) 2026 株式会社ITSN  All rights reserved.
==============================================================

ネットワーク機器の疎通状態を ICMP / TCP / HTTP で監視し、
状態変化を SAPI5 音声 + Windows トースト で通知する常駐ツール。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
 1. インストール
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

  1. この ZIP を任意の作業フォルダに展開
  2. install.bat をダブルクリック (管理者権限不要)
     → %LOCALAPPDATA%\Programs\SPING へ展開
     → スタートメニューにショートカット作成
     → 「デスクトップに作成?」「起動?」 を Y/N で選択
  3. 初回起動で %APPDATA%\SPING\config.json が無ければ
     sample-config.json から自動コピーされます

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
 2. クイックスタート (操作チートシート)
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

  画面構成
    [サイドパネル(左)] [メインコンテンツ(右、 監視一覧 + ライブログ)]

  ツールバー
    + 監視対象を追加 / 🔊 音声 ON/OFF / ⚙ 設定 / 📋 履歴
    📤 エクスポート / 🩺 診断 / ☰ プロファイルパネル開閉

  プロファイル (サイドパネル)
    ・ 「+」 で新規プロファイル作成
    ・ プロファイル右クリック → ＋監視対象を追加 / 開始 / 停止
                              / 名前変更 / 複製 / 削除
    ・ プロファイル選択 (またはダブルクリック)
        → メイン一覧をそのプロファイルに絞り込み
    ・ 「すべて表示」 で絞り込み解除

  常駐とトレイ
    ・ × / 最小化 → タスクトレイに格納 (監視は継続)
    ・ 完全終了はトレイ右クリック → 「終了」
    ・ 二重起動はガード

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
 3. config.json の主な項目
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

  version           = 2 (v1 は起動時に自動マイグレーション。
                         config.json.v1.bak に退避)
  global
    default_interval_ms / default_timeout_ms
    default_success_threshold / default_failure_threshold
    speak_initial_state                    (起動直後の確定を読み上げるか)
    voice / speech_rate (-10..+10) / speech_volume (0..100) / muted
    log_level     = trace|debug|info|warn|error
    language      = auto|en|ja
    toast_enabled / toast_filter ("all"|"down"|"up")
    history_retention_days
    logging.rotation = daily|size|none
    logging.max_size_mb / retention_days / max_files

  profiles[]                                 ← v2.2.0 以降
    id / name / active (bool) / targets[]
      id, name
      protocol = icmp|tcp|http   (省略時 icmp)
      host     (icmp/tcp)
      port     (tcp 必須)
      url, expected_status (http)
      enabled
      interval_ms / timeout_ms / success_threshold / failure_threshold
      template_down / template_up   ({name} 置換)

  config 変更は監視中でも自動反映 (ホットリロード)。
  language 変更のみ 次回起動時に反映。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
 4. ログ / 履歴 / 統計 / エクスポート / 診断
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

  ログ     %APPDATA%\SPING\logs\app.json.log         (JSON Lines)
  履歴     %APPDATA%\SPING\history\YYYY-MM-DD.jsonl  (FR-HISTORY)
  履歴 UI  ツールバー「📋 履歴」 → 期間/対象/遷移フィルタ + 統計タブ
  エクスポート ツールバー「📤」 → 履歴/統計 CSV・JSON、 ログ/config コピー
  診断 ZIP   設定 → 「診断」 → ZIP 出力 (環境/SAPI5/config/状態/ログ/HC)

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
 5. アンインストール
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

  %LOCALAPPDATA%\Programs\SPING\uninstall.bat
    ・ SPING.exe 停止 → install dir 削除 → ショートカット削除
    ・ 自動起動レジストリ削除
    ・ %APPDATA%\SPING (設定 + ログ + 履歴) は Y/N で選択

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
 6. ライセンス
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

  プロプライエタリ (詳細は同梱の LICENSE)。
  サードパーティ: Newtonsoft.Json (MIT) / Costura.Fody (MIT)。
