CC Bridge Handler
この PC を cc-bridge.elc-gateway.com から操作できるようにする常駐アプリです。インストールしてペアリングすれば、 画面の取得・入力操作・ファイルのやり取りができるようになります。
ダウンロード
ソースからビルドする場合は
リポジトリの
clients/pc/packaging/ を参照してください。
インストールと設定
- DMG を開き、CC Bridge Handler を アプリケーション フォルダにドラッグします。
- アプリケーションフォルダから起動します。ダブルクリックでそのまま開きます。 Developer ID 署名と Apple の公証を通しているため警告は出ません。 DMG の中から直接起動しないでください — macOS が別の場所で実行するため、権限の許可が定着しません。
- メニューバー(画面右上)に橋のマークが出れば起動しています。 Dock にはアイコンが出ません。ウインドウも出ないのが正常です。
- 初回はセットアップ画面が自動で開きます。開かないときはメニューバーのアイコン → セットアップガイド…。
1. 接続先を入力する
セットアップ画面の 接続先 に https://cc-bridge.elc-gateway.com を入力して 保存 します。
初期状態では接続先は空なので、必ず入力してください。
接続先を変えると以前のペアリングは無効になります。
2. ブリッジとつなぐ(ペアリング)
- セットアップ画面の ペアリングする を押します。
- 8 桁の接続コードが表示され、ブラウザで承認ページが開きます。
- 管理コンソールにサインインします。
管理者はメール+パスワード、利用者は配布された
ccu_…トークンです。 - 表示されたコードを 承認 します。数秒でアプリが「接続中」になります。 利用者トークンで承認すると、その PC はその利用者のものになります。
3. 必要な権限を許可する
セットアップ画面に必要な権限が一覧で出ます。各行の 設定を開く から許可してください。
- 画面収録(必須)— スクリーンショット 未許可でもエラーにならず、壁紙だけの画像が返るので必ず確認してください。
- アクセシビリティ(必須)— マウス・キーボード・ウインドウ操作
- フルディスクアクセス(推奨)— デスクトップ・書類・ダウンロード内のファイル
- 自動化(推奨)— 他アプリのウインドウ操作。初回利用時に macOS が確認します
- 通知(任意)— 接続状態のお知らせ
許可したらアプリを完全に終了して起動し直してください。 メニューバー常駐のため、ウインドウを閉じるだけでは終了せず、許可が反映されません。
- setup.exe を実行します。管理者権限は不要です。 ユーザー単位インストールなので UAC は出ません。
- 「Windows によって PC が保護されました」と出たときは、詳細情報 を押し、発行元が「株式会社Game」になっていることを確かめてから 実行 を選んでください。 インストーラーには株式会社Game のコード署名が付いています。署名を始めて間もなく Microsoft 側の利用実績がまだ少ないため、この画面が出ます。ダウンロードのときに Chrome が警告を出すのも同じ理由です。
- 起動すると通知領域にアイコンが出て、はじめの設定(接続先 → 利用許諾 → サインイン)が開きます。各ステップは「後で行う」で飛ばせ、あとからセットアップ画面で続けられます。 アイコンが隠れている場合は通知領域の ∧ を開いてください。サインイン時の自動起動と異常終了からの復帰はアプリが自分で面倒を見ます。
- まとめて配布する場合は
setup.exe /ENDPOINT=https://cc-bridge.elc-gateway.com /VERYSILENTのように実行すると、接続先が入力済みの状態で無人インストールできます。
ブリッジとのつなぎ方は macOS と同じです。ペアリングする → 表示されたコードを管理コンソールで承認、で完了します。
Windows での権限について
Windows には macOS のような許可ダイアログがありません。 これは権限が弱いという意味ではなく、起動した時点で以下がすべて可能という意味です。 許可を求められない分、macOS より初期状態で強い権限を持ちます。
- サインイン中のユーザーとしてのコマンド実行(PowerShell / cmd)
- そのユーザーが読み書きできるすべてのファイル
- 画面全体の取得(許可設定なし)
- キーボード・マウス操作の送出
- 逆 SSH トンネル(この PC から外向きに接続。受信ポートは開きません)
実際の制限は次のとおりです。アプリは管理者権限では動きません(ユーザー単位インストール)。
そのため他ユーザーのファイルには触れず、管理者として実行中のアプリの画面操作もできません。
通信は外向きの WSS のみでファイアウォールの受信許可は不要です。
ペアリング情報は %APPDATA%\cc-bridge-handler\handler.json に保存されます。
ソースからビルドする
git clone https://github.com/gameagelayer/cc-bridge.git
cd cc-bridge\clients\pc\packaging\windows
powershell -ExecutionPolicy Bypass -File .\build.ps1Python 3.10 以上と Git が必要です。
winget install -e --id JRSoftware.InnoSetup を入れておくと
setup.exe も同時に作られます。
ブラウザ拡張(任意)
Chrome を操作対象に加えると、ページの読み取り・クリック・タブ操作ができます。 PC クライアントとは独立していて、どちらか一方だけでも使えます。
- ZIP をダウンロードして、任意のフォルダーに展開します。 削除すると拡張が無効になるので、残しておける場所に置いてください。
- Chrome で
chrome://extensionsを開き、右上の デベロッパーモード を ON にします。 - パッケージ化されていない拡張機能を読み込む を押し、展開したフォルダーを選びます。
- 拡張のアイコンから ペアリング を実行し、表示されたコードを この画面 で承認します。
拡張 ID は固定してあるため、フォルダーを移動しても再ペアリングは不要です。
うまくいかないとき
項目を開くと手順が出ます。コマンドは右上の「コピー」から取れます。
画面収録を許可しても、何度も聞かれる(macOS)
アプリを入れ替えたときに起きます。古い版の許可記録が新しい版と衝突していて、 許可しても反映されません。アプリを完全に終了してから、記録を消してやり直してください。
tccutil reset ScreenCapture com.gameagelayer.ccbridge.handlerそのあとアプリを起動し、出てきたダイアログで許可し、 もう一度終了して起動し直します。許可の反映には再起動が必要です。
アプリのコピーが複数あると、片方に許可してももう片方には効きません。
/Applications 以外のコピーは削除してください。
起動しても何も起こらない(macOS)
このアプリはメニューバー常駐型で、Dock アイコンもウインドウも出ません。 設定が済んでいれば、起動しても画面上は何も起こらないのが正常です。 画面右上に橋のマークがあれば動いています。
マークが見当たらないときは、起動しているか確かめてください。
pgrep -fl "CC Bridge Handler" || echo "起動していない"プロセスが見つかるのにマークが無い場合は、メニューバーの項目が多すぎて macOS が隠しています(ノッチ付きの Mac で起きます)。他のアイコンを減らしてください。
起動していない場合は、直接起動すると普段は隠れる起動時のエラーが表示されます。
"/Applications/CC Bridge Handler.app/Contents/MacOS/CC Bridge Handler"何も出ずに止まったままなら正常に起動しています(Ctrl+C で終了)。
起動直後に落ちる/セグメンテーション違反(macOS)
まず、この Mac の構成を控えてください。アプリは Apple Silicon 専用です。
uname -m; sw_vers; sysctl -n machdep.cpu.brand_stringアプリ側の対応アーキテクチャと突き合わせます。uname -m が
x86_64 なのにアプリが arm64 だけなら、それが原因です。
file "/Applications/CC Bridge Handler.app/Contents/MacOS/CC Bridge Handler"lipo ではなく file を使います。
lipo は Xcode のコマンドラインツールが要るので、入っていない Mac では
インストールを促すダイアログが出るだけで結果が得られません。
クラッシュレポートから原因を抜き出す
落ちた理由だけを取り出します。これが最も手がかりになります。
f=$(ls -t ~/Library/Logs/DiagnosticReports/*cc-bridge*.ips | head -1); tr "," "
" < "$f" | grep -E '"(exception|termination|asi|signal|type|subtype)"|EXC_|SIG|dyld|Symbol|Library' | head -30落ちた場所(どのライブラリの中で止まったか)も見ます。
f=$(ls -t ~/Library/Logs/DiagnosticReports/*cc-bridge*.ips | head -1); tr "{" "
" < "$f" | grep -E "imageIndex|symbol|CFBundleIdentifier" | head -20レポート全体が要るときは
f=$(ls -t ~/Library/Logs/DiagnosticReports/*cc-bridge*.ips | head -1); head -c 4000 "$f"
で先頭を取れます。ファイル名に空白が入るので、変数に入れて引用符で囲むのが確実です。
アプリ自身のログにも記録が残っていることがあります。 空なら、Python が動き出す前に落ちています。
tail -40 ~/.config/cc-bridge-handler/app.log出力をメモで送ってください。原因を特定します。
なお DYLD_PRINT_LIBRARIES は使えません — 署名済みアプリでは
macOS が DYLD_* を無視するため、何も出ません。
「ペアリング」「サインイン」を押しても何も起きない
失敗の理由が通知でしか出ないため、通知が未許可だと画面上は無反応に見えます。 まずアプリのログを見てください。
tail -40 ~/.config/cc-bridge-handler/app.log次に、この PC からブリッジに届いているかを確かめます。
200 が返れば通信は問題ありません。
curl -s -o /dev/null -w "%{http_code}\n" "https://cc-bridge.elc-gateway.com/client/eula"接続先が正しく入力されているか確認します。空欄や別のブリッジのままだと、
このブリッジにはペアリングできません。上の https://cc-bridge.elc-gateway.com になっているか見てください。
cat ~/.config/cc-bridge-handler/handler.json出力をメモで送ってください。 なお承認は別の PC からでもできます。手元のブラウザで 承認ページ を開き、アプリに出ている 8 桁を入力してください。
アクセシビリティが「許可済み」にならない(macOS)
まずアプリを完全に終了して起動し直してください。許可の反映には プロセスの再起動が必要で、メニューバー常駐のためウインドウを閉じるだけでは終了しません。
それでも変わらない場合、システム設定 → プライバシーとセキュリティ → アクセシビリティ に CC Bridge Handler が複数並んでいないか見てください。 アプリを入れ替えると古い項目が残り、そちらに許可が付いたままになります。 すべて削除(−)してからアプリを再起動すると、登録し直されます。
アプリから見えている状態はこれで確認できます。
tail -5 ~/.config/cc-bridge-handler/app.log; echo "---"; ls -d /Applications/"CC Bridge Handler.app"自動化と通知は「判定しません」と出ます。これは異常ではありません。 自動化は状態を調べるだけで確認画面が出て操作が止まってしまうため、 通知は状態取得に必要な仕組みを同梱していないため、どちらも意図的に調べていません。 自動化は初回の実利用時に macOS が確認します。
スクリーンショットが壁紙だけになる(macOS)
画面収録が未許可です。システム設定 → プライバシーとセキュリティ → 画面収録で許可し、 アプリを再起動してください。エラーにならず成功したように見えるのが厄介な点です。
操作したいアプリにキー入力が入らない(Windows)
相手のアプリが管理者として実行中の場合、同じ権限がないと操作できません(OS の仕様)。 このアプリはユーザー単位インストールで管理者権限を持たないため、 管理者として動いているアプリは操作対象外になります。
「認証が失効しました」と出る
ブリッジ側でペアリングが解除されています。セットアップ画面からもう一度ペアリングしてください。
ログを見たい
メニューの ログを表示 から開けます。ファイルの場所は次のとおりです。
- macOS —
~/.config/cc-bridge-handler/app.log - Windows —
%APPDATA%\cc-bridge-handler\app.log
メモを送る
詰まったところ、直してほしいところ、エラーの全文などを送れます。 匿名で、名前もメールアドレスも要りません。送った内容がこの画面に表示されることはありません。
お使いのブラウザと OS の情報だけ、原因を切り分けるために一緒に送られます。 返信はできないので、やり取りが必要なときは管理者に直接ご連絡ください。
リリースノート
- 画面が消えている(ディスプレイがスリープしている)端末でスクリーンショットを撮ると、Chrome がタブを描かないため撮影が終わらず、その後の操作がすべて止まることがありました。
- 撮影は 15 秒で打ち切り、「画面が消えているか、ウィンドウが隠れています」と返すようにしました。
- 1 つの操作が 2 分を超えて終わらないときは失敗として返し、次の操作に進むようにしました(録画は除く)。
- 0.9.2 の、前に出ていないタブを操作できる機能はそのままです。Mac / Windows のアプリは変わりません。
- これまで Chrome 拡張は、最後に使ったウィンドウで表示中のタブしか操作できませんでした。操作のたびにそのタブを前に出すので、使っている人の画面が切り替わっていました。
- 0.9.2 から、操作するタブを番号(tabId)で指定できます。指定したタブは前に出さずに操作するので、人が別のタブで作業していても画面は切り替わりません。指定しなければ、これまでどおり表示中のタブが対象です。
- 前に出ていないタブのスクリーンショットも撮れます。Chrome のデバッグの仕組みを使うので、撮るあいだ「デバッグを開始しました」の表示が出ます(JavaScript の実行と同じです)。
- 要素が出るのを待つ操作(waitForSelector)が、裏のタブでも遅れないようにしました。
- Chrome 拡張は自動では更新されません。配布ページから zip を取り直し、拡張のフォルダーを入れ替えて chrome://extensions で再読み込みしてください。拡張の ID は変わらないので、つなぎ直しは要りません。Mac / Windows のアプリは変わりません。
- Windows のインストーラーと本体に、株式会社Game のコード署名を付けました。Microsoft の Artifact Signing で署名しています。
- これまで Smart App Control が入っている端末では、インストーラーが何も出さずに終わってしまうことがありました。署名が付いたのでそのまま入るようになります。
- ダウンロードしたときに出る「発行元が不明です」という警告も出なくなります。
- 中身の機能は 0.3.5 と同じです。Mac 版と Chrome 拡張は変わりません。
- Mac で、アクセシビリティの許可が「一覧にはあるのに実際には効かない」状態になっていると、マウスやキーボードの操作が成功を返したまま何も起きませんでした。アプリを入れ替えたあとに起こります。0.3.5 は送る前に本当に効くかを確かめ、効かないときは直し方を添えてはっきり断ります。
- いまの状態は desktop.permissions.check で確認できます。desktop.system.info の permissions にも出ます。
- 入れ替え用と削除用のスクリプトを同梱しました(packaging/macos/install.sh, uninstall.sh)。削除時に許可の登録も消すので、入れ直したときに同じ状態になりません。
- Windows は 0.3.4 と同じ内容です(この不具合は macOS だけのものです)。
- Mac でも、サインイン時の利用許諾を Markdown の記号(# や - )付きのまま出さず、見出し・箇条書きとして整形して表示するようにしました。
- Windows は 0.3.3 と同じ内容です(利用許諾の整形表示)。両方を同じコミットから作り直しています。
- Windows で、サインイン時と「はじめの設定」の利用許諾が Markdown の記号(# や - )付きのまま表示されていたのを、見出し・箇条書きとして整形して表示するようにしました。
- Mac は変更がないため 0.3.2 のままです。
- Mac で、更新を取り込んだあとアプリが終了できず、入れ替えが途中で止まったままになる問題を直しました。これまで Mac の自動更新は最後まで完了していません。
- Mac でアプリが二重に起動することがあり、同じ接続を二本が奪い合っていたのを直しました。二本目は静かに終了します。
- 更新の確認が重なったとき、ダウンロード中のファイルを互いに消してしまうことがあったのを直しました。
- Chrome 拡張の名前を「CC Bridge Handler for Chrome Extension」にしました。拡張 ID は変わらないので、ペアリングのやり直しは不要です。chrome://extensions で「再読み込み」を押すか、ブラウザを開き直してください。
- 0.3.0 で設定の保存先が変わった際、Chrome 拡張の置き場所まで一緒に動いてしまい、以降の拡張の更新がブラウザに届かなくなる問題を直しました。ブラウザは拡張の場所を絶対パスで覚えているため、元の場所を使い続けます。
- 製品名を「CC Bridge Handler」に統一しました。インストール先・設定の保存先・一覧での種別表示も新しい名前になります。
- ペアリングはそのまま引き継ぎます。サインインし直す必要はありません。以前の設定も消さずに残すので、万一前の版に戻しても そのままつながります。
- 動いているアプリの上からインストーラーを実行すると必ず中止していたのを直しました。
- 自動起動の登録が古い場所を指したままになることがあったのを直しました(Windows のスタートアップ、macOS の LaunchAgent)。
- 開いたトンネルの ssh が切れたとき(回線の瞬断、受け口の再起動)、閉じる指示があるまで自動で張り直します。これまでは切れたまま「不通」になっていました。
- 受け口側で前のトンネルのポートがまだ解放されていない場合、15 秒おきに 4 回まで待って開き直します(受け口側も約 1 分で切れた接続を片付けるようにしました)。
- 制御鍵の設置(管理者アカウント向け)で、UAC の確認が拒否されたり 2 分放置されたりしても「入れた」と返してしまう不具合を直しました。書き込み後にファイルの中身を確かめてから成功を返します。
- 更新後に残る古いトンネル用 ssh の掃除が Windows で効いていなかった(パスの照合ミス)のを直しました。
- 自動更新やクラッシュで端末アプリが入れ替わったあと、前のプロセスが開いていたトンネル用の ssh が残り、受け口のポートを握ったままになっていました。0.2.11 は起動時とトンネルを開く前に、自分の鍵で動いている古い ssh を止めてから開きます。
- ブリッジ側は 0.6.5 で、UAC の確認を伴う制御鍵の設置に 4 分まで待つようにしました。
- Windows で Administrators グループのアカウントは、sshd が ~/.ssh/authorized_keys ではなく ProgramData/ssh/administrators_authorized_keys を読みます。0.2.9 はここに気づかず鍵を入れていました。0.2.10 はアカウントの種類を見て正しい場所を選び、昇格が必要なときは接続テストと dev.tunnel.status にその旨を出します。
- ブリッジから dev.tunnel.install_control_key {elevate:true} を送ると、その端末に UAC の確認が 1 回出て、承認すると鍵が入ります(勝手に出すことはありません)。
- リバース SSH の接続先(ホスト・ポート・ユーザー・この端末用の待受ポート)を、端末の設定ではなくブリッジから受け取るようにしました。ブリッジが Cloudflare 経由でも直接でも、端末側の設定は同じです。
- トンネル用の鍵を端末が自分で作ってブリッジに登録し、ブリッジ側の鍵も自動で authorized_keys に入れます。人が鍵を配る作業は不要になりました(ブリッジ 0.6.3 以降)。
- 管理者に停止された端末(緊急停止を含む)は、開いていたトンネルも閉じます。
- ブリッジからの分割転送(4MB 単位)を受け取れるよう、WebSocket の受信上限を 1MB から 64MB に引き上げました。0.2.7 では 1 片目で接続が切れていました。ブリッジ側は 0.2.8 未満の端末への fs/push, fs/pull を拒否します(client-too-old)。
- 端末側の承認ゲート(操作ごとの許可ダイアログ)を撤去しました。アクセスの可否はペアリングとブリッジのテナント権限で決まります。
- ファイルの読み書きに offset/length(分割読み出し)と append(追記)を追加し、ブリッジ側に大きなファイルをそのまま流せる転送 API(fs/push, fs/pull)が付きました。サイズ上限はなくなり、転送後は SHA-256 で照合します(desktop.fs.stat)。
- 管理コンソールの端末詳細から「更新を確認させる」で、端末に更新確認を指示できるようになりました。
- ブリッジは、同じ端末を直近 1 分に別のセッションも操作している場合、応答に警告(contention)を付けます。操作自体は止めません。
- 同じ版の適用に 2 回失敗した端末は、その版の自動適用を 24 時間見合わせます(ブリッジ側でも提供を止めます)。Smart App Control で未署名インストーラーが拒否される端末で、接続と切断を繰り返さないための対策です。コンソールの「更新を確認させる」で再試行できます。
- マウス・キーボード・画面・クリップボードを扱う操作は、端末側で到着順に 1 つずつ実行するようにしました。複数のセッションから同時に操作が届いても、クリックや入力が混ざりません(コマンド実行やファイル操作は従来どおり並行します)。Chrome 拡張(0.8.1)も同様に到着順で処理します。
- メニューに「アンインストール…」を追加しました。接続設定を残すか消すかを選んでからアンインストールし、Windows ではサインイン時起動の登録も外れます。Windows の「アプリと機能」からのアンインストールや、ブリッジからの無人アンインストール(unins000.exe /VERYSILENT)でも、稼働中のアプリを止めてから削除するようにしました。
- 0.2.3 と機能は同じです。修正した自動更新(0.2.3 の入れ替えヘルパー)が実機で正しく動くことを確認するための版です。
- 設定ファイル(handler.json)を常に UTF-8 で読み書きし、旧版が保存した cp932 の設定も読めるようにしました。
- Windows の自動更新で、入れ替えヘルパーがアプリの全プロセス終了を待ってからインストールし、新版が起動しなければもう一度起動するようにしました。監視プロセスは更新中の終了を再起動と取り違えません。
- 0.2.1 から 0.2.2 への実地更新で見つかった問題の修正です。
- セットアップ画面に「接続経路」を追加しました(Windows はモニタリングタブ、Mac は「接続」タブ)。WebSocket・HTTPS API・リバース SSH について、この端末から見た状態とブリッジが記録している状態を並べて表示します。
- 「接続テスト」を追加しました(トレイ/メニューバーのメニューと設定画面)。HTTPS の応答時間、WebSocket の生死、トンネルの状態をこの端末で測り、ブリッジにも送って向こう側のテスト結果と合わせて表示します。結果は管理コンソールの端末詳細にも残ります。
- Chrome 拡張(0.8.0)のポップアップにも同じ接続状況と「接続テスト」を追加しました。管理者による停止(緊急停止)にも対応し、停止中は 5 分おきに静かに再接続を試みます。
- 更新確認の時刻をブリッジに記録するようにしました。管理コンソールで「最後にいつ更新を確認したか」が分かります。
- 自動アップデートに対応しました。起動時と 6 時間ごとにブリッジの配布版を確認し、新しい版があればダウンロード・検証・入れ替え・再起動まで自動で行います。メニューの「自動アップデート」でオフにでき、その場合は「更新する」を押したときだけ適用します。
- 初回起動時に「はじめの設定」を表示するようにしました。接続先の確認 → 利用許諾 → サインイン(または接続コード)を順に案内し、各ステップは「後で行う」で飛ばせます。インストーラーに /ENDPOINT=https://… を付けると接続先が入力済みになります。
- 管理コンソールの「緊急停止」「停止」に対応しました。管理者に停止された端末は「管理者により停止中」と表示し、解除されるまで 5 分おきに静かに再接続を試みます。ペアリングは失効しません。
- Windows の常駐方式を変更しました。スタートアップの .vbs とタスクスケジューラのウォッチドッグ(Defender に誤検知されていたもの)を廃止し、サインイン時起動はレジストリの Run に、異常終了からの復帰はアプリ自身の監視プロセスに置き換えました。旧方式の残骸は初回起動時に自動で片付けます。
- macOS の LaunchAgent を、異常終了時だけ自動で再起動する設定(KeepAlive: SuccessfulExit=false)に変更しました。「終了」で止めた場合は再起動しません。
- 「ログイン時に起動」の設定を毎回の起動時に確認し、外れていれば戻すようにしました(自分でオフにした場合は戻しません)。
- 権限を与える前の Mac で起動直後に落ちていたのを修正しました。アクセシビリティの確認に渡していた内部データが不正で、macOS 側で異常終了していました。許可済みの機体では起きないため、配布して初めて表面化していました。
- 「サインイン」「ペアリング」を押しても何も起きなかったのを修正しました。ダイアログを表示するスレッドが誤っており、macOS が黙って無視していました。
- サインインの入力を、メールアドレスとパスワードの 2 つの欄に分けました。パスワードは伏せ字になります。利用許諾もスクロールできる表示になりました。
- 同じダイアログが繰り返し出ることがあったのを修正しました。ペアリングの待機画面をなくし、接続コードはセットアップ画面に表示するようにしています。
- 失敗の理由を必ずログとセットアップ画面に出すようにしました。これまでは通知だけで、通知が未許可だと何も分からない状態でした。
- 「自動化」「通知」は判定していない項目です。「判定しません」と明示するようにしました(許可されていない、という意味ではありません)。
- スクリーンショットを ScreenCaptureKit に移行しました。macOS 15 で非推奨になった方式をやめたことで、画面収録の再確認を求められる頻度が下がります。
- Developer ID 署名と Apple の公証に対応しました。ダウンロードしてそのまま開けます。
- セットアップ画面が通信中に固まることがあったのを修正し、ブリッジへの問い合わせ回数も減らしました。
- macOS 版アプリ(メニューバー常駐)と DMG インストーラーを追加
- Windows 版アプリ(通知領域常駐)とインストーラーを追加。Windows 11 で動作確認済み(exec / ファイル / スクリーンショット / 画面情報)
- 初回起動時のセットアップガイド:接続先・ペアリング・必要な権限を1画面で確認でき、各権限の設定画面を直接開けます
- 必要な権限(画面収録・アクセシビリティ・フルディスクアクセス・自動化・通知)の許可状況を自動判定し、2秒ごとに反映
- 接続先(ブリッジ URL)をアプリから変更できるようになりました
- ログイン時の自動起動に対応(macOS は LaunchAgent、Windows はスタートアップ)
- アプリを再度起動するとセットアップ画面が開くようになりました
- Windows 版のトレイアプリとインストーラー(Inno Setup)の作成手順を同梱
- アプリ版は配布サイズを抑えるため OpenCV を同梱していません。desktop.locateImage の厳密一致は動作しますが、あいまい一致(confidence 指定)は CLI 版をご利用ください
- Windows PC が Mac として表示されていた問題を修正(handlerType を実際のプラットフォームから決定)
- 日本語 Windows でビルドが cp932 エラーになる問題を修正
- Windows でキー入力が反映されない問題を修正(間隔なしで送ると OS 側に取りこぼされるため、既定で 15ms の間隔を入れる)
- Chrome 拡張を配布サイトから入手できるようにし、クライアント導入時に案内を表示するようにしました
- 改名前の版(cc-bridge Handler 0.1.x〜0.2.x)が別のブリッジにつながっているときは、起動しても止めず、自動起動の設定もそのままにします。新しい版の接続を向こう側から確かめてから、移行の手順で古い版を外します。
- 同じペアリングを使っている古い版(その場で上書きした場合)は、これまでどおり起動時に止めて片付けます。
- インストーラーに /KEEPLEGACY=1 を付けると、古い版をアンインストールせずに入ります(移行作業用)。
- ほかの機能は 0.3.6 と同じです。Mac 版と Chrome 拡張は変わりません。