@onkernel/cli 0.9.1 → 0.9.3
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 +4 -0
- package/lib.js +49 -9
- package/package.json +19 -19
package/README.md
CHANGED
|
@@ -152,6 +152,7 @@ Create an API key from the [Kernel dashboard](https://dashboard.onkernel.com).
|
|
|
152
152
|
- `-p, --persistence-id <id>` - Unique identifier for browser session persistence
|
|
153
153
|
- `-s, --stealth` - Launch browser in stealth mode to avoid detection
|
|
154
154
|
- `-H, --headless` - Launch browser without GUI access
|
|
155
|
+
- `--kiosk` - Launch browser in kiosk mode
|
|
155
156
|
- `kernel browsers delete <id or persistent id>` - Delete a browser
|
|
156
157
|
- `-y, --yes` - Skip confirmation prompt
|
|
157
158
|
- `kernel browsers view <id or persistent id>` - Get live view URL for a browser
|
|
@@ -306,6 +307,9 @@ kernel browsers create --persistence-id my-browser-session
|
|
|
306
307
|
# Create a headless browser in stealth mode
|
|
307
308
|
kernel browsers create --headless --stealth
|
|
308
309
|
|
|
310
|
+
# Create a browser in kiosk mode
|
|
311
|
+
kernel browsers create --kiosk
|
|
312
|
+
|
|
309
313
|
# Delete a persistent browser
|
|
310
314
|
kernel browsers delete --by-persistent-id my-browser-session --yes
|
|
311
315
|
|
package/lib.js
CHANGED
|
@@ -19,31 +19,61 @@ const getArchive = () => {
|
|
|
19
19
|
|
|
20
20
|
const binDir = path.join(__dirname, "bin");
|
|
21
21
|
|
|
22
|
-
async function extractTar(tarPath, binaries, dir) {
|
|
22
|
+
async function extractTar(tarPath, binaries, dir, wrappedIn) {
|
|
23
23
|
try {
|
|
24
|
+
const filesToExtract = wrappedIn
|
|
25
|
+
? binaries.map((bin) =>
|
|
26
|
+
path.join(wrappedIn, bin).replace(/\\/g, "/"),
|
|
27
|
+
)
|
|
28
|
+
: binaries;
|
|
29
|
+
|
|
24
30
|
await tar.x({
|
|
25
31
|
file: tarPath,
|
|
26
32
|
cwd: dir,
|
|
27
|
-
filter: (path) =>
|
|
33
|
+
filter: (path) => filesToExtract.includes(path),
|
|
28
34
|
});
|
|
29
|
-
|
|
35
|
+
|
|
36
|
+
// If wrapped, move files from wrapped directory to bin directory
|
|
37
|
+
if (wrappedIn) {
|
|
38
|
+
const wrappedDir = path.join(dir, wrappedIn);
|
|
39
|
+
for (const binary of binaries) {
|
|
40
|
+
const srcPath = path.join(wrappedDir, binary);
|
|
41
|
+
const destPath = path.join(dir, binary);
|
|
42
|
+
if (fs.existsSync(srcPath)) {
|
|
43
|
+
fs.renameSync(srcPath, destPath);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// Clean up empty wrapped directory
|
|
47
|
+
try {
|
|
48
|
+
fs.rmSync(wrappedDir, { recursive: true, force: true });
|
|
49
|
+
} catch (err) {
|
|
50
|
+
// Ignore cleanup errors
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
console.log(`Successfully extracted ${binaries} to "${dir}"`);
|
|
30
55
|
} catch (err) {
|
|
31
56
|
throw new Error(`Extraction failed: ${err.message}`);
|
|
32
57
|
}
|
|
33
58
|
}
|
|
34
59
|
|
|
35
|
-
async function extractZip(zipPath, binaries, dir) {
|
|
60
|
+
async function extractZip(zipPath, binaries, dir, wrappedIn) {
|
|
36
61
|
try {
|
|
37
62
|
const zipData = fs.readFileSync(zipPath);
|
|
38
63
|
const zip = await JSZip.loadAsync(zipData);
|
|
64
|
+
|
|
39
65
|
for (const binary of binaries) {
|
|
40
|
-
|
|
66
|
+
const binaryPath = wrappedIn
|
|
67
|
+
? path.join(wrappedIn, binary).replace(/\\/g, "/")
|
|
68
|
+
: binary;
|
|
69
|
+
|
|
70
|
+
if (!zip.files[binaryPath]) {
|
|
41
71
|
throw new Error(
|
|
42
|
-
`Error: ${
|
|
72
|
+
`Error: ${binaryPath} does not exist in ${zipPath}`,
|
|
43
73
|
);
|
|
44
74
|
}
|
|
45
75
|
|
|
46
|
-
const content = await zip.files[
|
|
76
|
+
const content = await zip.files[binaryPath].async("nodebuffer");
|
|
47
77
|
if (!fs.existsSync(dir)) {
|
|
48
78
|
fs.mkdirSync(dir, { recursive: true });
|
|
49
79
|
}
|
|
@@ -94,11 +124,21 @@ const install = async () => {
|
|
|
94
124
|
fs.chmodSync(bin, 0o755);
|
|
95
125
|
return;
|
|
96
126
|
case "zip":
|
|
97
|
-
return extractZip(
|
|
127
|
+
return extractZip(
|
|
128
|
+
archivePath,
|
|
129
|
+
archive.bins,
|
|
130
|
+
binDir,
|
|
131
|
+
archive.wrappedIn,
|
|
132
|
+
);
|
|
98
133
|
case "tar":
|
|
99
134
|
case "tar.gz":
|
|
100
135
|
case "tgz":
|
|
101
|
-
return extractTar(
|
|
136
|
+
return extractTar(
|
|
137
|
+
archivePath,
|
|
138
|
+
archive.bins,
|
|
139
|
+
binDir,
|
|
140
|
+
archive.wrappedIn,
|
|
141
|
+
);
|
|
102
142
|
case "tar.zst":
|
|
103
143
|
case "tzst":
|
|
104
144
|
case "tar.xz":
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onkernel/cli",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.3",
|
|
4
4
|
"description": "Kernel CLI",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"postinstall": "node install.js",
|
|
@@ -33,75 +33,75 @@
|
|
|
33
33
|
},
|
|
34
34
|
"archives": {
|
|
35
35
|
"darwin-arm64": {
|
|
36
|
-
"name": "kernel_0.9.
|
|
37
|
-
"url": "https://github.com/onkernel/cli/releases/download/v0.9.
|
|
36
|
+
"name": "kernel_0.9.3_darwin_arm64.tar.gz",
|
|
37
|
+
"url": "https://github.com/onkernel/cli/releases/download/v0.9.3/kernel_0.9.3_darwin_arm64.tar.gz",
|
|
38
38
|
"bins": [
|
|
39
39
|
"kernel"
|
|
40
40
|
],
|
|
41
41
|
"format": "tar.gz",
|
|
42
42
|
"checksum": {
|
|
43
43
|
"algorithm": "sha256",
|
|
44
|
-
"digest": "
|
|
44
|
+
"digest": "3463286609a1783bdd000df1b2c9d452406594d8febbc3c1011a2e9c9fd32069"
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
"darwin-x64": {
|
|
48
|
-
"name": "kernel_0.9.
|
|
49
|
-
"url": "https://github.com/onkernel/cli/releases/download/v0.9.
|
|
48
|
+
"name": "kernel_0.9.3_darwin_amd64.tar.gz",
|
|
49
|
+
"url": "https://github.com/onkernel/cli/releases/download/v0.9.3/kernel_0.9.3_darwin_amd64.tar.gz",
|
|
50
50
|
"bins": [
|
|
51
51
|
"kernel"
|
|
52
52
|
],
|
|
53
53
|
"format": "tar.gz",
|
|
54
54
|
"checksum": {
|
|
55
55
|
"algorithm": "sha256",
|
|
56
|
-
"digest": "
|
|
56
|
+
"digest": "bb82b3ff4ab5449feb9ddd4d22fdfd860669832e04716e402a90e898b4c0100b"
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
59
|
"linux-arm64": {
|
|
60
|
-
"name": "kernel_0.9.
|
|
61
|
-
"url": "https://github.com/onkernel/cli/releases/download/v0.9.
|
|
60
|
+
"name": "kernel_0.9.3_linux_arm64.tar.gz",
|
|
61
|
+
"url": "https://github.com/onkernel/cli/releases/download/v0.9.3/kernel_0.9.3_linux_arm64.tar.gz",
|
|
62
62
|
"bins": [
|
|
63
63
|
"kernel"
|
|
64
64
|
],
|
|
65
65
|
"format": "tar.gz",
|
|
66
66
|
"checksum": {
|
|
67
67
|
"algorithm": "sha256",
|
|
68
|
-
"digest": "
|
|
68
|
+
"digest": "092e5228fb6423f40de0686dcb9e66786bcc4e3ebe5d7098a8e396bb819f7e53"
|
|
69
69
|
}
|
|
70
70
|
},
|
|
71
71
|
"linux-x64": {
|
|
72
|
-
"name": "kernel_0.9.
|
|
73
|
-
"url": "https://github.com/onkernel/cli/releases/download/v0.9.
|
|
72
|
+
"name": "kernel_0.9.3_linux_amd64.tar.gz",
|
|
73
|
+
"url": "https://github.com/onkernel/cli/releases/download/v0.9.3/kernel_0.9.3_linux_amd64.tar.gz",
|
|
74
74
|
"bins": [
|
|
75
75
|
"kernel"
|
|
76
76
|
],
|
|
77
77
|
"format": "tar.gz",
|
|
78
78
|
"checksum": {
|
|
79
79
|
"algorithm": "sha256",
|
|
80
|
-
"digest": "
|
|
80
|
+
"digest": "f2d0b5efbfe35468905ac23af8c4d75ceb78fb695cf001f3c34e4c1d69de9854"
|
|
81
81
|
}
|
|
82
82
|
},
|
|
83
83
|
"win32-arm64": {
|
|
84
|
-
"name": "kernel_0.9.
|
|
85
|
-
"url": "https://github.com/onkernel/cli/releases/download/v0.9.
|
|
84
|
+
"name": "kernel_0.9.3_windows_arm64.tar.gz",
|
|
85
|
+
"url": "https://github.com/onkernel/cli/releases/download/v0.9.3/kernel_0.9.3_windows_arm64.tar.gz",
|
|
86
86
|
"bins": [
|
|
87
87
|
"kernel.exe"
|
|
88
88
|
],
|
|
89
89
|
"format": "tar.gz",
|
|
90
90
|
"checksum": {
|
|
91
91
|
"algorithm": "sha256",
|
|
92
|
-
"digest": "
|
|
92
|
+
"digest": "ec743eb0b3151261f17ba00043c9d62a78ae246787e074b5fa565caf0b9077b3"
|
|
93
93
|
}
|
|
94
94
|
},
|
|
95
95
|
"win32-x64": {
|
|
96
|
-
"name": "kernel_0.9.
|
|
97
|
-
"url": "https://github.com/onkernel/cli/releases/download/v0.9.
|
|
96
|
+
"name": "kernel_0.9.3_windows_amd64.tar.gz",
|
|
97
|
+
"url": "https://github.com/onkernel/cli/releases/download/v0.9.3/kernel_0.9.3_windows_amd64.tar.gz",
|
|
98
98
|
"bins": [
|
|
99
99
|
"kernel.exe"
|
|
100
100
|
],
|
|
101
101
|
"format": "tar.gz",
|
|
102
102
|
"checksum": {
|
|
103
103
|
"algorithm": "sha256",
|
|
104
|
-
"digest": "
|
|
104
|
+
"digest": "8684f565ff9f8d994978e8a830c0cd529e1b2e05683d0118bb79ee71c61854e9"
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
}
|