~~NOCACHE~~ ~~DISCUSSION~~ ## AutoGate [[https://drive.google.com/file/d/1I2pvsFOORRtf6OhB5wOqlPh8In5GiiBp/view?usp=sharing|AutoGate]] ## 概要 出勤時などに、登録しておいた業務サイトへのログインをまとめて自動化するChrome拡張機能です。 グループ(親)の下にサイト(子)をぶら下げて登録し、ポップアップから「まとめて実行」を押すだけでログインまで済ませます。 ID/PASSは平文保存せず、サイトごとに「制限あり(実行のたびにマスターパスワードが必要)」「制限なし(無言で自動実行)」を選べます。 ## 画面イメージ ### ポップアップ(実行画面) 拡張機能アイコンをクリックすると出る画面。グループ単位・サイト単位で実行できます。 {{.:pasted:20260727-143919.png?nolink 200}} ### 設定画面 左でグループ・サイトの登録/編集、右で親子構成(マクロ一覧)を確認できます。 セレクタは[[GetSelector|CSSセレクタの取得]]を参考に取得します。 {{.:pasted:20260803-110232.png?direct 500}} --- ## 主な機能 ### 🔑 2段階のセキュリティレベル - **制限あり**: 実行のたびにマスターパスワードの入力が必須。マスターパスワードはどこにも保存されず、その場でPBKDF2により鍵を導出します。 - **制限なし**: ポップアップから無言で自動実行(端末内に保存した専用の鍵で復号)。機密性が低いサイト向け。 - 保護レベルは**グループ単位で既定値を設定**し、**サイトごとに個別上書き**も可能(継承/個別あり/個別なしの3択)。 - **マスターパスワードの変更**にも対応。変更すると、制限ありサイトのID/PASSは自動的に新しいパスワードで再暗号化されるため、サイトの再登録は不要です。 ### 🗂 グループ/サイトの階層管理 - グループ(親)の下にサイト(子)をぶら下げるツリー構造。 - グループ・サイトそれぞれに▲▼ボタンがあり、表示順を並び替え可能。 - サイトは「移動」ボタンで、後から別のグループへ付け替え可能。 - グループごとに**「並列実行」**を設定可能。ONにすると「まとめて実行」時に子サイトを同時に実行し、1件が詰まっても他のサイトの実行を巻き込みません(既定はOFF=今まで通り1件ずつ順番に実行)。 ### ⚙️ 4つのログイン方式 - **credentials型**: ID(またはメールアドレス)とPASSを自動入力し、送信ボタンをクリック。パスワード欄が無いサイト(メールアドレスのみで続ける形式)にも対応。 - **two-step型**: 2段階に分かれたログイン(Googleアカウント等)向け。1段階目(メールアドレス等)を入力して次へをクリック→ページ遷移を待ってから、2段階目(パスワード等)を入力して次へをクリックする。 - **sso-click型**: 「Googleでログイン」等のボタンをクリックするだけ(既にそのサービスにログイン済みの前提)。 - **manual型**: タブを開くだけ。人の操作が必須なサイト向け。 - サイトごとに「実行遅延(秒)」を設定可能。表示が遅いSPA(React等)のサイトでも、待ってからフォーム入力できます(two-step型は1段階目・2段階目それぞれに待機秒数を設定可能)。 - **自動判定**にも対応。ONにすると、入力欄が実際にページへ現れるまで無期限に待ってから、さらに実行遅延の秒数だけ待って入力します。日によって表示が重くなるサイト向け(通常は実行遅延の秒数だけで十分な場合が多いです)。 ### 💾 バックアップ(エクスポート/インポート) - 全グループ・全サイト・暗号化済みID/PASSを、パスワード保護された1つの文字列にまとめてエクスポート可能。 - 拡張機能の読み込み場所(フォルダ)を変えるなどでデータが引き継げなくなった場合も、インポートで復元できます。 --- ## 基本操作 ### 初回セットアップ 1. 拡張機能アイコン →「設定画面を開く」 2. マスターパスワードを設定(8文字以上。どこにも保存されないため、忘れると制限ありサイトの情報は復元できません) 3. 「グループを追加」で分類(例: 業務ツール類)を作成 4. 「サイトを追加」でログイン先を登録 ### サイトの登録 - ログインページを開き、F12で開発者ツールを起動 - ID欄・PASS欄・送信ボタンを右クリック →「検証」→ Elementsパネルで右クリック →「Copy → Copy selector」 - 複雑なセレクタが取れてしまった場合は、Consoleタブで対象要素を選択し `$0.outerHTML` を実行して属性を確認し、`id`や`data-testid`など安定した属性を優先して自分で組み立てるとよい - ログイン方式(credentials/two-step/sso-click/manual)を選び、制限あり/なしを設定して保存 - 表示が重い日があるサイトは、実行遅延の秒数を長めにするか、「自動判定」もあわせてONにしておくと安定しやすい ### マクロの実行 - ポップアップでグループの「まとめて実行」、またはサイト単体の「実行」を押す - 制限ありサイトが含まれる場合のみ、マスターパスワードの入力を求められる(1回の実行内では親子まとめて1回だけ) - 制限なしのみの場合は何も聞かれず実行される - グループを「並列実行」にしている場合、子サイトは同時に実行される ### 設定画面を開くとき - 改ざん防止のため、設定画面を開くたびに毎回マスターパスワードの入力が必要(実行時とは別の確認) ### マスターパスワードを変更したいとき - 設定画面の「マスターパスワードの変更」から、現在のパスワードと新しいパスワードを入力する - 制限ありサイトはすべて自動的に新しいパスワードで再暗号化されるため、サイトの再登録は不要 --- ## トラブルシューティング ### Q. 実行してもフォームに何も入力されない - サイトがSPA(React等)の場合、タブの読み込み完了直後はまだフォームが描画されていないことがあります。サイトの「実行遅延(秒)」を増やすか、「自動判定」をONにしてみてください。 - Googleアカウントのように、ID入力→ボタン→画面遷移→PASS入力→ボタン、という2段階に分かれたログインは**two-step型**で対応できます。 - ログインフォームが`