@roxybrowser/openapi 1.0.5-beta.1 → 1.0.8

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.
Files changed (48) hide show
  1. package/README.md +222 -228
  2. package/lib/index.js +97 -1674
  3. package/lib/index.js.map +1 -1
  4. package/lib/modules/account.d.ts +491 -0
  5. package/lib/modules/account.d.ts.map +1 -0
  6. package/lib/modules/account.js +442 -0
  7. package/lib/modules/account.js.map +1 -0
  8. package/lib/modules/browser.d.ts +3011 -0
  9. package/lib/modules/browser.d.ts.map +1 -0
  10. package/lib/modules/browser.js +1501 -0
  11. package/lib/modules/browser.js.map +1 -0
  12. package/lib/modules/other.d.ts +102 -0
  13. package/lib/modules/other.d.ts.map +1 -0
  14. package/lib/modules/other.js +194 -0
  15. package/lib/modules/other.js.map +1 -0
  16. package/lib/modules/proxy.d.ts +576 -0
  17. package/lib/modules/proxy.d.ts.map +1 -0
  18. package/lib/modules/proxy.js +724 -0
  19. package/lib/modules/proxy.js.map +1 -0
  20. package/lib/types.d.ts +860 -155
  21. package/lib/types.d.ts.map +1 -1
  22. package/lib/types.js +4 -4
  23. package/lib/types.js.map +1 -1
  24. package/lib/utils/index.d.ts +24 -0
  25. package/lib/utils/index.d.ts.map +1 -0
  26. package/lib/utils/index.js +45 -0
  27. package/lib/utils/index.js.map +1 -0
  28. package/package.json +50 -50
  29. package/lib/browser/browser-creator.d.ts +0 -54
  30. package/lib/browser/browser-creator.d.ts.map +0 -1
  31. package/lib/browser/browser-creator.js +0 -263
  32. package/lib/browser/browser-creator.js.map +0 -1
  33. package/lib/proxy/proxy-manager.d.ts +0 -67
  34. package/lib/proxy/proxy-manager.d.ts.map +0 -1
  35. package/lib/proxy/proxy-manager.js +0 -278
  36. package/lib/proxy/proxy-manager.js.map +0 -1
  37. package/lib/proxy/proxy-validator.d.ts +0 -66
  38. package/lib/proxy/proxy-validator.d.ts.map +0 -1
  39. package/lib/proxy/proxy-validator.js +0 -273
  40. package/lib/proxy/proxy-validator.js.map +0 -1
  41. package/lib/roxy-client.d.ts +0 -117
  42. package/lib/roxy-client.d.ts.map +0 -1
  43. package/lib/roxy-client.js +0 -467
  44. package/lib/roxy-client.js.map +0 -1
  45. package/lib/utils/error-analyzer.d.ts +0 -84
  46. package/lib/utils/error-analyzer.d.ts.map +0 -1
  47. package/lib/utils/error-analyzer.js +0 -387
  48. package/lib/utils/error-analyzer.js.map +0 -1
