@askjo/camofox-browser 1.8.4 → 1.8.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -412,7 +412,7 @@ To file crash reports in your own GitHub repo instead of `jo-inc/camofox-browser
412
412
  1. **Create a GitHub App** — [Settings → Developer settings → GitHub Apps → New](https://github.com/settings/apps/new)
413
413
  - Permissions: **Repository → Issues → Read & Write**
414
414
  - Uncheck **Webhook → Active** (not needed)
415
- - Click **Generate a private key** — downloads a `.pem` file
415
+ - Click **Generate a key** — downloads a `.pem` file
416
416
  - Install the app on your target repo (Install App → select repo)
417
417
  - Note your **App ID** (number on the app's General page) and **Installation ID** (from the URL after installing: `github.com/settings/installations/{id}`)
418
418
 
package/lib/reporter.js CHANGED
@@ -459,35 +459,15 @@ class RateLimiter {
459
459
  // Crash relay client
460
460
  // ============================================================================
461
461
 
462
- // Reports are sent to a Cloudflare Worker relay that holds the GitHub App
463
- // private key. No secrets are shipped in this package.
462
+ // Reports are sent to a Cloudflare Worker relay. All credentials are
463
+ // environment secrets on the relay nothing sensitive ships in this package.
464
464
  //
465
465
  // Default relay: https://camofox-crash-relay.askjo.workers.dev
466
466
  // Override: CAMOFOX_CRASH_REPORT_URL=https://your-own-relay/report
467
467
  //
468
468
  // The relay source lives at workers/crash-reporter/index.ts in this repo.
469
- // You can verify what the relay does:
470
- // 1. GET https://camofox-crash-relay.askjo.workers.dev/source → { commit, sha256 }
471
- // 2. Compare sha256 against: sha256sum workers/crash-reporter/index.ts
472
- //
473
- // --- BEGIN RELAY SOURCE (workers/crash-reporter/index.ts) ---
474
- // The full relay is a single Cloudflare Worker (~150 lines):
475
- // POST /report — validates payload, rate-limits by IP, deduplicates by
476
- // stack signature, mints a GitHub App JWT from env secrets,
477
- // and creates/comments on GitHub Issues.
478
- // GET /source — returns { commit, sha256 } for verification.
479
- // GET /health — returns { status: "ok" }.
480
- //
481
- // Env secrets (Cloudflare dashboard, never in code):
482
- // GH_APP_ID, GH_INSTALL_ID, GH_PRIVATE_KEY
483
- //
484
- // Rate limit: 30 reports/IP/hour (in-memory sliding window).
485
- // Dedup: same signature skipped for 1 hour.
486
- // Payload validation: type must match known patterns, signature must be
487
- // 8-char hex, title ≤256 chars, body ≤64KB, labels ≤5 strings.
488
- //
469
+ // Verify: GET /source returns { commit, sha256 } to compare against the repo.
489
470
  // Full source: https://github.com/jo-inc/camofox-browser/blob/main/workers/crash-reporter/index.ts
490
- // --- END RELAY SOURCE ---
491
471
 
492
472
  const DEFAULT_RELAY_URL = 'https://camofox-crash-relay.askjo.workers.dev/report';
493
473
  const FETCH_TIMEOUT_MS = 5000;
@@ -2,7 +2,7 @@
2
2
  "id": "camofox-browser",
3
3
  "name": "Camofox Browser",
4
4
  "description": "Anti-detection browser automation for AI agents using Camoufox (Firefox-based)",
5
- "version": "1.8.4",
5
+ "version": "1.8.7",
6
6
  "configSchema": {
7
7
  "type": "object",
8
8
  "properties": {
@@ -44,13 +44,31 @@
44
44
  "type": "number",
45
45
  "description": "Node.js V8 heap limit in MB",
46
46
  "default": 128
47
+ },
48
+ "apiKey": {
49
+ "type": "string",
50
+ "description": "Secret key for cookie import endpoint. Cookie import is disabled if unset. Set via CAMOFOX_API_KEY env var."
51
+ },
52
+ "accessKey": {
53
+ "type": "string",
54
+ "description": "If set, all routes (except /health) require Authorization: Bearer <key>. Set via CAMOFOX_ACCESS_KEY env var."
55
+ },
56
+ "crashReportEnabled": {
57
+ "type": "boolean",
58
+ "description": "Enable anonymized crash/hang reporting to the relay. Set false to disable all outbound crash reports.",
59
+ "default": true
60
+ },
61
+ "crashReportUrl": {
62
+ "type": "string",
63
+ "description": "Crash report relay endpoint. Override to point to a self-hosted relay. Set via CAMOFOX_CRASH_REPORT_URL env var.",
64
+ "default": "https://camofox-crash-relay.askjo.workers.dev/report"
47
65
  }
48
66
  },
49
67
  "additionalProperties": false
50
68
  },
51
69
  "telemetry": {
52
70
  "crashReporter": {
53
- "description": "Anonymized crash/hang reports sent to a Cloudflare Worker relay. No secrets or private keys are shipped in this package.",
71
+ "description": "Anonymized crash/hang reports sent to a Cloudflare Worker relay. All credentials are environment secrets on the relay nothing sensitive ships in this package.",
54
72
  "enabled": true,
55
73
  "optOut": "CAMOFOX_CRASH_REPORT_ENABLED=false",
56
74
  "relay": "https://camofox-crash-relay.askjo.workers.dev/report",
@@ -105,6 +123,21 @@
105
123
  "maxOldSpaceSize": {
106
124
  "label": "Node Heap Limit (MB)",
107
125
  "placeholder": "128"
126
+ },
127
+ "apiKey": {
128
+ "label": "Cookie Import API Key (CAMOFOX_API_KEY)",
129
+ "placeholder": "Leave empty to disable cookie import"
130
+ },
131
+ "accessKey": {
132
+ "label": "Global Access Key (CAMOFOX_ACCESS_KEY)",
133
+ "placeholder": "Leave empty for localhost-only access"
134
+ },
135
+ "crashReportEnabled": {
136
+ "label": "Enable Crash Reporting"
137
+ },
138
+ "crashReportUrl": {
139
+ "label": "Crash Report Relay URL",
140
+ "placeholder": "https://camofox-crash-relay.askjo.workers.dev/report"
108
141
  }
109
142
  }
110
143
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askjo/camofox-browser",
3
- "version": "1.8.4",
3
+ "version": "1.8.7",
4
4
  "description": "Headless browser automation server and OpenClaw plugin for AI agents - anti-detection, element refs, and session isolation",
5
5
  "type": "module",
6
6
  "main": "server.js",