@askjo/camofox-browser 1.8.12 → 1.9.1
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/AGENTS.md +16 -25
- package/Dockerfile +1 -0
- package/README.md +32 -28
- package/lib/config.js +2 -1
- package/lib/images.js +1 -1
- package/lib/launcher.js +1 -1
- package/lib/metrics.js +2 -2
- package/lib/reporter.js +117 -43
- package/lib/request-utils.js +4 -1
- package/lib/resources.js +1 -1
- package/openclaw.plugin.json +19 -19
- package/package.json +12 -4
- package/plugin.js +616 -0
- package/plugins/vnc/AGENTS.md +3 -3
- package/plugins/vnc/spawn.js +1 -1
- package/plugins/vnc/vnc-launcher.js +1 -1
- package/plugins/youtube/AGENTS.md +2 -2
- package/scripts/postinstall.js +61 -0
- package/server.js +288 -22
- package/tsconfig.json +12 -0
package/openclaw.plugin.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"id": "camofox-browser",
|
|
2
|
+
"id": "@skyfallsin/camofox-browser",
|
|
3
3
|
"name": "Camofox Browser",
|
|
4
4
|
"description": "Anti-detection browser automation for AI agents using Camoufox (Firefox-based)",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.9.1",
|
|
6
6
|
"envVars": {
|
|
7
7
|
"CAMOFOX_API_KEY": {
|
|
8
8
|
"description": "Secret key for the cookie-import endpoint. Cookie import is disabled when unset. Only set this if you need to import browser cookies and the server is local or access-controlled.",
|
|
@@ -15,16 +15,16 @@
|
|
|
15
15
|
"sensitive": true
|
|
16
16
|
},
|
|
17
17
|
"CAMOFOX_CRASH_REPORT_ENABLED": {
|
|
18
|
-
"description": "Enable or disable anonymized crash/hang
|
|
18
|
+
"description": "Enable or disable anonymized crash/hang telemetry. Set to 'false' to disable all outbound telemetry.",
|
|
19
19
|
"required": false,
|
|
20
20
|
"sensitive": false,
|
|
21
21
|
"default": "true"
|
|
22
22
|
},
|
|
23
23
|
"CAMOFOX_CRASH_REPORT_URL": {
|
|
24
|
-
"description": "
|
|
24
|
+
"description": "Telemetry endpoint URL. Override to point to a self-hosted endpoint instead of the default.",
|
|
25
25
|
"required": false,
|
|
26
26
|
"sensitive": false,
|
|
27
|
-
"default": "https://camofox-
|
|
27
|
+
"default": "https://camofox-telemetry.askjo.workers.dev/report"
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
"configSchema": {
|
|
@@ -79,25 +79,25 @@
|
|
|
79
79
|
},
|
|
80
80
|
"crashReportEnabled": {
|
|
81
81
|
"type": "boolean",
|
|
82
|
-
"description": "Enable anonymized crash/hang
|
|
82
|
+
"description": "Enable anonymized crash/hang telemetry. Set false to disable all outbound telemetry.",
|
|
83
83
|
"default": true
|
|
84
84
|
},
|
|
85
85
|
"crashReportUrl": {
|
|
86
86
|
"type": "string",
|
|
87
|
-
"description": "
|
|
88
|
-
"default": "https://camofox-
|
|
87
|
+
"description": "Telemetry endpoint URL. Override to point to a self-hosted endpoint. Set via CAMOFOX_CRASH_REPORT_URL env var.",
|
|
88
|
+
"default": "https://camofox-telemetry.askjo.workers.dev/report"
|
|
89
89
|
}
|
|
90
90
|
},
|
|
91
91
|
"additionalProperties": false
|
|
92
92
|
},
|
|
93
93
|
"telemetry": {
|
|
94
94
|
"crashReporter": {
|
|
95
|
-
"description": "Anonymized crash/hang
|
|
95
|
+
"description": "Anonymized crash/hang telemetry for identifying failure patterns. All credentials are environment secrets on the endpoint -- nothing sensitive ships in this package.",
|
|
96
96
|
"enabled": true,
|
|
97
97
|
"optOut": "CAMOFOX_CRASH_REPORT_ENABLED=false",
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
"
|
|
98
|
+
"endpoint": "https://camofox-telemetry.askjo.workers.dev/report",
|
|
99
|
+
"endpointSource": "https://github.com/jo-inc/camofox-browser/blob/main/workers/crash-reporter/index.ts",
|
|
100
|
+
"endpointVerification": "https://camofox-telemetry.askjo.workers.dev/source",
|
|
101
101
|
"selfHostable": true,
|
|
102
102
|
"selfHostOverride": "CAMOFOX_CRASH_REPORT_URL",
|
|
103
103
|
"dataCollected": [
|
|
@@ -157,11 +157,11 @@
|
|
|
157
157
|
"placeholder": "Leave empty for localhost-only access"
|
|
158
158
|
},
|
|
159
159
|
"crashReportEnabled": {
|
|
160
|
-
"label": "Enable
|
|
160
|
+
"label": "Enable Telemetry"
|
|
161
161
|
},
|
|
162
162
|
"crashReportUrl": {
|
|
163
|
-
"label": "
|
|
164
|
-
"placeholder": "https://camofox-
|
|
163
|
+
"label": "Telemetry Endpoint URL",
|
|
164
|
+
"placeholder": "https://camofox-telemetry.askjo.workers.dev/report"
|
|
165
165
|
}
|
|
166
166
|
},
|
|
167
167
|
"tools": [
|
|
@@ -201,8 +201,8 @@
|
|
|
201
201
|
"gatedBy": "Agent request via API"
|
|
202
202
|
},
|
|
203
203
|
{
|
|
204
|
-
"target": "https://camofox-
|
|
205
|
-
"purpose": "Anonymized crash/hang
|
|
204
|
+
"target": "https://camofox-telemetry.askjo.workers.dev/report",
|
|
205
|
+
"purpose": "Anonymized crash/hang telemetry",
|
|
206
206
|
"gatedBy": "CAMOFOX_CRASH_REPORT_ENABLED (default: true, set false to disable)"
|
|
207
207
|
}
|
|
208
208
|
],
|
|
@@ -221,8 +221,8 @@
|
|
|
221
221
|
},
|
|
222
222
|
{
|
|
223
223
|
"path": "/proc/self/status (Linux only)",
|
|
224
|
-
"purpose": "Memory and resource metrics for
|
|
225
|
-
"gatedBy": "Only read when
|
|
224
|
+
"purpose": "Memory and resource metrics for telemetry",
|
|
225
|
+
"gatedBy": "Only read when telemetry is enabled"
|
|
226
226
|
}
|
|
227
227
|
],
|
|
228
228
|
"write": [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@askjo/camofox-browser",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.1",
|
|
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",
|
|
@@ -40,6 +40,8 @@
|
|
|
40
40
|
"plugins/",
|
|
41
41
|
"camofox.config.json",
|
|
42
42
|
"plugin.ts",
|
|
43
|
+
"plugin.js",
|
|
44
|
+
"tsconfig.json",
|
|
43
45
|
"openclaw.plugin.json",
|
|
44
46
|
"scripts/",
|
|
45
47
|
"run.sh",
|
|
@@ -52,11 +54,14 @@
|
|
|
52
54
|
"extensions": [
|
|
53
55
|
"plugin.ts"
|
|
54
56
|
],
|
|
57
|
+
"runtimeExtensions": [
|
|
58
|
+
"plugin.js"
|
|
59
|
+
],
|
|
55
60
|
"compat": {
|
|
56
61
|
"pluginApi": ">=2026.3.24-beta.2"
|
|
57
62
|
},
|
|
58
63
|
"build": {
|
|
59
|
-
"openclawVersion": "2026.
|
|
64
|
+
"openclawVersion": "2026.5.3"
|
|
60
65
|
},
|
|
61
66
|
"tools": [
|
|
62
67
|
{
|
|
@@ -102,6 +107,7 @@
|
|
|
102
107
|
]
|
|
103
108
|
},
|
|
104
109
|
"scripts": {
|
|
110
|
+
"build": "tsc -p . || true",
|
|
105
111
|
"start": "node server.js",
|
|
106
112
|
"test": "NODE_OPTIONS='--experimental-vm-modules' jest --runInBand --forceExit",
|
|
107
113
|
"test:e2e": "NODE_OPTIONS='--experimental-vm-modules' jest --runInBand --forceExit tests/e2e",
|
|
@@ -112,7 +118,7 @@
|
|
|
112
118
|
"generate-openapi": "node scripts/generate-openapi.js",
|
|
113
119
|
"version:sync": "node scripts/sync-version.js",
|
|
114
120
|
"version": "node scripts/sync-version.js && node scripts/generate-openapi.js && git add openclaw.plugin.json openapi.json",
|
|
115
|
-
"postinstall": "
|
|
121
|
+
"postinstall": "node scripts/postinstall.js"
|
|
116
122
|
},
|
|
117
123
|
"dependencies": {
|
|
118
124
|
"camoufox-js": "^0.8.5",
|
|
@@ -125,7 +131,9 @@
|
|
|
125
131
|
"swagger-jsdoc": "^6.2.8"
|
|
126
132
|
},
|
|
127
133
|
"devDependencies": {
|
|
134
|
+
"@types/node": "^22.0.0",
|
|
128
135
|
"jest": "^29.7.0",
|
|
129
|
-
"pngjs": "^7.0.0"
|
|
136
|
+
"pngjs": "^7.0.0",
|
|
137
|
+
"typescript": "^5.7.0"
|
|
130
138
|
}
|
|
131
139
|
}
|