@@ -1,67 +0,0 @@
1
- /**
2
- * Proxy Manager Service
3
- *
4
- * Handles proxy configuration, validation, and management for RoxyBrowser
5
- */
6
- import { ProxyInfo, BrowserCreateConfig } from '../types.js';
7
- export interface ProxyValidationResult {
8
- valid: boolean;
9
- errors: string[];
10
- warnings: string[];
11
- }
12
- export interface ProxyTestResult {
13
- success: boolean;
14
- error?: string;
15
- responseTime?: number;
16
- ipAddress?: string;
17
- location?: string;
18
- }
19
- export declare class ProxyManager {
20
- /**
21
- * Validate proxy configuration
22
- */
23
- static validateProxy(proxy: ProxyInfo): ProxyValidationResult;
24
- /**
25
- * Test proxy connection
26
- */
27
- static testProxy(proxy: ProxyInfo): Promise<ProxyTestResult>;
28
- /**
29
- * Create proxy configuration from simple parameters
30
- */
31
- static createSimpleProxy(host: string, port: string, username?: string, password?: string, type?: 'HTTP' | 'HTTPS' | 'SOCKS5'): ProxyInfo;
32
- /**
33
- * Parse proxy URL (format: protocol://username:password@host:port)
34
- */
35
- static parseProxyUrl(proxyUrl: string): ProxyInfo | null;
36
- /**
37
- * Generate proxy list from various formats
38
- */
39
- static parseProxyList(proxyListInput: string | string[]): ProxyInfo[];
40
- /**
41
- * Distribute proxies across multiple browser configurations
42
- */
43
- static distributeProxies(configs: BrowserCreateConfig[], proxies: ProxyInfo[], strategy?: 'round-robin' | 'random'): BrowserCreateConfig[];
44
- /**
45
- * Filter working proxies from a list
46
- */
47
- static filterWorkingProxies(proxies: ProxyInfo[], options?: {
48
- concurrency?: number;
49
- timeout?: number;
50
- retries?: number;
51
- }): Promise<ProxyInfo[]>;
52
- /**
53
- * Get proxy statistics
54
- */
55
- static getProxyStats(proxies: ProxyInfo[]): {
56
- total: number;
57
- byType: Record<string, number>;
58
- withAuth: number;
59
- withoutAuth: number;
60
- };
61
- /**
62
- * Private helper methods
63
- */
64
- private static isValidHost;
65
- private static getDefaultPort;
66
- }
67
- //# sourceMappingURL=proxy-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proxy-manager.d.ts","sourceRoot":"","sources":["../../src/proxy/proxy-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAgB,MAAM,aAAa,CAAC;AAE3E,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,qBAAqB;IAoE7D;;OAEG;WACU,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC;IAsClE;;OAEG;IACH,MAAM,CAAC,iBAAiB,CACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,IAAI,GAAE,MAAM,GAAG,OAAO,GAAG,QAAiB,GACzC,SAAS;IAaZ;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IA+BxD;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EAAE;IAoCrE;;OAEG;IACH,MAAM,CAAC,iBAAiB,CACtB,OAAO,EAAE,mBAAmB,EAAE,EAC9B,OAAO,EAAE,SAAS,EAAE,EACpB,QAAQ,GAAE,aAAa,GAAG,QAAwB,GACjD,mBAAmB,EAAE;IAsBxB;;OAEG;WACU,oBAAoB,CAC/B,OAAO,EAAE,SAAS,EAAE,EACpB,OAAO,GAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KACb,GACL,OAAO,CAAC,SAAS,EAAE,CAAC;IA8BvB;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG;QAC1C,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;KACrB;IAwBD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAQ1B,OAAO,CAAC,MAAM,CAAC,cAAc;CAQ9B"}
@@ -1,278 +0,0 @@
1
- /**
2
- * Proxy Manager Service
3
- *
4
- * Handles proxy configuration, validation, and management for RoxyBrowser
5
- */
6
- export class ProxyManager {
7
- /**
8
- * Validate proxy configuration
9
- */
10
- static validateProxy(proxy) {
11
- const errors = [];
12
- const warnings = [];
13
- // Basic validation
14
- if (!proxy) {
15
- errors.push('Proxy configuration is required');
16
- return { valid: false, errors, warnings };
17
- }
18
- // Skip validation for no proxy
19
- if (proxy.proxyCategory === 'noproxy') {
20
- return { valid: true, errors: [], warnings: [] };
21
- }
22
- // Required fields when proxy is enabled
23
- if (!proxy.host) {
24
- errors.push('Proxy host is required');
25
- }
26
- else {
27
- // Validate host format
28
- if (!this.isValidHost(proxy.host)) {
29
- errors.push('Invalid proxy host format');
30
- }
31
- }
32
- if (!proxy.port) {
33
- errors.push('Proxy port is required');
34
- }
35
- else {
36
- // Validate port range
37
- const port = parseInt(proxy.port, 10);
38
- if (isNaN(port) || port < 1 || port > 65535) {
39
- errors.push('Proxy port must be between 1 and 65535');
40
- }
41
- }
42
- // Validate proxy type and protocol compatibility
43
- if (proxy.proxyCategory && proxy.protocol) {
44
- if (proxy.proxyCategory !== proxy.protocol) {
45
- warnings.push(`Proxy category (${proxy.proxyCategory}) and protocol (${proxy.protocol}) don't match`);
46
- }
47
- }
48
- // Validate authentication
49
- if (proxy.proxyUserName && !proxy.proxyPassword) {
50
- warnings.push('Proxy username provided but password is missing');
51
- }
52
- if (proxy.proxyPassword && !proxy.proxyUserName) {
53
- warnings.push('Proxy password provided but username is missing');
54
- }
55
- // Validate IP type
56
- if (proxy.ipType && !['IPV4', 'IPV6'].includes(proxy.ipType)) {
57
- errors.push('IP type must be IPV4 or IPV6');
58
- }
59
- // Validate check channel
60
- if (proxy.checkChannel && !['IPRust.io', 'IP-API', 'IP123.in'].includes(proxy.checkChannel)) {
61
- errors.push('Invalid IP check channel');
62
- }
63
- return {
64
- valid: errors.length === 0,
65
- errors,
66
- warnings,
67
- };
68
- }
69
- /**
70
- * Test proxy connection
71
- */
72
- static async testProxy(proxy) {
73
- // Skip test for no proxy
74
- if (proxy.proxyCategory === 'noproxy') {
75
- return { success: true };
76
- }
77
- // Validate first
78
- const validation = this.validateProxy(proxy);
79
- if (!validation.valid) {
80
- return {
81
- success: false,
82
- error: `Proxy validation failed: ${validation.errors.join(', ')}`,
83
- };
84
- }
85
- // Since we can't directly test proxy connection in Node.js without additional dependencies,
86
- // we'll do basic connectivity checks and format validation
87
- try {
88
- const startTime = Date.now();
89
- // Basic format validation passed, assume connection is testable
90
- // In a real implementation, you would use libraries like 'socks' or 'http-proxy-agent'
91
- const responseTime = Date.now() - startTime;
92
- return {
93
- success: true,
94
- responseTime,
95
- ipAddress: 'Test IP (simulated)',
96
- location: 'Test Location (simulated)',
97
- };
98
- }
99
- catch (error) {
100
- return {
101
- success: false,
102
- error: error instanceof Error ? error.message : 'Unknown proxy test error',
103
- };
104
- }
105
- }
106
- /**
107
- * Create proxy configuration from simple parameters
108
- */
109
- static createSimpleProxy(host, port, username, password, type = 'HTTP') {
110
- return {
111
- proxyMethod: 'custom',
112
- proxyCategory: type,
113
- protocol: type,
114
- ipType: 'IPV4',
115
- host,
116
- port,
117
- proxyUserName: username,
118
- proxyPassword: password,
119
- };
120
- }
121
- /**
122
- * Parse proxy URL (format: protocol://username:password@host:port)
123
- */
124
- static parseProxyUrl(proxyUrl) {
125
- try {
126
- const url = new URL(proxyUrl);
127
- const protocolMap = {
128
- 'http:': 'HTTP',
129
- 'https:': 'HTTPS',
130
- 'socks5:': 'SOCKS5',
131
- };
132
- const protocol = protocolMap[url.protocol];
133
- if (!protocol) {
134
- throw new Error(`Unsupported proxy protocol: ${url.protocol}`);
135
- }
136
- return {
137
- proxyMethod: 'custom',
138
- proxyCategory: protocol,
139
- protocol,
140
- ipType: 'IPV4',
141
- host: url.hostname,
142
- port: url.port || this.getDefaultPort(protocol),
143
- proxyUserName: url.username || undefined,
144
- proxyPassword: url.password || undefined,
145
- };
146
- }
147
- catch (error) {
148
- console.error('Failed to parse proxy URL:', error);
149
- return null;
150
- }
151
- }
152
- /**
153
- * Generate proxy list from various formats
154
- */
155
- static parseProxyList(proxyListInput) {
156
- const proxyList = [];
157
- const inputs = Array.isArray(proxyListInput) ? proxyListInput : [proxyListInput];
158
- for (const input of inputs) {
159
- const lines = input.split('\n').map(line => line.trim()).filter(Boolean);
160
- for (const line of lines) {
161
- let proxy = null;
162
- // Try URL format first
163
- if (line.includes('://')) {
164
- proxy = this.parseProxyUrl(line);
165
- }
166
- else {
167
- // Try host:port format
168
- const parts = line.split(':');
169
- if (parts.length >= 2) {
170
- const [host, port, username, password] = parts;
171
- proxy = this.createSimpleProxy(host, port, username, password);
172
- }
173
- }
174
- if (proxy) {
175
- const validation = this.validateProxy(proxy);
176
- if (validation.valid) {
177
- proxyList.push(proxy);
178
- }
179
- else {
180
- console.warn(`Invalid proxy skipped: ${line} - ${validation.errors.join(', ')}`);
181
- }
182
- }
183
- }
184
- }
185
- return proxyList;
186
- }
187
- /**
188
- * Distribute proxies across multiple browser configurations
189
- */
190
- static distributeProxies(configs, proxies, strategy = 'round-robin') {
191
- if (!proxies.length) {
192
- return configs;
193
- }
194
- return configs.map((config, index) => {
195
- let proxy;
196
- if (strategy === 'random') {
197
- proxy = proxies[Math.floor(Math.random() * proxies.length)];
198
- }
199
- else {
200
- // Round-robin
201
- proxy = proxies[index % proxies.length];
202
- }
203
- return {
204
- ...config,
205
- proxyInfo: proxy,
206
- };
207
- });
208
- }
209
- /**
210
- * Filter working proxies from a list
211
- */
212
- static async filterWorkingProxies(proxies, options = {}) {
213
- const { concurrency = 5, timeout = 10000, retries = 1 } = options;
214
- const workingProxies = [];
215
- // Process proxies in batches
216
- for (let i = 0; i < proxies.length; i += concurrency) {
217
- const batch = proxies.slice(i, i + concurrency);
218
- const testPromises = batch.map(async (proxy) => {
219
- for (let attempt = 0; attempt <= retries; attempt++) {
220
- const result = await this.testProxy(proxy);
221
- if (result.success) {
222
- return proxy;
223
- }
224
- // Wait before retry
225
- if (attempt < retries) {
226
- await new Promise(resolve => setTimeout(resolve, 1000));
227
- }
228
- }
229
- return null;
230
- });
231
- const batchResults = await Promise.all(testPromises);
232
- workingProxies.push(...batchResults.filter((proxy) => proxy !== null));
233
- }
234
- return workingProxies;
235
- }
236
- /**
237
- * Get proxy statistics
238
- */
239
- static getProxyStats(proxies) {
240
- const stats = {
241
- total: proxies.length,
242
- byType: {},
243
- withAuth: 0,
244
- withoutAuth: 0,
245
- };
246
- for (const proxy of proxies) {
247
- // Count by type
248
- const type = proxy.proxyCategory || 'unknown';
249
- stats.byType[type] = (stats.byType[type] || 0) + 1;
250
- // Count authentication
251
- if (proxy.proxyUserName && proxy.proxyPassword) {
252
- stats.withAuth++;
253
- }
254
- else {
255
- stats.withoutAuth++;
256
- }
257
- }
258
- return stats;
259
- }
260
- /**
261
- * Private helper methods
262
- */
263
- static isValidHost(host) {
264
- // Basic host validation (IP address or domain name)
265
- const ipRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
266
- const domainRegex = /^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
267
- return ipRegex.test(host) || domainRegex.test(host);
268
- }
269
- static getDefaultPort(protocol) {
270
- const defaultPorts = {
271
- HTTP: '8080',
272
- HTTPS: '8080',
273
- SOCKS5: '1080',
274
- };
275
- return defaultPorts[protocol] || '8080';
276
- }
277
- }
278
- //# sourceMappingURL=proxy-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proxy-manager.js","sourceRoot":"","sources":["../../src/proxy/proxy-manager.ts"],"names":[],"mappings":"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"}
@@ -1,66 +0,0 @@
1
- /**
2
- * Proxy Validation Utilities
3
- *
4
- * Advanced proxy validation and testing tools for RoxyBrowser MCP
5
- */
6
- import { ProxyInfo } from '../types.js';
7
- import { ProxyValidationResult } from './proxy-manager.js';
8
- export interface ProxyListValidationResult {
9
- validProxies: ProxyInfo[];
10
- invalidProxies: Array<{
11
- proxy: ProxyInfo;
12
- errors: string[];
13
- }>;
14
- totalCount: number;
15
- validCount: number;
16
- invalidCount: number;
17
- summary: string;
18
- }
19
- export interface ProxyBenchmarkResult {
20
- proxy: ProxyInfo;
21
- responseTime: number;
22
- success: boolean;
23
- error?: string;
24
- location?: string;
25
- anonymityLevel?: 'transparent' | 'anonymous' | 'elite';
26
- }
27
- export declare class ProxyValidator {
28
- /**
29
- * Validate a list of proxies
30
- */
31
- static validateProxyList(proxies: ProxyInfo[]): ProxyListValidationResult;
32
- /**
33
- * Parse and validate proxy string in various formats
34
- */
35
- static parseAndValidateProxyString(proxyString: string): {
36
- proxy: ProxyInfo | null;
37
- validation: ProxyValidationResult | null;
38
- error?: string;
39
- };
40
- /**
41
- * Test multiple proxies and rank by performance
42
- */
43
- static benchmarkProxies(proxies: ProxyInfo[], options?: {
44
- timeout?: number;
45
- retries?: number;
46
- testUrl?: string;
47
- }): Promise<ProxyBenchmarkResult[]>;
48
- /**
49
- * Generate proxy health report
50
- */
51
- static generateProxyHealthReport(validationResult: ProxyListValidationResult, benchmarkResults?: ProxyBenchmarkResult[]): string;
52
- /**
53
- * Get proxy recommendations based on use case
54
- */
55
- static getProxyRecommendations(useCase: 'social_media' | 'ecommerce' | 'scraping' | 'general'): {
56
- recommendedTypes: string[];
57
- settings: Partial<ProxyInfo>;
58
- tips: string[];
59
- };
60
- /**
61
- * Private helper methods
62
- */
63
- private static parseAlternativeFormats;
64
- private static simulateProxyTest;
65
- }
66
- //# sourceMappingURL=proxy-validator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proxy-validator.d.ts","sourceRoot":"","sources":["../../src/proxy/proxy-validator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAgB,qBAAqB,EAAmB,MAAM,oBAAoB,CAAC;AAE1F,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,cAAc,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,SAAS,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,aAAa,GAAG,WAAW,GAAG,OAAO,CAAC;CACxD;AAED,qBAAa,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,yBAAyB;IA8BzE;;OAEG;IACH,MAAM,CAAC,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG;QACvD,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;QACxB,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAAC;QACzC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB;IA+BD;;OAEG;WACU,gBAAgB,CAC3B,OAAO,EAAE,SAAS,EAAE,EACpB,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KACb,GACL,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAmDlC;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAC9B,gBAAgB,EAAE,yBAAyB,EAC3C,gBAAgB,CAAC,EAAE,oBAAoB,EAAE,GACxC,MAAM;IAiDT;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG;QAC9F,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB;IA+DD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;mBAmBjB,iBAAiB;CAqCvC"}