@olib-ai/owl-browser-sdk 2.0.2 → 2.0.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/openapi.json +894 -6
- package/package.json +1 -1
package/openapi.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "Owl Browser API",
|
|
5
5
|
"description": "REST API for browser automation with anti-detection capabilities",
|
|
6
|
-
"version": "1.0.
|
|
6
|
+
"version": "1.0.8"
|
|
7
7
|
},
|
|
8
8
|
"servers": [
|
|
9
9
|
{
|
|
@@ -6952,7 +6952,7 @@
|
|
|
6952
6952
|
"/api/execute/ipc_tests_get_report": {
|
|
6953
6953
|
"post": {
|
|
6954
6954
|
"summary": "Ipc Tests Get Report",
|
|
6955
|
-
"description": "Get a specific IPC test report by run_id. Returns
|
|
6955
|
+
"description": "Get a specific IPC test report by run_id. Returns JSON data, HTML dashboard, or raw log output depending on the format parameter. JSON includes detailed test results, latency stats, resource usage, and failure details. HTML is an interactive dashboard with charts. Log returns the test client's stdout/stderr output for debugging failures.",
|
|
6956
6956
|
"tags": [
|
|
6957
6957
|
"General"
|
|
6958
6958
|
],
|
|
@@ -6969,10 +6969,11 @@
|
|
|
6969
6969
|
},
|
|
6970
6970
|
"format": {
|
|
6971
6971
|
"type": "string",
|
|
6972
|
-
"description": "Report format to return. Options: 'json' (raw test data), 'html' (interactive dashboard). Default: 'json'",
|
|
6972
|
+
"description": "Report format to return. Options: 'json' (raw test data), 'html' (interactive dashboard), 'log' (test client stdout/stderr output). Default: 'json'",
|
|
6973
6973
|
"enum": [
|
|
6974
6974
|
"json",
|
|
6975
|
-
"html"
|
|
6975
|
+
"html",
|
|
6976
|
+
"log"
|
|
6976
6977
|
]
|
|
6977
6978
|
}
|
|
6978
6979
|
},
|
|
@@ -6999,7 +7000,7 @@
|
|
|
6999
7000
|
"/api/execute/ipc_tests_delete_report": {
|
|
7000
7001
|
"post": {
|
|
7001
7002
|
"summary": "Ipc Tests Delete Report",
|
|
7002
|
-
"description": "Delete an IPC test report by run_id. Removes
|
|
7003
|
+
"description": "Delete an IPC test report by run_id. Removes JSON, HTML, and log files from disk. Use to clean up old test results.",
|
|
7003
7004
|
"tags": [
|
|
7004
7005
|
"General"
|
|
7005
7006
|
],
|
|
@@ -7038,7 +7039,7 @@
|
|
|
7038
7039
|
"/api/execute/ipc_tests_clean_all": {
|
|
7039
7040
|
"post": {
|
|
7040
7041
|
"summary": "Ipc Tests Clean All",
|
|
7041
|
-
"description": "Delete all IPC test reports. Removes all JSON and
|
|
7042
|
+
"description": "Delete all IPC test reports. Removes all JSON, HTML, and log files from the reports directory. Use to clean up all test history.",
|
|
7042
7043
|
"tags": [
|
|
7043
7044
|
"General"
|
|
7044
7045
|
],
|
|
@@ -7176,6 +7177,893 @@
|
|
|
7176
7177
|
}
|
|
7177
7178
|
}
|
|
7178
7179
|
}
|
|
7180
|
+
},
|
|
7181
|
+
"/api/execute/http_request": {
|
|
7182
|
+
"post": {
|
|
7183
|
+
"summary": "Http Request",
|
|
7184
|
+
"description": "Make an HTTP/HTTPS request with full control over method, headers, body, authentication, proxy, and TLS settings. Supports GET, POST, PUT, DELETE, PATCH, HEAD, and OPTIONS methods. Includes proxy support (HTTP, HTTPS, SOCKS4, SOCKS5, SOCKS5H) and built-in Tor integration for anonymous requests. Returns status code, response headers, body, timing information, and redirect details. Use 'output' parameter to control body format: 'text' for UTF-8, 'base64' for binary content, 'json' for parsed JSON.",
|
|
7185
|
+
"tags": [
|
|
7186
|
+
"General"
|
|
7187
|
+
],
|
|
7188
|
+
"requestBody": {
|
|
7189
|
+
"required": true,
|
|
7190
|
+
"content": {
|
|
7191
|
+
"application/json": {
|
|
7192
|
+
"schema": {
|
|
7193
|
+
"type": "object",
|
|
7194
|
+
"properties": {
|
|
7195
|
+
"url": {
|
|
7196
|
+
"type": "string",
|
|
7197
|
+
"description": "The full URL to request, including protocol (e.g., 'https://api.example.com/data'). Supports http:// and https:// protocols."
|
|
7198
|
+
},
|
|
7199
|
+
"method": {
|
|
7200
|
+
"type": "string",
|
|
7201
|
+
"description": "HTTP method to use. Options: 'GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS'. Default: 'GET'",
|
|
7202
|
+
"enum": [
|
|
7203
|
+
"GET",
|
|
7204
|
+
"POST",
|
|
7205
|
+
"PUT",
|
|
7206
|
+
"DELETE",
|
|
7207
|
+
"PATCH",
|
|
7208
|
+
"HEAD",
|
|
7209
|
+
"OPTIONS"
|
|
7210
|
+
]
|
|
7211
|
+
},
|
|
7212
|
+
"headers": {
|
|
7213
|
+
"type": "string",
|
|
7214
|
+
"description": "HTTP headers as JSON object string (e.g., '{\"Content-Type\": \"application/json\", \"X-Custom\": \"value\"}'). Each key-value pair becomes a request header."
|
|
7215
|
+
},
|
|
7216
|
+
"body": {
|
|
7217
|
+
"type": "string",
|
|
7218
|
+
"description": "Request body content. For JSON APIs, pass a JSON string and set Content-Type header to 'application/json'. For form data, use URL-encoded format with Content-Type 'application/x-www-form-urlencoded'."
|
|
7219
|
+
},
|
|
7220
|
+
"cookies": {
|
|
7221
|
+
"type": "string",
|
|
7222
|
+
"description": "Cookies to send with the request as 'name=value; name2=value2' format."
|
|
7223
|
+
},
|
|
7224
|
+
"auth_type": {
|
|
7225
|
+
"type": "string",
|
|
7226
|
+
"description": "Authentication type. Options: 'none', 'basic', 'bearer', 'digest'. Default: 'none'",
|
|
7227
|
+
"enum": [
|
|
7228
|
+
"none",
|
|
7229
|
+
"basic",
|
|
7230
|
+
"bearer",
|
|
7231
|
+
"digest"
|
|
7232
|
+
]
|
|
7233
|
+
},
|
|
7234
|
+
"auth_username": {
|
|
7235
|
+
"type": "string",
|
|
7236
|
+
"description": "Username for basic or digest authentication."
|
|
7237
|
+
},
|
|
7238
|
+
"auth_password": {
|
|
7239
|
+
"type": "string",
|
|
7240
|
+
"description": "Password for basic or digest authentication."
|
|
7241
|
+
},
|
|
7242
|
+
"auth_token": {
|
|
7243
|
+
"type": "string",
|
|
7244
|
+
"description": "Bearer token for bearer authentication (without 'Bearer ' prefix)."
|
|
7245
|
+
},
|
|
7246
|
+
"proxy_type": {
|
|
7247
|
+
"type": "string",
|
|
7248
|
+
"description": "Type of proxy server. Options: 'http', 'https', 'socks4', 'socks5', 'socks5h'. Use 'socks5h' for remote DNS resolution (recommended for privacy).",
|
|
7249
|
+
"enum": [
|
|
7250
|
+
"http",
|
|
7251
|
+
"https",
|
|
7252
|
+
"socks4",
|
|
7253
|
+
"socks5",
|
|
7254
|
+
"socks5h"
|
|
7255
|
+
]
|
|
7256
|
+
},
|
|
7257
|
+
"proxy_host": {
|
|
7258
|
+
"type": "string",
|
|
7259
|
+
"description": "Proxy server hostname or IP address."
|
|
7260
|
+
},
|
|
7261
|
+
"proxy_port": {
|
|
7262
|
+
"type": "string",
|
|
7263
|
+
"description": "Proxy server port number."
|
|
7264
|
+
},
|
|
7265
|
+
"proxy_username": {
|
|
7266
|
+
"type": "string",
|
|
7267
|
+
"description": "Username for proxy authentication."
|
|
7268
|
+
},
|
|
7269
|
+
"proxy_password": {
|
|
7270
|
+
"type": "string",
|
|
7271
|
+
"description": "Password for proxy authentication."
|
|
7272
|
+
},
|
|
7273
|
+
"use_tor": {
|
|
7274
|
+
"type": "boolean",
|
|
7275
|
+
"description": "Use built-in Tor proxy (SOCKS5H at 127.0.0.1:9050) for anonymous requests. Overrides any proxy settings. Default: false"
|
|
7276
|
+
},
|
|
7277
|
+
"follow_redirects": {
|
|
7278
|
+
"type": "boolean",
|
|
7279
|
+
"description": "Follow HTTP redirects automatically. Default: true"
|
|
7280
|
+
},
|
|
7281
|
+
"max_redirects": {
|
|
7282
|
+
"type": "string",
|
|
7283
|
+
"description": "Maximum number of redirects to follow. Default: 10"
|
|
7284
|
+
},
|
|
7285
|
+
"timeout": {
|
|
7286
|
+
"type": "string",
|
|
7287
|
+
"description": "Total request timeout in milliseconds. Default: 30000 (30 seconds)"
|
|
7288
|
+
},
|
|
7289
|
+
"connect_timeout": {
|
|
7290
|
+
"type": "string",
|
|
7291
|
+
"description": "Connection timeout in milliseconds. Default: 10000 (10 seconds)"
|
|
7292
|
+
},
|
|
7293
|
+
"ssl_verify": {
|
|
7294
|
+
"type": "boolean",
|
|
7295
|
+
"description": "Verify SSL/TLS certificates. Set to false for self-signed certificates. Default: true"
|
|
7296
|
+
},
|
|
7297
|
+
"ca_cert_path": {
|
|
7298
|
+
"type": "string",
|
|
7299
|
+
"description": "Path to custom CA certificate bundle file (.pem) for SSL verification."
|
|
7300
|
+
},
|
|
7301
|
+
"user_agent": {
|
|
7302
|
+
"type": "string",
|
|
7303
|
+
"description": "Custom User-Agent header string. Overrides default."
|
|
7304
|
+
},
|
|
7305
|
+
"output": {
|
|
7306
|
+
"type": "string",
|
|
7307
|
+
"description": "Response body output format. 'text' for UTF-8 text, 'base64' for binary content encoded as base64, 'json' to attempt JSON parsing. Default: 'text'",
|
|
7308
|
+
"enum": [
|
|
7309
|
+
"text",
|
|
7310
|
+
"base64",
|
|
7311
|
+
"json"
|
|
7312
|
+
]
|
|
7313
|
+
}
|
|
7314
|
+
},
|
|
7315
|
+
"required": [
|
|
7316
|
+
"url"
|
|
7317
|
+
]
|
|
7318
|
+
}
|
|
7319
|
+
}
|
|
7320
|
+
}
|
|
7321
|
+
},
|
|
7322
|
+
"responses": {
|
|
7323
|
+
"200": {
|
|
7324
|
+
"description": "Successful response"
|
|
7325
|
+
},
|
|
7326
|
+
"400": {
|
|
7327
|
+
"description": "Bad request"
|
|
7328
|
+
},
|
|
7329
|
+
"401": {
|
|
7330
|
+
"description": "Unauthorized"
|
|
7331
|
+
}
|
|
7332
|
+
}
|
|
7333
|
+
}
|
|
7334
|
+
},
|
|
7335
|
+
"/api/execute/http_download": {
|
|
7336
|
+
"post": {
|
|
7337
|
+
"summary": "Http Download",
|
|
7338
|
+
"description": "Download a file from an HTTP/HTTPS URL and save it to disk. Supports resume for interrupted downloads, custom output paths, proxy configuration, and Tor anonymization. If no output path is specified, the file is saved to /tmp/owl_downloads/ with a filename derived from the URL or Content-Disposition header. Returns the file path, size, content type, and download timing.",
|
|
7339
|
+
"tags": [
|
|
7340
|
+
"General"
|
|
7341
|
+
],
|
|
7342
|
+
"requestBody": {
|
|
7343
|
+
"required": true,
|
|
7344
|
+
"content": {
|
|
7345
|
+
"application/json": {
|
|
7346
|
+
"schema": {
|
|
7347
|
+
"type": "object",
|
|
7348
|
+
"properties": {
|
|
7349
|
+
"url": {
|
|
7350
|
+
"type": "string",
|
|
7351
|
+
"description": "The URL of the file to download. Supports http:// and https:// protocols."
|
|
7352
|
+
},
|
|
7353
|
+
"output_path": {
|
|
7354
|
+
"type": "string",
|
|
7355
|
+
"description": "Full path where the file should be saved. If not specified, saves to /tmp/owl_downloads/ with filename derived from URL or Content-Disposition header."
|
|
7356
|
+
},
|
|
7357
|
+
"headers": {
|
|
7358
|
+
"type": "string",
|
|
7359
|
+
"description": "HTTP headers as JSON object string."
|
|
7360
|
+
},
|
|
7361
|
+
"cookies": {
|
|
7362
|
+
"type": "string",
|
|
7363
|
+
"description": "Cookies to send with the request as 'name=value; name2=value2' format."
|
|
7364
|
+
},
|
|
7365
|
+
"proxy_type": {
|
|
7366
|
+
"type": "string",
|
|
7367
|
+
"description": "Type of proxy server.",
|
|
7368
|
+
"enum": [
|
|
7369
|
+
"http",
|
|
7370
|
+
"https",
|
|
7371
|
+
"socks4",
|
|
7372
|
+
"socks5",
|
|
7373
|
+
"socks5h"
|
|
7374
|
+
]
|
|
7375
|
+
},
|
|
7376
|
+
"proxy_host": {
|
|
7377
|
+
"type": "string",
|
|
7378
|
+
"description": "Proxy server hostname or IP address."
|
|
7379
|
+
},
|
|
7380
|
+
"proxy_port": {
|
|
7381
|
+
"type": "string",
|
|
7382
|
+
"description": "Proxy server port number."
|
|
7383
|
+
},
|
|
7384
|
+
"proxy_username": {
|
|
7385
|
+
"type": "string",
|
|
7386
|
+
"description": "Username for proxy authentication."
|
|
7387
|
+
},
|
|
7388
|
+
"proxy_password": {
|
|
7389
|
+
"type": "string",
|
|
7390
|
+
"description": "Password for proxy authentication."
|
|
7391
|
+
},
|
|
7392
|
+
"use_tor": {
|
|
7393
|
+
"type": "boolean",
|
|
7394
|
+
"description": "Use built-in Tor proxy for anonymous download. Default: false"
|
|
7395
|
+
},
|
|
7396
|
+
"timeout": {
|
|
7397
|
+
"type": "string",
|
|
7398
|
+
"description": "Download timeout in milliseconds. Default: 30000 (30 seconds)"
|
|
7399
|
+
},
|
|
7400
|
+
"ssl_verify": {
|
|
7401
|
+
"type": "boolean",
|
|
7402
|
+
"description": "Verify SSL/TLS certificates. Default: true"
|
|
7403
|
+
},
|
|
7404
|
+
"ca_cert_path": {
|
|
7405
|
+
"type": "string",
|
|
7406
|
+
"description": "Path to custom CA certificate bundle file."
|
|
7407
|
+
},
|
|
7408
|
+
"resume": {
|
|
7409
|
+
"type": "boolean",
|
|
7410
|
+
"description": "Resume an interrupted download if the server supports byte ranges. Default: false"
|
|
7411
|
+
},
|
|
7412
|
+
"user_agent": {
|
|
7413
|
+
"type": "string",
|
|
7414
|
+
"description": "Custom User-Agent header string."
|
|
7415
|
+
}
|
|
7416
|
+
},
|
|
7417
|
+
"required": [
|
|
7418
|
+
"url"
|
|
7419
|
+
]
|
|
7420
|
+
}
|
|
7421
|
+
}
|
|
7422
|
+
}
|
|
7423
|
+
},
|
|
7424
|
+
"responses": {
|
|
7425
|
+
"200": {
|
|
7426
|
+
"description": "Successful response"
|
|
7427
|
+
},
|
|
7428
|
+
"400": {
|
|
7429
|
+
"description": "Bad request"
|
|
7430
|
+
},
|
|
7431
|
+
"401": {
|
|
7432
|
+
"description": "Unauthorized"
|
|
7433
|
+
}
|
|
7434
|
+
}
|
|
7435
|
+
}
|
|
7436
|
+
},
|
|
7437
|
+
"/api/execute/ftp_list": {
|
|
7438
|
+
"post": {
|
|
7439
|
+
"summary": "Ftp List",
|
|
7440
|
+
"description": "List the contents of an FTP directory. Returns the directory listing as text. Supports authenticated FTP, FTPS (FTP over SSL/TLS), proxy configuration, and Tor anonymization. The URL must end with a trailing slash for directory listings.",
|
|
7441
|
+
"tags": [
|
|
7442
|
+
"General"
|
|
7443
|
+
],
|
|
7444
|
+
"requestBody": {
|
|
7445
|
+
"required": true,
|
|
7446
|
+
"content": {
|
|
7447
|
+
"application/json": {
|
|
7448
|
+
"schema": {
|
|
7449
|
+
"type": "object",
|
|
7450
|
+
"properties": {
|
|
7451
|
+
"url": {
|
|
7452
|
+
"type": "string",
|
|
7453
|
+
"description": "FTP URL to list (e.g., 'ftp://ftp.example.com/pub/'). Must end with / for directory listing."
|
|
7454
|
+
},
|
|
7455
|
+
"username": {
|
|
7456
|
+
"type": "string",
|
|
7457
|
+
"description": "FTP username. Default: anonymous"
|
|
7458
|
+
},
|
|
7459
|
+
"password": {
|
|
7460
|
+
"type": "string",
|
|
7461
|
+
"description": "FTP password. Default: empty"
|
|
7462
|
+
},
|
|
7463
|
+
"proxy_type": {
|
|
7464
|
+
"type": "string",
|
|
7465
|
+
"description": "Type of proxy server.",
|
|
7466
|
+
"enum": [
|
|
7467
|
+
"http",
|
|
7468
|
+
"https",
|
|
7469
|
+
"socks4",
|
|
7470
|
+
"socks5",
|
|
7471
|
+
"socks5h"
|
|
7472
|
+
]
|
|
7473
|
+
},
|
|
7474
|
+
"proxy_host": {
|
|
7475
|
+
"type": "string",
|
|
7476
|
+
"description": "Proxy server hostname or IP address."
|
|
7477
|
+
},
|
|
7478
|
+
"proxy_port": {
|
|
7479
|
+
"type": "string",
|
|
7480
|
+
"description": "Proxy server port number."
|
|
7481
|
+
},
|
|
7482
|
+
"proxy_username": {
|
|
7483
|
+
"type": "string",
|
|
7484
|
+
"description": "Username for proxy authentication."
|
|
7485
|
+
},
|
|
7486
|
+
"proxy_password": {
|
|
7487
|
+
"type": "string",
|
|
7488
|
+
"description": "Password for proxy authentication."
|
|
7489
|
+
},
|
|
7490
|
+
"use_tor": {
|
|
7491
|
+
"type": "boolean",
|
|
7492
|
+
"description": "Use built-in Tor proxy. Default: false"
|
|
7493
|
+
},
|
|
7494
|
+
"timeout": {
|
|
7495
|
+
"type": "string",
|
|
7496
|
+
"description": "Timeout in milliseconds. Default: 30000"
|
|
7497
|
+
},
|
|
7498
|
+
"use_ssl": {
|
|
7499
|
+
"type": "boolean",
|
|
7500
|
+
"description": "Use FTPS (FTP over SSL/TLS). Default: false"
|
|
7501
|
+
}
|
|
7502
|
+
},
|
|
7503
|
+
"required": [
|
|
7504
|
+
"url"
|
|
7505
|
+
]
|
|
7506
|
+
}
|
|
7507
|
+
}
|
|
7508
|
+
}
|
|
7509
|
+
},
|
|
7510
|
+
"responses": {
|
|
7511
|
+
"200": {
|
|
7512
|
+
"description": "Successful response"
|
|
7513
|
+
},
|
|
7514
|
+
"400": {
|
|
7515
|
+
"description": "Bad request"
|
|
7516
|
+
},
|
|
7517
|
+
"401": {
|
|
7518
|
+
"description": "Unauthorized"
|
|
7519
|
+
}
|
|
7520
|
+
}
|
|
7521
|
+
}
|
|
7522
|
+
},
|
|
7523
|
+
"/api/execute/ftp_download": {
|
|
7524
|
+
"post": {
|
|
7525
|
+
"summary": "Ftp Download",
|
|
7526
|
+
"description": "Download a file from an FTP server. Supports authenticated FTP, FTPS (FTP over SSL/TLS), proxy configuration, and Tor anonymization. If no output path is specified, saves to /tmp/owl_downloads/. Returns file path, size, and download timing.",
|
|
7527
|
+
"tags": [
|
|
7528
|
+
"General"
|
|
7529
|
+
],
|
|
7530
|
+
"requestBody": {
|
|
7531
|
+
"required": true,
|
|
7532
|
+
"content": {
|
|
7533
|
+
"application/json": {
|
|
7534
|
+
"schema": {
|
|
7535
|
+
"type": "object",
|
|
7536
|
+
"properties": {
|
|
7537
|
+
"url": {
|
|
7538
|
+
"type": "string",
|
|
7539
|
+
"description": "FTP URL of the file to download (e.g., 'ftp://ftp.example.com/pub/file.tar.gz')."
|
|
7540
|
+
},
|
|
7541
|
+
"output_path": {
|
|
7542
|
+
"type": "string",
|
|
7543
|
+
"description": "Full path where the file should be saved. If not specified, saves to /tmp/owl_downloads/."
|
|
7544
|
+
},
|
|
7545
|
+
"username": {
|
|
7546
|
+
"type": "string",
|
|
7547
|
+
"description": "FTP username. Default: anonymous"
|
|
7548
|
+
},
|
|
7549
|
+
"password": {
|
|
7550
|
+
"type": "string",
|
|
7551
|
+
"description": "FTP password. Default: empty"
|
|
7552
|
+
},
|
|
7553
|
+
"proxy_type": {
|
|
7554
|
+
"type": "string",
|
|
7555
|
+
"description": "Type of proxy server.",
|
|
7556
|
+
"enum": [
|
|
7557
|
+
"http",
|
|
7558
|
+
"https",
|
|
7559
|
+
"socks4",
|
|
7560
|
+
"socks5",
|
|
7561
|
+
"socks5h"
|
|
7562
|
+
]
|
|
7563
|
+
},
|
|
7564
|
+
"proxy_host": {
|
|
7565
|
+
"type": "string",
|
|
7566
|
+
"description": "Proxy server hostname or IP address."
|
|
7567
|
+
},
|
|
7568
|
+
"proxy_port": {
|
|
7569
|
+
"type": "string",
|
|
7570
|
+
"description": "Proxy server port number."
|
|
7571
|
+
},
|
|
7572
|
+
"proxy_username": {
|
|
7573
|
+
"type": "string",
|
|
7574
|
+
"description": "Username for proxy authentication."
|
|
7575
|
+
},
|
|
7576
|
+
"proxy_password": {
|
|
7577
|
+
"type": "string",
|
|
7578
|
+
"description": "Password for proxy authentication."
|
|
7579
|
+
},
|
|
7580
|
+
"use_tor": {
|
|
7581
|
+
"type": "boolean",
|
|
7582
|
+
"description": "Use built-in Tor proxy. Default: false"
|
|
7583
|
+
},
|
|
7584
|
+
"timeout": {
|
|
7585
|
+
"type": "string",
|
|
7586
|
+
"description": "Timeout in milliseconds. Default: 30000"
|
|
7587
|
+
},
|
|
7588
|
+
"use_ssl": {
|
|
7589
|
+
"type": "boolean",
|
|
7590
|
+
"description": "Use FTPS (FTP over SSL/TLS). Default: false"
|
|
7591
|
+
}
|
|
7592
|
+
},
|
|
7593
|
+
"required": [
|
|
7594
|
+
"url"
|
|
7595
|
+
]
|
|
7596
|
+
}
|
|
7597
|
+
}
|
|
7598
|
+
}
|
|
7599
|
+
},
|
|
7600
|
+
"responses": {
|
|
7601
|
+
"200": {
|
|
7602
|
+
"description": "Successful response"
|
|
7603
|
+
},
|
|
7604
|
+
"400": {
|
|
7605
|
+
"description": "Bad request"
|
|
7606
|
+
},
|
|
7607
|
+
"401": {
|
|
7608
|
+
"description": "Unauthorized"
|
|
7609
|
+
}
|
|
7610
|
+
}
|
|
7611
|
+
}
|
|
7612
|
+
},
|
|
7613
|
+
"/api/execute/ftp_upload": {
|
|
7614
|
+
"post": {
|
|
7615
|
+
"summary": "Ftp Upload",
|
|
7616
|
+
"description": "Upload a local file to an FTP server. Supports authenticated FTP, FTPS (FTP over SSL/TLS), proxy configuration, and Tor anonymization. Specify the FTP destination URL and local file path.",
|
|
7617
|
+
"tags": [
|
|
7618
|
+
"General"
|
|
7619
|
+
],
|
|
7620
|
+
"requestBody": {
|
|
7621
|
+
"required": true,
|
|
7622
|
+
"content": {
|
|
7623
|
+
"application/json": {
|
|
7624
|
+
"schema": {
|
|
7625
|
+
"type": "object",
|
|
7626
|
+
"properties": {
|
|
7627
|
+
"url": {
|
|
7628
|
+
"type": "string",
|
|
7629
|
+
"description": "FTP URL where the file should be uploaded (e.g., 'ftp://ftp.example.com/uploads/file.txt')."
|
|
7630
|
+
},
|
|
7631
|
+
"file_path": {
|
|
7632
|
+
"type": "string",
|
|
7633
|
+
"description": "Local path of the file to upload."
|
|
7634
|
+
},
|
|
7635
|
+
"username": {
|
|
7636
|
+
"type": "string",
|
|
7637
|
+
"description": "FTP username. Default: anonymous"
|
|
7638
|
+
},
|
|
7639
|
+
"password": {
|
|
7640
|
+
"type": "string",
|
|
7641
|
+
"description": "FTP password. Default: empty"
|
|
7642
|
+
},
|
|
7643
|
+
"proxy_type": {
|
|
7644
|
+
"type": "string",
|
|
7645
|
+
"description": "Type of proxy server.",
|
|
7646
|
+
"enum": [
|
|
7647
|
+
"http",
|
|
7648
|
+
"https",
|
|
7649
|
+
"socks4",
|
|
7650
|
+
"socks5",
|
|
7651
|
+
"socks5h"
|
|
7652
|
+
]
|
|
7653
|
+
},
|
|
7654
|
+
"proxy_host": {
|
|
7655
|
+
"type": "string",
|
|
7656
|
+
"description": "Proxy server hostname or IP address."
|
|
7657
|
+
},
|
|
7658
|
+
"proxy_port": {
|
|
7659
|
+
"type": "string",
|
|
7660
|
+
"description": "Proxy server port number."
|
|
7661
|
+
},
|
|
7662
|
+
"proxy_username": {
|
|
7663
|
+
"type": "string",
|
|
7664
|
+
"description": "Username for proxy authentication."
|
|
7665
|
+
},
|
|
7666
|
+
"proxy_password": {
|
|
7667
|
+
"type": "string",
|
|
7668
|
+
"description": "Password for proxy authentication."
|
|
7669
|
+
},
|
|
7670
|
+
"use_tor": {
|
|
7671
|
+
"type": "boolean",
|
|
7672
|
+
"description": "Use built-in Tor proxy. Default: false"
|
|
7673
|
+
},
|
|
7674
|
+
"timeout": {
|
|
7675
|
+
"type": "string",
|
|
7676
|
+
"description": "Timeout in milliseconds. Default: 30000"
|
|
7677
|
+
},
|
|
7678
|
+
"use_ssl": {
|
|
7679
|
+
"type": "boolean",
|
|
7680
|
+
"description": "Use FTPS (FTP over SSL/TLS). Default: false"
|
|
7681
|
+
}
|
|
7682
|
+
},
|
|
7683
|
+
"required": [
|
|
7684
|
+
"url",
|
|
7685
|
+
"file_path"
|
|
7686
|
+
]
|
|
7687
|
+
}
|
|
7688
|
+
}
|
|
7689
|
+
}
|
|
7690
|
+
},
|
|
7691
|
+
"responses": {
|
|
7692
|
+
"200": {
|
|
7693
|
+
"description": "Successful response"
|
|
7694
|
+
},
|
|
7695
|
+
"400": {
|
|
7696
|
+
"description": "Bad request"
|
|
7697
|
+
},
|
|
7698
|
+
"401": {
|
|
7699
|
+
"description": "Unauthorized"
|
|
7700
|
+
}
|
|
7701
|
+
}
|
|
7702
|
+
}
|
|
7703
|
+
},
|
|
7704
|
+
"/api/execute/http_session_create": {
|
|
7705
|
+
"post": {
|
|
7706
|
+
"summary": "Http Session Create",
|
|
7707
|
+
"description": "Create a persistent HTTP session with automatic cookie management. Cookies received from servers are stored and automatically sent with subsequent requests in the same session. Configure default headers, proxy, user agent, and TLS settings that apply to all requests in the session. Returns a session_id for use with http_session_request and other session tools. Maximum 64 concurrent sessions.",
|
|
7708
|
+
"tags": [
|
|
7709
|
+
"General"
|
|
7710
|
+
],
|
|
7711
|
+
"requestBody": {
|
|
7712
|
+
"required": true,
|
|
7713
|
+
"content": {
|
|
7714
|
+
"application/json": {
|
|
7715
|
+
"schema": {
|
|
7716
|
+
"type": "object",
|
|
7717
|
+
"properties": {
|
|
7718
|
+
"headers": {
|
|
7719
|
+
"type": "string",
|
|
7720
|
+
"description": "Default HTTP headers as JSON object string. Applied to all session requests unless overridden."
|
|
7721
|
+
},
|
|
7722
|
+
"user_agent": {
|
|
7723
|
+
"type": "string",
|
|
7724
|
+
"description": "Default User-Agent for all session requests."
|
|
7725
|
+
},
|
|
7726
|
+
"follow_redirects": {
|
|
7727
|
+
"type": "boolean",
|
|
7728
|
+
"description": "Default redirect following behavior. Default: true"
|
|
7729
|
+
},
|
|
7730
|
+
"max_redirects": {
|
|
7731
|
+
"type": "string",
|
|
7732
|
+
"description": "Default maximum redirects. Default: 10"
|
|
7733
|
+
},
|
|
7734
|
+
"ssl_verify": {
|
|
7735
|
+
"type": "boolean",
|
|
7736
|
+
"description": "Default SSL verification. Default: true"
|
|
7737
|
+
},
|
|
7738
|
+
"ca_cert_path": {
|
|
7739
|
+
"type": "string",
|
|
7740
|
+
"description": "Default CA certificate path for the session."
|
|
7741
|
+
},
|
|
7742
|
+
"proxy_type": {
|
|
7743
|
+
"type": "string",
|
|
7744
|
+
"description": "Default proxy type for the session.",
|
|
7745
|
+
"enum": [
|
|
7746
|
+
"http",
|
|
7747
|
+
"https",
|
|
7748
|
+
"socks4",
|
|
7749
|
+
"socks5",
|
|
7750
|
+
"socks5h"
|
|
7751
|
+
]
|
|
7752
|
+
},
|
|
7753
|
+
"proxy_host": {
|
|
7754
|
+
"type": "string",
|
|
7755
|
+
"description": "Default proxy host."
|
|
7756
|
+
},
|
|
7757
|
+
"proxy_port": {
|
|
7758
|
+
"type": "string",
|
|
7759
|
+
"description": "Default proxy port."
|
|
7760
|
+
},
|
|
7761
|
+
"proxy_username": {
|
|
7762
|
+
"type": "string",
|
|
7763
|
+
"description": "Default proxy username."
|
|
7764
|
+
},
|
|
7765
|
+
"proxy_password": {
|
|
7766
|
+
"type": "string",
|
|
7767
|
+
"description": "Default proxy password."
|
|
7768
|
+
},
|
|
7769
|
+
"use_tor": {
|
|
7770
|
+
"type": "boolean",
|
|
7771
|
+
"description": "Use built-in Tor proxy for all session requests. Default: false"
|
|
7772
|
+
}
|
|
7773
|
+
}
|
|
7774
|
+
}
|
|
7775
|
+
}
|
|
7776
|
+
}
|
|
7777
|
+
},
|
|
7778
|
+
"responses": {
|
|
7779
|
+
"200": {
|
|
7780
|
+
"description": "Successful response"
|
|
7781
|
+
},
|
|
7782
|
+
"400": {
|
|
7783
|
+
"description": "Bad request"
|
|
7784
|
+
},
|
|
7785
|
+
"401": {
|
|
7786
|
+
"description": "Unauthorized"
|
|
7787
|
+
}
|
|
7788
|
+
}
|
|
7789
|
+
}
|
|
7790
|
+
},
|
|
7791
|
+
"/api/execute/http_session_request": {
|
|
7792
|
+
"post": {
|
|
7793
|
+
"summary": "Http Session Request",
|
|
7794
|
+
"description": "Make an HTTP request within a persistent session. Cookies from previous responses are automatically included. Session defaults (headers, proxy, user agent) are applied but can be overridden per-request. New cookies received are stored in the session for future requests. Ideal for multi-step workflows like login followed by authenticated API calls.",
|
|
7795
|
+
"tags": [
|
|
7796
|
+
"General"
|
|
7797
|
+
],
|
|
7798
|
+
"requestBody": {
|
|
7799
|
+
"required": true,
|
|
7800
|
+
"content": {
|
|
7801
|
+
"application/json": {
|
|
7802
|
+
"schema": {
|
|
7803
|
+
"type": "object",
|
|
7804
|
+
"properties": {
|
|
7805
|
+
"session_id": {
|
|
7806
|
+
"type": "string",
|
|
7807
|
+
"description": "The session ID returned by http_session_create."
|
|
7808
|
+
},
|
|
7809
|
+
"url": {
|
|
7810
|
+
"type": "string",
|
|
7811
|
+
"description": "The full URL to request."
|
|
7812
|
+
},
|
|
7813
|
+
"method": {
|
|
7814
|
+
"type": "string",
|
|
7815
|
+
"description": "HTTP method. Default: 'GET'",
|
|
7816
|
+
"enum": [
|
|
7817
|
+
"GET",
|
|
7818
|
+
"POST",
|
|
7819
|
+
"PUT",
|
|
7820
|
+
"DELETE",
|
|
7821
|
+
"PATCH",
|
|
7822
|
+
"HEAD",
|
|
7823
|
+
"OPTIONS"
|
|
7824
|
+
]
|
|
7825
|
+
},
|
|
7826
|
+
"headers": {
|
|
7827
|
+
"type": "string",
|
|
7828
|
+
"description": "Additional HTTP headers as JSON object string. Merged with session default headers."
|
|
7829
|
+
},
|
|
7830
|
+
"body": {
|
|
7831
|
+
"type": "string",
|
|
7832
|
+
"description": "Request body content."
|
|
7833
|
+
},
|
|
7834
|
+
"cookies": {
|
|
7835
|
+
"type": "string",
|
|
7836
|
+
"description": "Additional cookies for this request."
|
|
7837
|
+
},
|
|
7838
|
+
"auth_type": {
|
|
7839
|
+
"type": "string",
|
|
7840
|
+
"description": "Authentication type for this request.",
|
|
7841
|
+
"enum": [
|
|
7842
|
+
"none",
|
|
7843
|
+
"basic",
|
|
7844
|
+
"bearer",
|
|
7845
|
+
"digest"
|
|
7846
|
+
]
|
|
7847
|
+
},
|
|
7848
|
+
"auth_username": {
|
|
7849
|
+
"type": "string",
|
|
7850
|
+
"description": "Username for authentication."
|
|
7851
|
+
},
|
|
7852
|
+
"auth_password": {
|
|
7853
|
+
"type": "string",
|
|
7854
|
+
"description": "Password for authentication."
|
|
7855
|
+
},
|
|
7856
|
+
"auth_token": {
|
|
7857
|
+
"type": "string",
|
|
7858
|
+
"description": "Bearer token for authentication."
|
|
7859
|
+
},
|
|
7860
|
+
"follow_redirects": {
|
|
7861
|
+
"type": "boolean",
|
|
7862
|
+
"description": "Override session redirect behavior."
|
|
7863
|
+
},
|
|
7864
|
+
"timeout": {
|
|
7865
|
+
"type": "string",
|
|
7866
|
+
"description": "Request timeout in milliseconds."
|
|
7867
|
+
},
|
|
7868
|
+
"connect_timeout": {
|
|
7869
|
+
"type": "string",
|
|
7870
|
+
"description": "Connection timeout in milliseconds."
|
|
7871
|
+
},
|
|
7872
|
+
"ssl_verify": {
|
|
7873
|
+
"type": "boolean",
|
|
7874
|
+
"description": "Override session SSL verification."
|
|
7875
|
+
},
|
|
7876
|
+
"user_agent": {
|
|
7877
|
+
"type": "string",
|
|
7878
|
+
"description": "Override session User-Agent."
|
|
7879
|
+
},
|
|
7880
|
+
"output": {
|
|
7881
|
+
"type": "string",
|
|
7882
|
+
"description": "Response body output format. Default: 'text'",
|
|
7883
|
+
"enum": [
|
|
7884
|
+
"text",
|
|
7885
|
+
"base64",
|
|
7886
|
+
"json"
|
|
7887
|
+
]
|
|
7888
|
+
}
|
|
7889
|
+
},
|
|
7890
|
+
"required": [
|
|
7891
|
+
"session_id",
|
|
7892
|
+
"url"
|
|
7893
|
+
]
|
|
7894
|
+
}
|
|
7895
|
+
}
|
|
7896
|
+
}
|
|
7897
|
+
},
|
|
7898
|
+
"responses": {
|
|
7899
|
+
"200": {
|
|
7900
|
+
"description": "Successful response"
|
|
7901
|
+
},
|
|
7902
|
+
"400": {
|
|
7903
|
+
"description": "Bad request"
|
|
7904
|
+
},
|
|
7905
|
+
"401": {
|
|
7906
|
+
"description": "Unauthorized"
|
|
7907
|
+
}
|
|
7908
|
+
}
|
|
7909
|
+
}
|
|
7910
|
+
},
|
|
7911
|
+
"/api/execute/http_session_get_cookies": {
|
|
7912
|
+
"post": {
|
|
7913
|
+
"summary": "Http Session Get Cookies",
|
|
7914
|
+
"description": "Get all cookies stored in a session. Optionally filter by URL to get only cookies that would be sent to a specific domain. Returns cookies as a JSON array with domain, name, value, path, expiry, secure, and httponly fields.",
|
|
7915
|
+
"tags": [
|
|
7916
|
+
"General"
|
|
7917
|
+
],
|
|
7918
|
+
"requestBody": {
|
|
7919
|
+
"required": true,
|
|
7920
|
+
"content": {
|
|
7921
|
+
"application/json": {
|
|
7922
|
+
"schema": {
|
|
7923
|
+
"type": "object",
|
|
7924
|
+
"properties": {
|
|
7925
|
+
"session_id": {
|
|
7926
|
+
"type": "string",
|
|
7927
|
+
"description": "The session ID."
|
|
7928
|
+
},
|
|
7929
|
+
"url": {
|
|
7930
|
+
"type": "string",
|
|
7931
|
+
"description": "Optional URL filter. Only returns cookies that would be sent to this URL."
|
|
7932
|
+
}
|
|
7933
|
+
},
|
|
7934
|
+
"required": [
|
|
7935
|
+
"session_id"
|
|
7936
|
+
]
|
|
7937
|
+
}
|
|
7938
|
+
}
|
|
7939
|
+
}
|
|
7940
|
+
},
|
|
7941
|
+
"responses": {
|
|
7942
|
+
"200": {
|
|
7943
|
+
"description": "Successful response"
|
|
7944
|
+
},
|
|
7945
|
+
"400": {
|
|
7946
|
+
"description": "Bad request"
|
|
7947
|
+
},
|
|
7948
|
+
"401": {
|
|
7949
|
+
"description": "Unauthorized"
|
|
7950
|
+
}
|
|
7951
|
+
}
|
|
7952
|
+
}
|
|
7953
|
+
},
|
|
7954
|
+
"/api/execute/http_session_set_cookies": {
|
|
7955
|
+
"post": {
|
|
7956
|
+
"summary": "Http Session Set Cookies",
|
|
7957
|
+
"description": "Import cookies into a session. Accepts either a JSON array of cookie objects with domain, name, value, path fields, or Netscape cookie format lines. Useful for importing cookies from browser contexts (browser_get_cookies) into HTTP sessions for non-DOM operations.",
|
|
7958
|
+
"tags": [
|
|
7959
|
+
"General"
|
|
7960
|
+
],
|
|
7961
|
+
"requestBody": {
|
|
7962
|
+
"required": true,
|
|
7963
|
+
"content": {
|
|
7964
|
+
"application/json": {
|
|
7965
|
+
"schema": {
|
|
7966
|
+
"type": "object",
|
|
7967
|
+
"properties": {
|
|
7968
|
+
"session_id": {
|
|
7969
|
+
"type": "string",
|
|
7970
|
+
"description": "The session ID."
|
|
7971
|
+
},
|
|
7972
|
+
"cookies": {
|
|
7973
|
+
"type": "string",
|
|
7974
|
+
"description": "Cookies to set. Accepts either a JSON array of cookie objects (e.g., '[{\"domain\": \".example.com\", \"name\": \"session\", \"value\": \"abc123\", \"path\": \"/\"}]') or Netscape cookie format lines."
|
|
7975
|
+
}
|
|
7976
|
+
},
|
|
7977
|
+
"required": [
|
|
7978
|
+
"session_id",
|
|
7979
|
+
"cookies"
|
|
7980
|
+
]
|
|
7981
|
+
}
|
|
7982
|
+
}
|
|
7983
|
+
}
|
|
7984
|
+
},
|
|
7985
|
+
"responses": {
|
|
7986
|
+
"200": {
|
|
7987
|
+
"description": "Successful response"
|
|
7988
|
+
},
|
|
7989
|
+
"400": {
|
|
7990
|
+
"description": "Bad request"
|
|
7991
|
+
},
|
|
7992
|
+
"401": {
|
|
7993
|
+
"description": "Unauthorized"
|
|
7994
|
+
}
|
|
7995
|
+
}
|
|
7996
|
+
}
|
|
7997
|
+
},
|
|
7998
|
+
"/api/execute/http_session_close": {
|
|
7999
|
+
"post": {
|
|
8000
|
+
"summary": "Http Session Close",
|
|
8001
|
+
"description": "Close and destroy an HTTP session, freeing all stored cookies and resources. The session_id becomes invalid after this call.",
|
|
8002
|
+
"tags": [
|
|
8003
|
+
"General"
|
|
8004
|
+
],
|
|
8005
|
+
"requestBody": {
|
|
8006
|
+
"required": true,
|
|
8007
|
+
"content": {
|
|
8008
|
+
"application/json": {
|
|
8009
|
+
"schema": {
|
|
8010
|
+
"type": "object",
|
|
8011
|
+
"properties": {
|
|
8012
|
+
"session_id": {
|
|
8013
|
+
"type": "string",
|
|
8014
|
+
"description": "The session ID to close and destroy."
|
|
8015
|
+
}
|
|
8016
|
+
},
|
|
8017
|
+
"required": [
|
|
8018
|
+
"session_id"
|
|
8019
|
+
]
|
|
8020
|
+
}
|
|
8021
|
+
}
|
|
8022
|
+
}
|
|
8023
|
+
},
|
|
8024
|
+
"responses": {
|
|
8025
|
+
"200": {
|
|
8026
|
+
"description": "Successful response"
|
|
8027
|
+
},
|
|
8028
|
+
"400": {
|
|
8029
|
+
"description": "Bad request"
|
|
8030
|
+
},
|
|
8031
|
+
"401": {
|
|
8032
|
+
"description": "Unauthorized"
|
|
8033
|
+
}
|
|
8034
|
+
}
|
|
8035
|
+
}
|
|
8036
|
+
},
|
|
8037
|
+
"/api/execute/http_session_list": {
|
|
8038
|
+
"post": {
|
|
8039
|
+
"summary": "Http Session List",
|
|
8040
|
+
"description": "List all active HTTP sessions with their IDs, creation time, last used time, request count, and configuration summary. Useful for managing multiple concurrent sessions.",
|
|
8041
|
+
"tags": [
|
|
8042
|
+
"General"
|
|
8043
|
+
],
|
|
8044
|
+
"requestBody": {
|
|
8045
|
+
"required": true,
|
|
8046
|
+
"content": {
|
|
8047
|
+
"application/json": {
|
|
8048
|
+
"schema": {
|
|
8049
|
+
"type": "object",
|
|
8050
|
+
"properties": {}
|
|
8051
|
+
}
|
|
8052
|
+
}
|
|
8053
|
+
}
|
|
8054
|
+
},
|
|
8055
|
+
"responses": {
|
|
8056
|
+
"200": {
|
|
8057
|
+
"description": "Successful response"
|
|
8058
|
+
},
|
|
8059
|
+
"400": {
|
|
8060
|
+
"description": "Bad request"
|
|
8061
|
+
},
|
|
8062
|
+
"401": {
|
|
8063
|
+
"description": "Unauthorized"
|
|
8064
|
+
}
|
|
8065
|
+
}
|
|
8066
|
+
}
|
|
7179
8067
|
}
|
|
7180
8068
|
}
|
|
7181
8069
|
}
|
package/package.json
CHANGED