@ceki/n8n-nodes-ceki 0.2.7 → 0.2.9
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 +6 -6
- package/dist/index.js +81 -9
- package/dist/index.js.map +2 -2
- package/dist/nodes/BrowserCeki/BrowserCeki.node.js +81 -9
- package/dist/nodes/BrowserCeki/BrowserCeki.node.js.map +2 -2
- package/dist/nodes/recipes/CekiCaptchaScrape/CekiCaptchaScrape.node.js +1 -1
- package/dist/nodes/recipes/CekiCaptchaScrape/CekiCaptchaScrape.node.js.map +1 -1
- package/dist/nodes/recipes/CekiScreenshotGeo/CekiScreenshotGeo.node.js +1 -1
- package/dist/nodes/recipes/CekiScreenshotGeo/CekiScreenshotGeo.node.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Rent real human browsers inside your n8n workflows.**
|
|
4
4
|
|
|
5
|
-
[Ceki](https://
|
|
5
|
+
[Ceki](https://ceki.me) lets AI agents and automations rent live, human-operated browsers by the minute — real fingerprints, real IPs, real humans solving captchas. This package brings Ceki into n8n as native nodes: drive a rented browser, scrape anti-bot pages, screenshot from any geo, and orchestrate Ceki's contract system where a workflow can hire agents and people.
|
|
6
6
|
|
|
7
7
|
- **Real human browsers** — not headless, not emulation. Actual Chrome sessions with genuine fingerprints that pass anti-bot checks.
|
|
8
8
|
- **Geo-targeting** — appear from RU, EE, US, or wherever a human host is online.
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
- **Pay-as-you-go** — from **$0.01/min**. Pay only for the minutes you use; close the session and billing stops.
|
|
11
11
|
- **Hire from a workflow** — the Ceki Contract node lets your automation create tasks, assign them to agents or humans, and escalate when it's stuck.
|
|
12
12
|
|
|
13
|
-
All of the logic lives in [`@ceki/sdk`](https://
|
|
13
|
+
All of the logic lives in [`@ceki/sdk`](https://github.com/Ceki-me/js-sdk) — these nodes are a thin, typed UI on top.
|
|
14
14
|
|
|
15
15
|
## Install
|
|
16
16
|
|
|
@@ -23,7 +23,7 @@ npm install n8n-nodes-ceki
|
|
|
23
23
|
|
|
24
24
|
## Credential
|
|
25
25
|
|
|
26
|
-
Create it once: **Ceki API** → set `token` to your agent token (`ag_...`) from the [Ceki panel](https://
|
|
26
|
+
Create it once: **Ceki API** → set `token` to your agent token (`ag_...`) from the [Ceki panel](https://ceki.me/dashboard/agents). One credential powers every node.
|
|
27
27
|
|
|
28
28
|
## Nodes
|
|
29
29
|
|
|
@@ -111,9 +111,9 @@ To use locally in n8n, link `dist/` via `N8N_CUSTOM_EXTENSIONS` or `NODE_PATH`.
|
|
|
111
111
|
|
|
112
112
|
- [browser.ceki.me](https://browser.ceki.me) — rent a browser or become a host
|
|
113
113
|
- [Docs](https://browser.ceki.me/docs) — API key, SDK reference, recipes
|
|
114
|
-
- [`@ceki/sdk`](https://
|
|
115
|
-
- [MCP](https://
|
|
114
|
+
- [`@ceki/sdk`](https://github.com/Ceki-me/js-sdk) — the engine behind these nodes
|
|
115
|
+
- [MCP](https://ceki.me/mcp) — drive Ceki from any MCP-compatible agent
|
|
116
116
|
|
|
117
117
|
## License
|
|
118
118
|
|
|
119
|
-
MIT. Depends on [`@ceki/sdk`](https://
|
|
119
|
+
MIT. Depends on [`@ceki/sdk`](https://github.com/Ceki-me/js-sdk).
|
package/dist/index.js
CHANGED
|
@@ -155,7 +155,7 @@ var CekiClient = class {
|
|
|
155
155
|
}
|
|
156
156
|
_awaitResume(sessionId) {
|
|
157
157
|
return new Promise((resolve, reject) => {
|
|
158
|
-
const timeoutSignal = AbortSignal.timeout(
|
|
158
|
+
const timeoutSignal = AbortSignal.timeout(6e4);
|
|
159
159
|
timeoutSignal.addEventListener("abort", () => {
|
|
160
160
|
this._pendingResumes.delete(sessionId);
|
|
161
161
|
reject(new Error("Resume timed out"));
|
|
@@ -403,8 +403,9 @@ var BrowserCeki = class {
|
|
|
403
403
|
displayName: "Operation",
|
|
404
404
|
name: "operation",
|
|
405
405
|
type: "options",
|
|
406
|
-
default: "
|
|
406
|
+
default: "search",
|
|
407
407
|
options: [
|
|
408
|
+
{ name: "Search", value: "search" },
|
|
408
409
|
{ name: "Rent", value: "rent" },
|
|
409
410
|
{ name: "Navigate", value: "navigate" },
|
|
410
411
|
{ name: "Click", value: "click" },
|
|
@@ -415,7 +416,8 @@ var BrowserCeki = class {
|
|
|
415
416
|
{ name: "Wait", value: "wait" },
|
|
416
417
|
{ name: "Wait for Selector", value: "waitForSelector" },
|
|
417
418
|
{ name: "Upload", value: "upload" },
|
|
418
|
-
{ name: "Close", value: "close" }
|
|
419
|
+
{ name: "Close", value: "close" },
|
|
420
|
+
{ name: "Full: Rent \u2192 Navigate \u2192 Screenshot", value: "full" }
|
|
419
421
|
]
|
|
420
422
|
},
|
|
421
423
|
// === Rent: rental parameters ===
|
|
@@ -433,7 +435,7 @@ var BrowserCeki = class {
|
|
|
433
435
|
type: "string",
|
|
434
436
|
default: "",
|
|
435
437
|
placeholder: "RU, EE, US\u2026",
|
|
436
|
-
displayOptions: { show: { operation: ["rent"] } }
|
|
438
|
+
displayOptions: { show: { operation: ["rent", "search"] } }
|
|
437
439
|
},
|
|
438
440
|
{
|
|
439
441
|
displayName: "Max $/min",
|
|
@@ -441,7 +443,7 @@ var BrowserCeki = class {
|
|
|
441
443
|
type: "number",
|
|
442
444
|
typeOptions: { numberPrecision: 4 },
|
|
443
445
|
default: 0.02,
|
|
444
|
-
displayOptions: { show: { operation: ["rent"] } }
|
|
446
|
+
displayOptions: { show: { operation: ["rent", "search"] } }
|
|
445
447
|
},
|
|
446
448
|
{
|
|
447
449
|
displayName: "Min rating",
|
|
@@ -454,19 +456,35 @@ var BrowserCeki = class {
|
|
|
454
456
|
displayName: "Profile mode",
|
|
455
457
|
name: "mode",
|
|
456
458
|
type: "options",
|
|
457
|
-
default: "
|
|
459
|
+
default: "incognito",
|
|
458
460
|
options: [
|
|
459
461
|
{ name: "main", value: "main" },
|
|
460
462
|
{ name: "incognito", value: "incognito" }
|
|
461
463
|
],
|
|
462
|
-
displayOptions: { show: { operation: ["rent"] } }
|
|
464
|
+
displayOptions: { show: { operation: ["rent", "full"] } }
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
displayName: "URL",
|
|
468
|
+
name: "url",
|
|
469
|
+
type: "string",
|
|
470
|
+
default: "https://example.com",
|
|
471
|
+
required: true,
|
|
472
|
+
displayOptions: { show: { operation: ["navigate", "full"] } }
|
|
473
|
+
},
|
|
474
|
+
{
|
|
475
|
+
displayName: "Demo mode (no browser needed)",
|
|
476
|
+
name: "demoMode",
|
|
477
|
+
type: "boolean",
|
|
478
|
+
default: true,
|
|
479
|
+
description: "Skip actual browser rent and generate demo output",
|
|
480
|
+
displayOptions: { show: { operation: ["full"] } }
|
|
463
481
|
},
|
|
464
482
|
// === Operations: session_id ===
|
|
465
483
|
{
|
|
466
484
|
displayName: "Session ID",
|
|
467
485
|
name: "sessionId",
|
|
468
486
|
type: "string",
|
|
469
|
-
default: "
|
|
487
|
+
default: "",
|
|
470
488
|
description: "From the Rent operation",
|
|
471
489
|
required: true,
|
|
472
490
|
displayOptions: {
|
|
@@ -536,7 +554,7 @@ var BrowserCeki = class {
|
|
|
536
554
|
default: 1e3,
|
|
537
555
|
typeOptions: { minValue: 0 },
|
|
538
556
|
description: "Fixed delay on the active session",
|
|
539
|
-
displayOptions: { show: { operation: ["wait"] } }
|
|
557
|
+
displayOptions: { show: { operation: ["wait", "full"] } }
|
|
540
558
|
},
|
|
541
559
|
{
|
|
542
560
|
displayName: "CSS Selector",
|
|
@@ -606,6 +624,60 @@ var BrowserCeki = class {
|
|
|
606
624
|
await client.disconnect();
|
|
607
625
|
continue;
|
|
608
626
|
}
|
|
627
|
+
if (op === "search") {
|
|
628
|
+
const geo = this.getNodeParameter("geo", i);
|
|
629
|
+
const maxPrice = this.getNodeParameter("maxPrice", i);
|
|
630
|
+
const list = await client.search({
|
|
631
|
+
geo: geo || void 0,
|
|
632
|
+
max_price_per_min: maxPrice
|
|
633
|
+
});
|
|
634
|
+
out.push({ json: { browsers: list, count: list.length } });
|
|
635
|
+
await client.disconnect();
|
|
636
|
+
continue;
|
|
637
|
+
}
|
|
638
|
+
if (op === "full") {
|
|
639
|
+
const demoMode = this.getNodeParameter("demoMode", i);
|
|
640
|
+
let sid2;
|
|
641
|
+
if (demoMode) {
|
|
642
|
+
sid2 = 99999;
|
|
643
|
+
} else {
|
|
644
|
+
sid2 = await resolveSid(i, client);
|
|
645
|
+
}
|
|
646
|
+
const mode = this.getNodeParameter("mode", i);
|
|
647
|
+
const url = this.getNodeParameter("url", i);
|
|
648
|
+
const ms = this.getNodeParameter("ms", i);
|
|
649
|
+
let session_id;
|
|
650
|
+
let binary;
|
|
651
|
+
try {
|
|
652
|
+
if (demoMode) {
|
|
653
|
+
session_id = "demo-" + Date.now();
|
|
654
|
+
const demoPng = Buffer.from("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", "base64");
|
|
655
|
+
binary = await this.helpers.prepareBinaryData(demoPng, "screenshot.png", "image/png");
|
|
656
|
+
} else {
|
|
657
|
+
browser = await client.rent(sid2, { mode });
|
|
658
|
+
session_id = browser.sessionId;
|
|
659
|
+
await browser.navigate(url);
|
|
660
|
+
await sleep(ms);
|
|
661
|
+
const shot = await browser.screenshot({ format: "png", fullPage: true });
|
|
662
|
+
const data = shot.toString("base64");
|
|
663
|
+
binary = await this.helpers.prepareBinaryData(Buffer.from(data, "base64"), "screenshot.png", "image/png");
|
|
664
|
+
await browser.close();
|
|
665
|
+
}
|
|
666
|
+
out.push({
|
|
667
|
+
json: {
|
|
668
|
+
session_id,
|
|
669
|
+
schedule_id: sid2,
|
|
670
|
+
mode,
|
|
671
|
+
url,
|
|
672
|
+
waited: ms
|
|
673
|
+
},
|
|
674
|
+
binary: { data: binary }
|
|
675
|
+
});
|
|
676
|
+
} finally {
|
|
677
|
+
await client.close();
|
|
678
|
+
}
|
|
679
|
+
continue;
|
|
680
|
+
}
|
|
609
681
|
const sessionId = this.getNodeParameter("sessionId", i);
|
|
610
682
|
browser = await client.resume(sessionId);
|
|
611
683
|
const sid = browser.sessionId;
|