fix: repair recon scanning and add macOS deployment
Start scans via the Pager's native /api/pineap/recon/new so history appends instead of rotating. Enforce finite durations (1-86400s, default 30s), remove the unsupported Continuous mode, and refuse the unsafe manual stop that left recon.db locked. Rework scan list and detail reads into single-pass aggregate SQL, shorten lock retries, and serve cached results during short exclusive lock windows. Fall back to immutable read-only access when the firmware leaves a stale lock after native completion. Frontend auto-follows new scans, queues a single in-flight detail refresh, keeps previous tables visible while a scan starts, and shows completion toasts and daemon error details. Add scripts/deploy.sh for macOS/Linux (zip packaging, scp/ssh install, atomic payload replacement, service restart, portal refresh) with README instructions, plus regression coverage for native start, safe stop semantics, aggregate queries, and stale-lock fallback. Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
This commit is contained in:
co-authored by
factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
parent
3e1805dab8
commit
2bf39ecb9d
@@ -12,18 +12,32 @@ terminal.
|
||||
|
||||
- WiFi Pineapple Pager, firmware `Pineapple Pager 24.10.1`
|
||||
- `python3` on the device (present on current firmware)
|
||||
- Windows dev box with Python 3.11 (`winget install Python.Python.3.11`)
|
||||
- Python 3.11 on the development machine
|
||||
|
||||
## Install (sideload)
|
||||
|
||||
macOS/Linux:
|
||||
|
||||
```bash
|
||||
# Recommended: key authentication
|
||||
./scripts/deploy.sh --ssh-key "$HOME/.ssh/pager_key"
|
||||
|
||||
# Password authentication requires sshpass
|
||||
brew install hudochenkov/sshpass/sshpass
|
||||
./scripts/deploy.sh --password '<device-password>'
|
||||
```
|
||||
|
||||
Windows:
|
||||
|
||||
```powershell
|
||||
# deploy.ps1 needs either an SSH key or sshpass for password auth:
|
||||
& .\scripts\deploy.ps1 -SshKey "$HOME\.ssh\pager_key"
|
||||
# or set up a key and add it: ssh-copy-id root@172.16.52.1
|
||||
```
|
||||
|
||||
This builds `build\pager-webui\payload-<b64>.zip`, uploads it, extracts it to
|
||||
`/root/payloads/user/remote_access/pager-webui/`, and refreshes the portal index.
|
||||
The deployment scripts build `build/pager-webui/payload-<b64>.zip`, upload it,
|
||||
extract it to `/root/payloads/user/remote_access/pager-webui/`, and refresh the
|
||||
portal index.
|
||||
|
||||
Then on the Pager menu, run **Mark VIII**:
|
||||
- **Yes** to "Run as background service?" -> procd service (respawns on crash,
|
||||
|
||||
Reference in New Issue
Block a user