app
Pup - the AI's own browser
Public Made by Adomby adom
pup gives your AI a real browser on your desktop that it drives completely, in the background, signed in as you: windows that never jump in front of your work, one shared profile that learns your logins, and every window labeled on the taskbar with its AI thread's name.
← Commit history
v2.0.685 (insiders): The pup exe is signed as Adom Industries, Inc. (Authenticode, timestamped), so Windows 11 Smart App Control no longer blocks it; the build refuses to package an unsigned exe.
3 files changed
+27−13
rust/Cargo.lock+12−12@@ -10,7 +10,7 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "adom-pup-bridge"-version = "2.0.684"+version = "2.0.685" dependencies = [ "pup-browser", "pup-cdp",@@ -655,7 +655,7 @@ dependencies = [ [[package]] name = "pup-browser"-version = "2.0.684"+version = "2.0.685" dependencies = [ "pup-core", "pup-host",@@ -667,7 +667,7 @@ dependencies = [ [[package]] name = "pup-cdp"-version = "2.0.684"+version = "2.0.685" dependencies = [ "serde_json", "thiserror",@@ -677,7 +677,7 @@ dependencies = [ [[package]] name = "pup-core"-version = "2.0.684"+version = "2.0.685" dependencies = [ "serde", "serde_json",@@ -687,7 +687,7 @@ dependencies = [ [[package]] name = "pup-dashboard"-version = "2.0.684"+version = "2.0.685" dependencies = [ "pup-cdp", "pup-core",@@ -700,7 +700,7 @@ dependencies = [ [[package]] name = "pup-host"-version = "2.0.684"+version = "2.0.685" dependencies = [ "serde", "serde_json",@@ -709,14 +709,14 @@ dependencies = [ [[package]] name = "pup-host-mac"-version = "2.0.684"+version = "2.0.685" dependencies = [ "pup-host", ] [[package]] name = "pup-host-win"-version = "2.0.684"+version = "2.0.685" dependencies = [ "pup-core", "pup-host",@@ -726,7 +726,7 @@ dependencies = [ [[package]] name = "pup-identity"-version = "2.0.684"+version = "2.0.685" dependencies = [ "fontdue", "image",@@ -736,7 +736,7 @@ dependencies = [ [[package]] name = "pup-session"-version = "2.0.684"+version = "2.0.685" dependencies = [ "pup-core", "serde",@@ -746,7 +746,7 @@ dependencies = [ [[package]] name = "pup-vault"-version = "2.0.684"+version = "2.0.685" dependencies = [ "pup-core", "pup-host",@@ -757,7 +757,7 @@ dependencies = [ [[package]] name = "pup-verbs"-version = "2.0.684"+version = "2.0.685" dependencies = [ "base64", "png 0.17.16",
rust/Cargo.toml+1−1@@ -4,7 +4,7 @@ members = ["core", "host", "host-win", "host-mac", "cdp", "browser", "session", # One version for the whole bridge, in lockstep with src/BRIDGE_VERSION (tools/ship.sh bumps both). [workspace.package]-version = "2.0.684"+version = "2.0.685" edition = "2021" license = "MIT"
tools/rust-build.sh+14@@ -26,6 +26,20 @@ echo "== rust 1. release build (x86_64-pc-windows-gnu) ==" [ -f "$EXE" ] || { echo " exe missing"; exit 1; } grep -q "Puppeteer Bridge v" "$EXE" || { echo " exe lacks the boot banner string"; exit 1; } +echo "== rust 1b. sign as Adom Industries (never package an unsigned exe) =="+# Windows 11 Smart App Control blocks unsigned exes. The signing itself lives in a PRIVATE script outside this repo+# (John's build process); this public build only calls it and checks the result. No script, no package.+SIGNER="${ADOM_SIGN_EXE:-$HOME/.config/adom-signing/sign-exe.sh}"+[ -x "$SIGNER" ] || { echo " no private signing script at $SIGNER: refusing to package an unsigned exe"; exit 1; }+"$SIGNER" "$(pwd)/$EXE" pup || { echo " SIGNING FAILED: nothing packaged"; exit 1; }+python3 - "$EXE" <<'PYS' || { echo " the exe carries no Authenticode signature after signing: nothing packaged"; exit 1; }+import struct, sys+b = open(sys.argv[1], 'rb').read(); pe = struct.unpack_from('<I', b, 0x3c)[0]; magic = struct.unpack_from('<H', b, pe + 24)[0]+off, size = struct.unpack_from('<II', b, pe + 24 + (112 if magic == 0x20b else 96) + 32)+sys.exit(0 if size > 0 and off + size <= len(b) else 1)+PYS+grep -q "Puppeteer Bridge v" "$EXE" || { echo " the signed exe lacks the boot banner string"; exit 1; }+ echo "== rust 2. package ==" mkdir -p "$ARCH" python3 - "$VER" "$EXE" "$ARCH/$ZIP" <<'PY'