← Commit history

Delete install/ad-safety-check.ps1

John Lauer ·6c58553a79 ·1mo ago ·parent bce3968
1 file changed −67
install/ad-safety-check.ps1deleted−67
@@ -1,67 +0,0 @@-<#-  adom-browser-extension :: AD-safety neutralize + verify-  --------------------------------------------------------  Run this LOCALLY on the Windows laptop (NOT through adom-desktop) BEFORE re-opening AD, after the-  2026-06-19 port-exhaustion incident. No admin / UAC needed — it only touches HKCU + the user profile.--  It ONLY touches adom-browser-extension artifacts:-    - the native-messaging host registration named 'inc.adom.native_browser' (Chrome + Edge)-    - the 'native-browser' bridge dir in AD's bridges-cache-    - the bridge discovery/pidfiles under ~/.adom/bridges/native-browser-    - node.exe processes running native-host.js-  Nothing else on the machine is read or modified.--  Removing the host registration + the cached bridge makes the runaway loop PHYSICALLY impossible:-  Chrome/Edge can no longer spawn the host, and AD can no longer auto-spawn the bridge.--  Usage (PowerShell, normal window — no admin):-    powershell -ExecutionPolicy Bypass -File ad-safety-check.ps1-#>-$ErrorActionPreference = 'SilentlyContinue'-$HostName = 'inc.adom.native_browser'-$pending  = 0-Write-Host "=== adom-browser-extension safety check  $(Get-Date) ===" -ForegroundColor Cyan--# 1) KILL-SWITCH: native-messaging host registration (Chrome + Edge).-#    Without this, connectNative() cannot launch a host -> the loop cannot start.-foreach ($v in 'Google\Chrome','Microsoft\Edge') {-  $key = "HKCU:\Software\$v\NativeMessagingHosts\$HostName"-  if (Test-Path $key) {-    Write-Host "[FOUND]  host registration: $key  -> removing" -ForegroundColor Yellow-    Remove-Item $key -Force-  } else { Write-Host "[clean]  no host registration under $v" -ForegroundColor Green }-}--# 2) Bridge files in AD's cache (so AD cannot auto-spawn the broken bridge on startup).-$cache = Join-Path $env:LOCALAPPDATA 'Adom Desktop\bridges-cache\native-browser'-if (Test-Path $cache) {-  Write-Host "[FOUND]  bridge in cache: $cache  -> removing" -ForegroundColor Yellow-  Remove-Item $cache -Recurse -Force-} else { Write-Host "[clean]  no native-browser bridge in bridges-cache" -ForegroundColor Green }--# 3) Discovery file + pidfile (host.json / host.pid).-$bdir = Join-Path $env:USERPROFILE '.adom\bridges\native-browser'-if (Test-Path $bdir) {-  Write-Host "[FOUND]  discovery dir: $bdir  -> removing" -ForegroundColor Yellow-  Get-ChildItem $bdir | ForEach-Object { Write-Host "           $($_.Name)" }-  Remove-Item $bdir -Recurse -Force-} else { Write-Host "[clean]  no discovery/pidfiles" -ForegroundColor Green }--# 4) Running looping hosts (node.exe -> native-host.js).-$hosts = Get-CimInstance Win32_Process -Filter "Name='node.exe'" | Where-Object { $_.CommandLine -like '*native-host.js*' }-if ($hosts) {-  Write-Host "[FOUND]  $($hosts.Count) native-host process(es) running -> killing" -ForegroundColor Yellow-  $hosts | ForEach-Object { Write-Host "           pid $($_.ProcessId)"; Stop-Process -Id $_.ProcessId -Force }-} else { Write-Host "[clean]  no native-host.js processes running" -ForegroundColor Green }--# 5) Socket health (did the machine recover from the WSAENOBUFS / 10055 exhaustion?).-$tcp  = (Get-NetTCPConnection).Count-$node = (Get-CimInstance Win32_Process -Filter "Name='node.exe'").Count-Write-Host "[info]   total TCP connections: $tcp   (healthy idle machine is typically a few hundred)"-Write-Host "[info]   total node.exe processes: $node"--Write-Host "`n=== RESULT ===" -ForegroundColor Cyan-Write-Host "All [clean]/[info]  ->  SAFE to open AD:" -ForegroundColor Green-Write-Host "  * Chrome/Edge can no longer spawn the host (registration removed)"-Write-Host "  * AD can no longer auto-spawn the bridge (cache removed)"-Write-Host "Open AD, let it reconnect to galliaApril, then tell Claude 'AD is up'."