@akaanakbaik/pterodactyl-gateway 1.0.1 → 1.0.2
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 +188 -451
- package/dist/gateway.js +12 -8
- package/dist/gateway.js.map +1 -1
- package/package.json +36 -3
package/README.md
CHANGED
|
@@ -1,50 +1,75 @@
|
|
|
1
1
|
# Akadev Pterodactyl Gateway
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
|
-
<b>SDK TypeScript + CLI modern untuk mengelola Pterodactyl Panel dari bot, dashboard, backend, dan terminal.</b>
|
|
4
|
+
<b>SDK TypeScript + CLI modern untuk mengelola Pterodactyl Panel dari bot, dashboard, backend, website, dan terminal.</b>
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
|
-
<code>@akaanakbaik/pterodactyl-gateway</code> · <code>v1.0.
|
|
8
|
+
<code>@akaanakbaik/pterodactyl-gateway</code> · <code>v1.0.2</code> · <code>Node.js >=18</code> · <code>MIT</code>
|
|
9
9
|
</p>
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
<p align="center">
|
|
12
|
+
<a href="https://web-docs-pterodacty-gateway.vercel.app"><b>Web Docs</b></a>
|
|
13
|
+
·
|
|
14
|
+
<a href="https://www.npmjs.com/package/@akaanakbaik/pterodactyl-gateway"><b>npm</b></a>
|
|
15
|
+
·
|
|
16
|
+
<a href="https://github.com/akaanakbaik/pterodactyl-gateway"><b>GitHub</b></a>
|
|
17
|
+
</p>
|
|
18
|
+
|
|
19
|
+
Akadev Pterodactyl Gateway membantu kamu menghubungkan aplikasi Node.js ke Pterodactyl Panel dengan flow yang lebih aman, cepat, dan mudah diuji: cek koneksi, membuat user, membuat server, dry-run payload, mengelola file, startup variables, backups, schedules, power action, sampai helper integrasi bot/website.
|
|
12
20
|
|
|
13
21
|
> Package ini bukan package resmi dari Pterodactyl dan tidak berafiliasi dengan Pterodactyl Software.
|
|
14
22
|
|
|
23
|
+
## Web Docs
|
|
24
|
+
|
|
25
|
+
Dokumentasi lengkap versi web tersedia di:
|
|
26
|
+
|
|
27
|
+
```txt
|
|
28
|
+
https://web-docs-pterodacty-gateway.vercel.app
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Web docs berisi tutorial per halaman/path agar mudah dipahami pemula:
|
|
32
|
+
|
|
33
|
+
```txt
|
|
34
|
+
/docs/overview
|
|
35
|
+
/docs/install
|
|
36
|
+
/docs/config
|
|
37
|
+
/docs/cli-create-server
|
|
38
|
+
/docs/sdk
|
|
39
|
+
/docs/integrations/telegram-bot
|
|
40
|
+
/docs/integrations/whatsapp-bot
|
|
41
|
+
/docs/integrations/discord-bot
|
|
42
|
+
/docs/integrations/website-api
|
|
43
|
+
/docs/security
|
|
44
|
+
/docs/troubleshooting
|
|
45
|
+
/privacy
|
|
46
|
+
/terms
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Fitur web docs:
|
|
50
|
+
|
|
51
|
+
- Search lokal cepat.
|
|
52
|
+
- Floating AI assistant untuk pertanyaan seputar gateway.
|
|
53
|
+
- Tutorial step-by-step.
|
|
54
|
+
- Simulasi animasi penggunaan.
|
|
55
|
+
- Contoh integrasi Telegram bot, WhatsApp bot, Discord bot, website/API, SDK, CLI, dan troubleshooting.
|
|
56
|
+
- Privacy Policy dan Terms.
|
|
57
|
+
- SEO lengkap: sitemap, robots, canonical, OpenGraph, Twitter card, JSON-LD, manifest, dan SVG icon.
|
|
58
|
+
|
|
15
59
|
## Navigasi
|
|
16
60
|
|
|
17
|
-
- [Fitur utama](#fitur-utama)
|
|
18
61
|
- [Install](#install)
|
|
19
|
-
- [Quick start](#quick-start)
|
|
20
|
-
- [
|
|
21
|
-
- [
|
|
62
|
+
- [Quick start CLI](#quick-start-cli)
|
|
63
|
+
- [SDK usage](#sdk-usage)
|
|
64
|
+
- [Environment](#environment)
|
|
22
65
|
- [CLI reference](#cli-reference)
|
|
23
66
|
- [Preset dan template](#preset-dan-template)
|
|
24
|
-
- [Wizard interaktif](#wizard-interaktif)
|
|
25
|
-
- [SDK usage](#sdk-usage)
|
|
26
67
|
- [Integration helpers](#integration-helpers)
|
|
27
|
-
- [Contoh integrasi
|
|
28
|
-
- [Contoh integrasi bot Telegram](#contoh-integrasi-bot-telegram)
|
|
29
|
-
- [Contoh integrasi bot Discord](#contoh-integrasi-bot-discord)
|
|
30
|
-
- [Contoh integrasi website atau API](#contoh-integrasi-website-atau-api)
|
|
31
|
-
- [Tips produksi](#tips-produksi)
|
|
68
|
+
- [Contoh integrasi](#contoh-integrasi)
|
|
32
69
|
- [Keamanan](#keamanan)
|
|
33
70
|
- [Troubleshooting](#troubleshooting)
|
|
34
71
|
- [Release dan testing](#release-dan-testing)
|
|
35
72
|
|
|
36
|
-
## Fitur utama
|
|
37
|
-
|
|
38
|
-
- SDK TypeScript untuk Application API dan Client API Pterodactyl.
|
|
39
|
-
- CLI global: `ptero-gateway`, alias singkat `ptg`, dan wizard `ptero-wizard`.
|
|
40
|
-
- Config profile lokal agar tidak perlu export env berulang-ulang.
|
|
41
|
-
- Smart user creation dengan password otomatis.
|
|
42
|
-
- Smart server creation dengan dry-run, preset, auto docker image, auto startup, environment, dan allocation.
|
|
43
|
-
- Helper integrasi untuk WhatsApp bot, Telegram bot, Discord bot, Node.js API, website, Python bot, dan blank server.
|
|
44
|
-
- File manager, JSON helper, startup variables, network/ports, databases, backups, schedules, probe, resources, dan power action.
|
|
45
|
-
- Guard keamanan untuk aksi tulis via CLI dan command berbahaya.
|
|
46
|
-
- Release guard, self-check, release-check, dan pack dry-run untuk menjaga package tetap stabil.
|
|
47
|
-
|
|
48
73
|
## Install
|
|
49
74
|
|
|
50
75
|
Install sebagai dependency project:
|
|
@@ -67,7 +92,7 @@ ptero-gateway self-check
|
|
|
67
92
|
ptero-gateway release-check
|
|
68
93
|
```
|
|
69
94
|
|
|
70
|
-
## Quick start
|
|
95
|
+
## Quick start CLI
|
|
71
96
|
|
|
72
97
|
```bash
|
|
73
98
|
ptero-gateway config init \
|
|
@@ -77,12 +102,43 @@ ptero-gateway config init \
|
|
|
77
102
|
--ptlc ptlc_xxx
|
|
78
103
|
|
|
79
104
|
ptero-gateway doctor
|
|
80
|
-
ptero-gateway
|
|
105
|
+
ptero-gateway ids --nest 5
|
|
81
106
|
ptero-gateway admin users
|
|
82
107
|
ptero-gateway admin servers
|
|
108
|
+
ptero-gateway servers
|
|
83
109
|
```
|
|
84
110
|
|
|
85
|
-
|
|
111
|
+
Create server dengan dry-run:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
ptero-gateway admin create-server \
|
|
115
|
+
--name "aka test" \
|
|
116
|
+
--email user@example.com \
|
|
117
|
+
--username aka_test \
|
|
118
|
+
--password "password aman" \
|
|
119
|
+
--node 1 \
|
|
120
|
+
--nest 5 \
|
|
121
|
+
--egg 18 \
|
|
122
|
+
--preset basic \
|
|
123
|
+
--dry-run
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Create server asli:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
ptero-gateway admin create-server \
|
|
130
|
+
--name "aka test" \
|
|
131
|
+
--email user@example.com \
|
|
132
|
+
--username aka_test \
|
|
133
|
+
--password "password aman" \
|
|
134
|
+
--node 1 \
|
|
135
|
+
--nest 5 \
|
|
136
|
+
--egg 18 \
|
|
137
|
+
--preset basic \
|
|
138
|
+
--yes
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## SDK usage
|
|
86
142
|
|
|
87
143
|
```ts
|
|
88
144
|
import { createPtero } from "@akaanakbaik/pterodactyl-gateway";
|
|
@@ -92,7 +148,43 @@ const doctor = await ptero.doctor();
|
|
|
92
148
|
console.log(doctor);
|
|
93
149
|
```
|
|
94
150
|
|
|
95
|
-
|
|
151
|
+
Create server dari SDK:
|
|
152
|
+
|
|
153
|
+
```ts
|
|
154
|
+
const server = await ptero.servers.createSmart({
|
|
155
|
+
name: "Bot User",
|
|
156
|
+
email: "user@example.com",
|
|
157
|
+
username: "user_bot",
|
|
158
|
+
password: "auto",
|
|
159
|
+
autoCreateUser: true,
|
|
160
|
+
description: "Server bot user",
|
|
161
|
+
nodeId: 1,
|
|
162
|
+
nestId: 5,
|
|
163
|
+
eggId: 18,
|
|
164
|
+
specs: {
|
|
165
|
+
memory: "1GB",
|
|
166
|
+
disk: "2GB",
|
|
167
|
+
cpu: "100%",
|
|
168
|
+
databases: 0,
|
|
169
|
+
allocations: 1,
|
|
170
|
+
backups: 0
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Client server handle:
|
|
176
|
+
|
|
177
|
+
```ts
|
|
178
|
+
const serverHandle = ptero.server("311d56b7");
|
|
179
|
+
|
|
180
|
+
await serverHandle.resources();
|
|
181
|
+
await serverHandle.files.list("/");
|
|
182
|
+
await serverHandle.files.write("/tmp/hello.txt", "halo");
|
|
183
|
+
await serverHandle.startup.set("CMD_RUN", "node index.js");
|
|
184
|
+
await serverHandle.start();
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## Environment
|
|
96
188
|
|
|
97
189
|
Gunakan environment variable untuk deployment:
|
|
98
190
|
|
|
@@ -110,47 +202,10 @@ PTERO_PTLC=ptlc_xxxxxxxxxxxxxxxxx
|
|
|
110
202
|
|
|
111
203
|
Tips:
|
|
112
204
|
|
|
113
|
-
-
|
|
114
|
-
-
|
|
115
|
-
- Jangan
|
|
116
|
-
- Pisahkan key
|
|
117
|
-
|
|
118
|
-
## Config profile lokal
|
|
119
|
-
|
|
120
|
-
Config profile memudahkan penggunaan CLI di VPS pribadi.
|
|
121
|
-
|
|
122
|
-
```bash
|
|
123
|
-
ptero-gateway config init \
|
|
124
|
-
--profile main \
|
|
125
|
-
--domain https://panel.example.com \
|
|
126
|
-
--ptla ptla_xxx \
|
|
127
|
-
--ptlc ptlc_xxx
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
File config disimpan di:
|
|
131
|
-
|
|
132
|
-
```txt
|
|
133
|
-
~/.pterodactyl-gateway/config.json
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
Command config:
|
|
137
|
-
|
|
138
|
-
```bash
|
|
139
|
-
ptero-gateway config path
|
|
140
|
-
ptero-gateway config list
|
|
141
|
-
ptero-gateway config show main
|
|
142
|
-
ptero-gateway config use main
|
|
143
|
-
ptero-gateway config rename main production
|
|
144
|
-
ptero-gateway config delete production --yes
|
|
145
|
-
ptero-gateway config env main
|
|
146
|
-
ptero-gateway config doctor
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
Catatan:
|
|
150
|
-
|
|
151
|
-
- File config mengandung API key, jangan upload atau screenshot penuh.
|
|
152
|
-
- Permission file otomatis dibuat `600` jika filesystem mendukung.
|
|
153
|
-
- CLI akan memakai active profile jika env belum tersedia.
|
|
205
|
+
- PTLA hanya untuk backend/admin service.
|
|
206
|
+
- PTLC hanya untuk fitur client server yang diperlukan.
|
|
207
|
+
- Jangan hardcode key ke source code, repo, frontend, pesan bot, atau log publik.
|
|
208
|
+
- Pisahkan key development dan production.
|
|
154
209
|
|
|
155
210
|
## CLI reference
|
|
156
211
|
|
|
@@ -167,62 +222,11 @@ ptero-gateway ids
|
|
|
167
222
|
ptero-gateway ids --nest 5
|
|
168
223
|
```
|
|
169
224
|
|
|
170
|
-
Admin
|
|
225
|
+
Admin:
|
|
171
226
|
|
|
172
227
|
```bash
|
|
173
228
|
ptero-gateway admin users
|
|
174
229
|
ptero-gateway admin servers
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
Client list:
|
|
178
|
-
|
|
179
|
-
```bash
|
|
180
|
-
ptero-gateway servers
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
Create user:
|
|
184
|
-
|
|
185
|
-
```bash
|
|
186
|
-
ptero-gateway admin create-user \
|
|
187
|
-
--username aka_test \
|
|
188
|
-
--email user@example.com \
|
|
189
|
-
--password "password aman" \
|
|
190
|
-
--yes
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
Create server dengan dry-run:
|
|
194
|
-
|
|
195
|
-
```bash
|
|
196
|
-
ptero-gateway admin create-server \
|
|
197
|
-
--name "aka test" \
|
|
198
|
-
--email "user@example.com" \
|
|
199
|
-
--username "aka_test" \
|
|
200
|
-
--password "password aman" \
|
|
201
|
-
--node 1 \
|
|
202
|
-
--nest 5 \
|
|
203
|
-
--egg 18 \
|
|
204
|
-
--preset basic \
|
|
205
|
-
--dry-run
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
Create server asli:
|
|
209
|
-
|
|
210
|
-
```bash
|
|
211
|
-
ptero-gateway admin create-server \
|
|
212
|
-
--name "aka test" \
|
|
213
|
-
--email "user@example.com" \
|
|
214
|
-
--username "aka_test" \
|
|
215
|
-
--password "password aman" \
|
|
216
|
-
--node 1 \
|
|
217
|
-
--nest 5 \
|
|
218
|
-
--egg 18 \
|
|
219
|
-
--preset basic \
|
|
220
|
-
--yes
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
Admin server:
|
|
224
|
-
|
|
225
|
-
```bash
|
|
226
230
|
ptero-gateway admin server 5 detail
|
|
227
231
|
ptero-gateway admin server 5 limits
|
|
228
232
|
ptero-gateway admin server 5 update-limits --backups 1 --yes
|
|
@@ -246,14 +250,7 @@ ptero-gateway server 311d56b7 backups
|
|
|
246
250
|
ptero-gateway server 311d56b7 schedules
|
|
247
251
|
```
|
|
248
252
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
```bash
|
|
252
|
-
ptero-gateway server 311d56b7 write /tmp/test.txt "halo" --yes
|
|
253
|
-
ptero-gateway server 311d56b7 write /index.js "console.log('halo')" --yes --allow-any-path
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
Power action:
|
|
253
|
+
Power dan command:
|
|
257
254
|
|
|
258
255
|
```bash
|
|
259
256
|
ptero-gateway server 311d56b7 start --yes
|
|
@@ -265,151 +262,37 @@ ptero-gateway server 311d56b7 command "npm start" --yes
|
|
|
265
262
|
|
|
266
263
|
## Preset dan template
|
|
267
264
|
|
|
268
|
-
Lihat preset resource:
|
|
269
|
-
|
|
270
265
|
```bash
|
|
271
266
|
ptero-gateway presets
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
| Preset | Memory | Disk | CPU | Database | Allocation | Backup | Cocok untuk |
|
|
275
|
-
|---|---:|---:|---:|---:|---:|---:|---|
|
|
276
|
-
| `mini` | 512MB | 1GB | 50% | 0 | 1 | 0 | Testing dan bot kecil. |
|
|
277
|
-
| `basic` | 1GB | 2GB | 100% | 0 | 1 | 0 | Bot Telegram/Discord sederhana. |
|
|
278
|
-
| `standard` | 2GB | 5GB | 200% | 1 | 1 | 1 | Bot WhatsApp, API, website kecil. |
|
|
279
|
-
| `premium` | 4GB | 10GB | 300% | 2 | 2 | 2 | Project lebih aktif. |
|
|
280
|
-
| `unlimited` | 0 | 0 | 0 | 5 | 3 | 3 | Resource unlimited sesuai aturan panel. |
|
|
281
|
-
|
|
282
|
-
Lihat template:
|
|
283
|
-
|
|
284
|
-
```bash
|
|
285
267
|
ptero-gateway templates list
|
|
286
268
|
ptero-gateway templates show nodejs-bot
|
|
287
269
|
ptero-gateway templates command nodejs-bot --name "bot saya" --email user@example.com --node 1 --nest 5 --egg 18
|
|
288
270
|
```
|
|
289
271
|
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
- `nodejs-bot`
|
|
293
|
-
- `nodejs-api`
|
|
294
|
-
- `wa-bot`
|
|
295
|
-
- `python-bot`
|
|
296
|
-
- `blank`
|
|
297
|
-
|
|
298
|
-
## Wizard interaktif
|
|
299
|
-
|
|
300
|
-
```bash
|
|
301
|
-
ptero-wizard help
|
|
302
|
-
ptero-wizard create-user --dry-run
|
|
303
|
-
ptero-wizard create-server --dry-run
|
|
304
|
-
ptero-wizard create-server --yes
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
Wizard tidak mengelola node, location, atau allocation. Node ID, Nest ID, dan Egg ID tetap harus dipilih oleh admin.
|
|
308
|
-
|
|
309
|
-
## SDK usage
|
|
272
|
+
Preset bawaan:
|
|
310
273
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
});
|
|
319
|
-
|
|
320
|
-
await ptero.connect();
|
|
321
|
-
```
|
|
322
|
-
|
|
323
|
-
Create user:
|
|
324
|
-
|
|
325
|
-
```ts
|
|
326
|
-
const user = await ptero.users.createSmart({
|
|
327
|
-
username: "aka_test",
|
|
328
|
-
email: "user@example.com",
|
|
329
|
-
password: "auto",
|
|
330
|
-
administrator: "no"
|
|
331
|
-
});
|
|
332
|
-
```
|
|
333
|
-
|
|
334
|
-
Create server:
|
|
335
|
-
|
|
336
|
-
```ts
|
|
337
|
-
const server = await ptero.servers.createSmart({
|
|
338
|
-
name: "Bot Aka",
|
|
339
|
-
email: "user@example.com",
|
|
340
|
-
username: "aka_test",
|
|
341
|
-
password: "auto",
|
|
342
|
-
autoCreateUser: true,
|
|
343
|
-
description: "Server bot untuk user",
|
|
344
|
-
nodeId: 1,
|
|
345
|
-
nestId: 5,
|
|
346
|
-
eggId: 18,
|
|
347
|
-
specs: {
|
|
348
|
-
memory: "1GB",
|
|
349
|
-
disk: "2GB",
|
|
350
|
-
cpu: "100%",
|
|
351
|
-
databases: 0,
|
|
352
|
-
allocations: 1,
|
|
353
|
-
backups: 0
|
|
354
|
-
}
|
|
355
|
-
});
|
|
356
|
-
```
|
|
357
|
-
|
|
358
|
-
Preview dan dry-run:
|
|
359
|
-
|
|
360
|
-
```ts
|
|
361
|
-
const preview = await ptero.servers.previewCreate(input);
|
|
362
|
-
const dryRun = await ptero.servers.createSmart(input, { dryRun: true });
|
|
363
|
-
console.log(preview.payload, dryRun.payload);
|
|
364
|
-
```
|
|
365
|
-
|
|
366
|
-
Client server:
|
|
367
|
-
|
|
368
|
-
```ts
|
|
369
|
-
const server = ptero.server("311d56b7");
|
|
370
|
-
|
|
371
|
-
await server.resources();
|
|
372
|
-
await server.files.list("/");
|
|
373
|
-
await server.files.read("/package.json");
|
|
374
|
-
await server.files.write("/tmp/test.txt", "halo");
|
|
375
|
-
await server.startup.variables();
|
|
376
|
-
await server.startup.set("CMD_RUN", "node index.js");
|
|
377
|
-
await server.backups.list();
|
|
378
|
-
await server.start();
|
|
379
|
-
```
|
|
274
|
+
| Preset | Cocok untuk |
|
|
275
|
+
|---|---|
|
|
276
|
+
| `mini` | Testing dan bot kecil. |
|
|
277
|
+
| `basic` | Bot Telegram/Discord sederhana. |
|
|
278
|
+
| `standard` | Bot WhatsApp, API, website kecil. |
|
|
279
|
+
| `premium` | Project lebih aktif. |
|
|
280
|
+
| `unlimited` | Resource unlimited sesuai aturan panel. |
|
|
380
281
|
|
|
381
|
-
|
|
282
|
+
Template bawaan:
|
|
382
283
|
|
|
383
|
-
```
|
|
384
|
-
|
|
385
|
-
|
|
284
|
+
```txt
|
|
285
|
+
nodejs-bot
|
|
286
|
+
nodejs-api
|
|
287
|
+
wa-bot
|
|
288
|
+
python-bot
|
|
289
|
+
blank
|
|
386
290
|
```
|
|
387
291
|
|
|
388
292
|
## Integration helpers
|
|
389
293
|
|
|
390
294
|
Helper integrasi membuat input server lebih konsisten untuk bot dan website.
|
|
391
295
|
|
|
392
|
-
```ts
|
|
393
|
-
import { createIntegrationServerInput } from "@akaanakbaik/pterodactyl-gateway";
|
|
394
|
-
|
|
395
|
-
const input = createIntegrationServerInput({
|
|
396
|
-
kind: "whatsapp-bot",
|
|
397
|
-
name: "WA Bot Aka",
|
|
398
|
-
email: "user@example.com",
|
|
399
|
-
username: "aka_wa",
|
|
400
|
-
password: "auto",
|
|
401
|
-
autoCreateUser: true,
|
|
402
|
-
nodeId: 1,
|
|
403
|
-
nestId: 5,
|
|
404
|
-
eggId: 18,
|
|
405
|
-
environment: {
|
|
406
|
-
OWNER: "aka"
|
|
407
|
-
}
|
|
408
|
-
});
|
|
409
|
-
```
|
|
410
|
-
|
|
411
|
-
Service helper:
|
|
412
|
-
|
|
413
296
|
```ts
|
|
414
297
|
import { createIntegrationService } from "@akaanakbaik/pterodactyl-gateway";
|
|
415
298
|
|
|
@@ -440,212 +323,63 @@ Kind yang tersedia:
|
|
|
440
323
|
"whatsapp-bot" | "telegram-bot" | "discord-bot" | "nodejs-api" | "website" | "python-bot" | "blank"
|
|
441
324
|
```
|
|
442
325
|
|
|
443
|
-
## Contoh integrasi
|
|
326
|
+
## Contoh integrasi
|
|
444
327
|
|
|
445
|
-
|
|
328
|
+
Telegram bot:
|
|
446
329
|
|
|
447
330
|
```ts
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
}, {
|
|
455
|
-
nodeId: Number(process.env.PTERO_NODE_ID),
|
|
456
|
-
nestId: Number(process.env.PTERO_NEST_ID),
|
|
457
|
-
eggId: Number(process.env.PTERO_EGG_ID),
|
|
458
|
-
preset: "standard",
|
|
459
|
-
autoCreateUser: true
|
|
331
|
+
const result = await service.create({
|
|
332
|
+
kind: "telegram-bot",
|
|
333
|
+
name: `tg-${ctx.from.id}`,
|
|
334
|
+
email: `${ctx.from.id}@telegram.local`,
|
|
335
|
+
username: `tg_${ctx.from.id}`,
|
|
336
|
+
password: "auto"
|
|
460
337
|
});
|
|
461
|
-
|
|
462
|
-
export async function createWaBotPanel(order) {
|
|
463
|
-
try {
|
|
464
|
-
const result = await pterodactyl.create({
|
|
465
|
-
kind: "whatsapp-bot",
|
|
466
|
-
name: `wa-${order.username}`,
|
|
467
|
-
email: order.email,
|
|
468
|
-
username: order.username,
|
|
469
|
-
password: "auto",
|
|
470
|
-
environment: {
|
|
471
|
-
OWNER_NUMBER: order.ownerNumber,
|
|
472
|
-
BOT_NAME: order.botName
|
|
473
|
-
}
|
|
474
|
-
});
|
|
475
|
-
return { ok: true, result };
|
|
476
|
-
} catch (error) {
|
|
477
|
-
return { ok: false, message: explainError(error) };
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
338
|
```
|
|
481
339
|
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
- Simpan session WhatsApp di volume server, bukan di memory.
|
|
485
|
-
- Jangan kirim password panel ke grup publik.
|
|
486
|
-
- Gunakan queue agar create server tidak bentrok saat order ramai.
|
|
487
|
-
- Selalu dry-run payload untuk paket baru sebelum digunakan production.
|
|
488
|
-
|
|
489
|
-
## Contoh integrasi bot Telegram
|
|
490
|
-
|
|
491
|
-
Contoh handler command Telegram:
|
|
340
|
+
WhatsApp bot:
|
|
492
341
|
|
|
493
342
|
```ts
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
}, {
|
|
504
|
-
nodeId: Number(process.env.PTERO_NODE_ID),
|
|
505
|
-
nestId: Number(process.env.PTERO_NEST_ID),
|
|
506
|
-
eggId: Number(process.env.PTERO_EGG_ID),
|
|
507
|
-
preset: "basic",
|
|
508
|
-
autoCreateUser: true
|
|
509
|
-
});
|
|
510
|
-
|
|
511
|
-
bot.command("createpanel", async ctx => {
|
|
512
|
-
try {
|
|
513
|
-
const email = `${ctx.from.id}@telegram.local`;
|
|
514
|
-
const result = await pterodactyl.create({
|
|
515
|
-
kind: "telegram-bot",
|
|
516
|
-
name: `tg-${ctx.from.id}`,
|
|
517
|
-
email,
|
|
518
|
-
username: `tg_${ctx.from.id}`,
|
|
519
|
-
password: "auto"
|
|
520
|
-
});
|
|
521
|
-
await ctx.reply(`Panel berhasil dibuat: ${result.identifier ?? result.id}`);
|
|
522
|
-
} catch (error) {
|
|
523
|
-
await ctx.reply(explainError(error));
|
|
343
|
+
const result = await service.create({
|
|
344
|
+
kind: "whatsapp-bot",
|
|
345
|
+
name: `wa-${order.username}`,
|
|
346
|
+
email: order.email,
|
|
347
|
+
username: order.username,
|
|
348
|
+
password: "auto",
|
|
349
|
+
environment: {
|
|
350
|
+
OWNER_NUMBER: order.phone,
|
|
351
|
+
BOT_NAME: order.botName
|
|
524
352
|
}
|
|
525
353
|
});
|
|
526
|
-
|
|
527
|
-
bot.start();
|
|
528
|
-
```
|
|
529
|
-
|
|
530
|
-
Saran untuk bot Telegram:
|
|
531
|
-
|
|
532
|
-
- Batasi command create panel hanya untuk admin atau user yang sudah bayar.
|
|
533
|
-
- Simpan riwayat transaksi di database sendiri.
|
|
534
|
-
- Gunakan `dryRun` saat testing paket baru.
|
|
535
|
-
- Pakai `ctx.from.id` sebagai referensi unik, bukan username Telegram yang bisa berubah.
|
|
536
|
-
|
|
537
|
-
## Contoh integrasi bot Discord
|
|
538
|
-
|
|
539
|
-
```ts
|
|
540
|
-
import { Client, GatewayIntentBits } from "discord.js";
|
|
541
|
-
import { createIntegrationService, explainError } from "@akaanakbaik/pterodactyl-gateway";
|
|
542
|
-
|
|
543
|
-
const client = new Client({ intents: [GatewayIntentBits.Guilds] });
|
|
544
|
-
|
|
545
|
-
const pterodactyl = createIntegrationService({
|
|
546
|
-
domain: process.env.PTERO_DOMAIN,
|
|
547
|
-
ptla: process.env.PTERO_PTLA,
|
|
548
|
-
ptlc: process.env.PTERO_PTLC
|
|
549
|
-
}, {
|
|
550
|
-
nodeId: Number(process.env.PTERO_NODE_ID),
|
|
551
|
-
nestId: Number(process.env.PTERO_NEST_ID),
|
|
552
|
-
eggId: Number(process.env.PTERO_EGG_ID),
|
|
553
|
-
preset: "basic",
|
|
554
|
-
autoCreateUser: true
|
|
555
|
-
});
|
|
556
|
-
|
|
557
|
-
async function createDiscordPanel(interaction) {
|
|
558
|
-
try {
|
|
559
|
-
const result = await pterodactyl.create({
|
|
560
|
-
kind: "discord-bot",
|
|
561
|
-
name: `dc-${interaction.user.id}`,
|
|
562
|
-
email: `${interaction.user.id}@discord.local`,
|
|
563
|
-
username: `dc_${interaction.user.id}`,
|
|
564
|
-
password: "auto"
|
|
565
|
-
});
|
|
566
|
-
await interaction.reply({ content: `Server dibuat: ${result.identifier ?? result.id}`, ephemeral: true });
|
|
567
|
-
} catch (error) {
|
|
568
|
-
await interaction.reply({ content: explainError(error), ephemeral: true });
|
|
569
|
-
}
|
|
570
|
-
}
|
|
571
|
-
|
|
572
|
-
client.login(process.env.DISCORD_TOKEN);
|
|
573
354
|
```
|
|
574
355
|
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
- Gunakan ephemeral reply untuk data sensitif.
|
|
578
|
-
- Jangan menampilkan password/API key di channel publik.
|
|
579
|
-
- Batasi role yang boleh create server.
|
|
580
|
-
|
|
581
|
-
## Contoh integrasi website atau API
|
|
582
|
-
|
|
583
|
-
Contoh Express API:
|
|
356
|
+
Website/API:
|
|
584
357
|
|
|
585
358
|
```ts
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
const app = express();
|
|
590
|
-
app.use(express.json());
|
|
591
|
-
|
|
592
|
-
const pterodactyl = createIntegrationService({
|
|
593
|
-
domain: process.env.PTERO_DOMAIN,
|
|
594
|
-
ptla: process.env.PTERO_PTLA,
|
|
595
|
-
ptlc: process.env.PTERO_PTLC
|
|
596
|
-
}, {
|
|
597
|
-
nodeId: Number(process.env.PTERO_NODE_ID),
|
|
598
|
-
nestId: Number(process.env.PTERO_NEST_ID),
|
|
599
|
-
eggId: Number(process.env.PTERO_EGG_ID),
|
|
600
|
-
preset: "standard",
|
|
601
|
-
autoCreateUser: true
|
|
602
|
-
});
|
|
359
|
+
app.post("/api/panel/create", async (req, res) => {
|
|
360
|
+
const paid = await checkPayment(req.body.orderId);
|
|
361
|
+
if (!paid) return res.status(403).json({ ok: false, error: "Belum dibayar" });
|
|
603
362
|
|
|
604
|
-
|
|
605
|
-
const preview = await pterodactyl.dryRun({
|
|
363
|
+
const result = await service.create({
|
|
606
364
|
kind: "website",
|
|
607
365
|
name: req.body.name,
|
|
608
366
|
email: req.body.email,
|
|
609
367
|
username: req.body.username,
|
|
610
368
|
password: "auto"
|
|
611
369
|
});
|
|
612
|
-
res.json(preview);
|
|
613
|
-
});
|
|
614
370
|
|
|
615
|
-
|
|
616
|
-
try {
|
|
617
|
-
const result = await pterodactyl.create({
|
|
618
|
-
kind: "website",
|
|
619
|
-
name: req.body.name,
|
|
620
|
-
email: req.body.email,
|
|
621
|
-
username: req.body.username,
|
|
622
|
-
password: "auto"
|
|
623
|
-
});
|
|
624
|
-
res.json({ ok: true, result });
|
|
625
|
-
} catch (error) {
|
|
626
|
-
res.status(400).json({ ok: false, error: explainError(error) });
|
|
627
|
-
}
|
|
371
|
+
res.json({ ok: true, result });
|
|
628
372
|
});
|
|
629
|
-
|
|
630
|
-
app.listen(3000);
|
|
631
373
|
```
|
|
632
374
|
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
- Endpoint create panel wajib dilindungi auth admin atau status pembayaran.
|
|
636
|
-
- Jangan menjalankan create server langsung dari frontend.
|
|
637
|
-
- Simpan audit log order, Telegram ID/Discord ID/user ID, email, server ID, dan identifier.
|
|
638
|
-
- Gunakan rate limit per user/IP.
|
|
375
|
+
Dokumentasi contoh lengkap ada di web docs:
|
|
639
376
|
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
-
|
|
643
|
-
-
|
|
644
|
-
-
|
|
645
|
-
|
|
646
|
-
- Buat queue job untuk create server agar transaksi tidak race condition.
|
|
647
|
-
- Simpan hasil `identifier`, `uuid`, `id`, dan password yang generated hanya sekali.
|
|
648
|
-
- Untuk server bot, start manual setelah file source siap agar status tidak gagal.
|
|
377
|
+
```txt
|
|
378
|
+
https://web-docs-pterodacty-gateway.vercel.app/docs/integrations/telegram-bot
|
|
379
|
+
https://web-docs-pterodacty-gateway.vercel.app/docs/integrations/whatsapp-bot
|
|
380
|
+
https://web-docs-pterodacty-gateway.vercel.app/docs/integrations/discord-bot
|
|
381
|
+
https://web-docs-pterodacty-gateway.vercel.app/docs/integrations/website-api
|
|
382
|
+
```
|
|
649
383
|
|
|
650
384
|
## Keamanan
|
|
651
385
|
|
|
@@ -654,14 +388,13 @@ Saran untuk website:
|
|
|
654
388
|
- Jangan log password generated ke public log.
|
|
655
389
|
- Semua aksi tulis/ubah via CLI wajib `--yes`.
|
|
656
390
|
- Write file CLI default hanya boleh ke `/tmp`; path lain wajib `--allow-any-path`.
|
|
657
|
-
- Command berbahaya
|
|
391
|
+
- Command berbahaya diblokir oleh guard command.
|
|
658
392
|
- Delete user/server permanen tidak dibuka di CLI stabil.
|
|
659
393
|
- Command node/location/allocation management tidak dibuka di CLI stabil.
|
|
394
|
+
- Frontend tidak boleh memegang API key panel. Gunakan backend untuk semua aksi create server.
|
|
660
395
|
|
|
661
396
|
## Troubleshooting
|
|
662
397
|
|
|
663
|
-
Lihat daftar error:
|
|
664
|
-
|
|
665
398
|
```bash
|
|
666
399
|
ptero-gateway explain DOMAIN_REQUIRED
|
|
667
400
|
ptero-gateway explain DOCKER_IMAGE_NOT_FOUND
|
|
@@ -677,13 +410,17 @@ Masalah umum:
|
|
|
677
410
|
| PTLA tidak valid | Buat ulang Application API Key dan pastikan permission cukup. |
|
|
678
411
|
| PTLC tidak valid | Buat ulang Client API Key dari account panel. |
|
|
679
412
|
| Docker image tidak ditemukan | Cek egg Docker Images atau isi `--docker-image`. |
|
|
680
|
-
| Tidak ada allocation kosong | Tambahkan allocation
|
|
413
|
+
| Tidak ada allocation kosong | Tambahkan allocation dari panel admin node. |
|
|
681
414
|
| Backup gagal limit 0 | Naikkan limit backup server dulu. |
|
|
682
415
|
| Binary global konflik | Hapus `/usr/bin/ptero-gateway`, `/usr/bin/ptg`, lalu install ulang. |
|
|
683
416
|
|
|
684
|
-
|
|
417
|
+
Tutorial lengkap troubleshooting:
|
|
685
418
|
|
|
686
|
-
|
|
419
|
+
```txt
|
|
420
|
+
https://web-docs-pterodacty-gateway.vercel.app/docs/troubleshooting
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
## Release dan testing
|
|
687
424
|
|
|
688
425
|
```bash
|
|
689
426
|
git clone https://github.com/akaanakbaik/pterodactyl-gateway.git
|
|
@@ -697,8 +434,8 @@ Checklist publish:
|
|
|
697
434
|
```bash
|
|
698
435
|
npm run verify
|
|
699
436
|
npm publish --access public
|
|
700
|
-
npm view @akaanakbaik/pterodactyl-gateway@1.0.
|
|
701
|
-
npm i -g @akaanakbaik/pterodactyl-gateway@1.0.
|
|
437
|
+
npm view @akaanakbaik/pterodactyl-gateway@1.0.2 version --prefer-online --registry=https://registry.npmjs.org/
|
|
438
|
+
npm i -g @akaanakbaik/pterodactyl-gateway@1.0.2 --force --prefer-online --registry=https://registry.npmjs.org/
|
|
702
439
|
ptero-gateway self-check
|
|
703
440
|
ptero-gateway release-check
|
|
704
441
|
ptero-gateway doctor
|
|
@@ -706,12 +443,12 @@ ptero-gateway doctor
|
|
|
706
443
|
|
|
707
444
|
## Versi npm lama
|
|
708
445
|
|
|
709
|
-
Rilis utama yang direkomendasikan adalah `1.0.
|
|
446
|
+
Rilis utama yang direkomendasikan adalah `1.0.2` atau `latest`. Versi lama tidak dipromosikan lagi di dokumentasi.
|
|
710
447
|
|
|
711
|
-
Contoh:
|
|
448
|
+
Contoh deprecate versi lama:
|
|
712
449
|
|
|
713
450
|
```bash
|
|
714
|
-
npm deprecate @akaanakbaik/pterodactyl-gateway@"<1.0.0" "Versi lama tidak direkomendasikan. Gunakan @akaanakbaik/pterodactyl-gateway@
|
|
451
|
+
npm deprecate @akaanakbaik/pterodactyl-gateway@"<1.0.0" "Versi lama tidak direkomendasikan. Gunakan @akaanakbaik/pterodactyl-gateway@latest."
|
|
715
452
|
```
|
|
716
453
|
|
|
717
454
|
## Lisensi
|
package/dist/gateway.js
CHANGED
|
@@ -19,7 +19,7 @@ export class PteroGateway {
|
|
|
19
19
|
this.applicationKey = config.ptla ?? config.applicationKey;
|
|
20
20
|
this.clientKey = config.ptlc ?? config.clientKey;
|
|
21
21
|
this.timeout = config.timeout ?? 15000;
|
|
22
|
-
this.userAgent = config.userAgent ?? "AkadevPterodactylGateway/0.
|
|
22
|
+
this.userAgent = config.userAgent ?? "AkadevPterodactylGateway/1.0.0";
|
|
23
23
|
this.safeMode = config.safeMode ?? true;
|
|
24
24
|
this.presets = config.presets ?? {};
|
|
25
25
|
this.http = new HttpCore({
|
|
@@ -355,8 +355,8 @@ export class PteroServerHandle {
|
|
|
355
355
|
return this.power("kill");
|
|
356
356
|
}
|
|
357
357
|
command(command, options) {
|
|
358
|
-
if (!options?.allowDangerous && isDangerousCommand(command))
|
|
359
|
-
throw new PteroError({ code: "DANGEROUS_COMMAND_BLOCKED", message: "Command terlihat berbahaya dan diblokir oleh safe mode.", hint: "Gunakan allowDangerous: true hanya jika benar-benar paham risikonya." });
|
|
358
|
+
if (this.gateway.safeMode && !options?.allowDangerous && isDangerousCommand(command))
|
|
359
|
+
throw new PteroError({ code: "DANGEROUS_COMMAND_BLOCKED", message: "Command terlihat berbahaya dan diblokir oleh safe mode.", hint: "Gunakan allowDangerous: true atau safeMode: false hanya jika benar-benar paham risikonya." });
|
|
360
360
|
return this.gateway.raw.client.post(`/servers/${this.identifier}/command`, { command });
|
|
361
361
|
}
|
|
362
362
|
}
|
|
@@ -407,10 +407,14 @@ function mapTaskInput(input) {
|
|
|
407
407
|
return output;
|
|
408
408
|
}
|
|
409
409
|
function isDangerousCommand(command) {
|
|
410
|
-
const value = command.toLowerCase();
|
|
411
|
-
const
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
410
|
+
const value = command.toLowerCase().trim();
|
|
411
|
+
const patterns = [
|
|
412
|
+
/(^|[;&|`$()\s])rm\s+-[a-z]*r[a-z]*f[a-z]*\s+(\/|\/\*|~|~\/|\.\.)(\s|$)/,
|
|
413
|
+
/(^|[;&|`$()\s])mkfs(\.|\s|$)/,
|
|
414
|
+
/(^|[;&|`$()\s])dd\s+.*\bof=\/(dev|boot|etc|usr|var|home|root)\b/,
|
|
415
|
+
/(^|[;&|`$()\s])(shutdown|poweroff|halt|reboot)(\s|$)/,
|
|
416
|
+
/:\s*\(\s*\)\s*\{\s*:\s*\|\s*:\s*&\s*}\s*;/
|
|
417
|
+
];
|
|
418
|
+
return patterns.some(pattern => pattern.test(value));
|
|
415
419
|
}
|
|
416
420
|
//# sourceMappingURL=gateway.js.map
|
package/dist/gateway.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akaanakbaik/pterodactyl-gateway",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "SDK
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"description": "TypeScript SDK dan CLI untuk Pterodactyl Panel: create user/server, bot integration, dashboard automation, file manager, backups, schedules, dan server control.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
"add-promt.md",
|
|
24
24
|
"LICENSE"
|
|
25
25
|
],
|
|
26
|
+
"sideEffects": false,
|
|
26
27
|
"scripts": {
|
|
27
28
|
"clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
28
29
|
"build": "npm run clean && tsc -p tsconfig.json && npm run chmod:bin",
|
|
@@ -32,6 +33,8 @@
|
|
|
32
33
|
"test:cli": "npm run build && node dist/cli-entry.js help && ./dist/cli-entry.js help && node dist/cli-entry.js version && node dist/cli-entry.js self-check && node dist/cli-entry.js release-check && node dist/cli-entry.js presets && node dist/cli-entry.js templates list && node dist/cli-entry.js config help && node dist/cli-entry.js config doctor && node dist/cli-entry.js explain DOMAIN_REQUIRED && node dist/cli-entry.js env-template && node dist/wizard-cli.js help && ./dist/wizard-cli.js help",
|
|
33
34
|
"test:pack": "npm run build && npm pack --dry-run",
|
|
34
35
|
"test:release": "node scripts/release-guard.js",
|
|
36
|
+
"security:audit": "npm audit --audit-level=high",
|
|
37
|
+
"ci": "npm run verify && npm run security:audit",
|
|
35
38
|
"cli": "node dist/cli-entry.js",
|
|
36
39
|
"wizard": "node dist/wizard-cli.js",
|
|
37
40
|
"verify": "npm run typecheck && npm test && npm run test:cli && npm run test:release && npm run test:pack",
|
|
@@ -42,12 +45,42 @@
|
|
|
42
45
|
"pterodactyl-panel",
|
|
43
46
|
"pterodactyl-api",
|
|
44
47
|
"pterodactyl-sdk",
|
|
48
|
+
"pterodactyl-cli",
|
|
49
|
+
"pterodactyl-client",
|
|
50
|
+
"pterodactyl-application-api",
|
|
51
|
+
"pterodactyl-client-api",
|
|
45
52
|
"pterodactyl-gateway",
|
|
46
53
|
"server-control",
|
|
47
|
-
"
|
|
54
|
+
"server-management",
|
|
55
|
+
"game-panel",
|
|
56
|
+
"hosting-panel",
|
|
57
|
+
"panel-automation",
|
|
58
|
+
"bot-hosting",
|
|
59
|
+
"whatsapp-bot",
|
|
60
|
+
"telegram-bot",
|
|
61
|
+
"discord-bot",
|
|
62
|
+
"baileys",
|
|
63
|
+
"grammy",
|
|
64
|
+
"discordjs",
|
|
65
|
+
"dashboard",
|
|
66
|
+
"typescript",
|
|
67
|
+
"nodejs",
|
|
68
|
+
"sdk",
|
|
69
|
+
"cli"
|
|
48
70
|
],
|
|
49
71
|
"author": "akaanakbaik",
|
|
50
72
|
"license": "MIT",
|
|
73
|
+
"homepage": "https://github.com/akaanakbaik/pterodactyl-gateway#readme",
|
|
74
|
+
"repository": {
|
|
75
|
+
"type": "git",
|
|
76
|
+
"url": "git+https://github.com/akaanakbaik/pterodactyl-gateway.git"
|
|
77
|
+
},
|
|
78
|
+
"bugs": {
|
|
79
|
+
"url": "https://github.com/akaanakbaik/pterodactyl-gateway/issues"
|
|
80
|
+
},
|
|
81
|
+
"publishConfig": {
|
|
82
|
+
"access": "public"
|
|
83
|
+
},
|
|
51
84
|
"engines": {
|
|
52
85
|
"node": ">=18"
|
|
53
86
|
},
|