@roxybrowser/openapi 1.0.2 → 1.0.4-beta.0
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 +15 -57
- package/lib/browser/browser-creator.d.ts +1 -5
- package/lib/browser/browser-creator.d.ts.map +1 -1
- package/lib/browser/browser-creator.js +0 -24
- package/lib/browser/browser-creator.js.map +1 -1
- package/lib/index.js +887 -145
- package/lib/index.js.map +1 -1
- package/lib/roxy-client.d.ts +31 -5
- package/lib/roxy-client.d.ts.map +1 -1
- package/lib/roxy-client.js +208 -64
- package/lib/roxy-client.js.map +1 -1
- package/lib/types.d.ts +145 -29
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js +311 -2
- package/lib/types.js.map +1 -1
- package/lib/utils/error-analyzer.d.ts +84 -0
- package/lib/utils/error-analyzer.d.ts.map +1 -0
- package/lib/utils/error-analyzer.js +380 -0
- package/lib/utils/error-analyzer.js.map +1 -0
- package/package.json +4 -3
- package/lib/browser/template-manager.d.ts +0 -48
- package/lib/browser/template-manager.d.ts.map +0 -1
- package/lib/browser/template-manager.js +0 -324
- package/lib/browser/template-manager.js.map +0 -1
|
@@ -1,324 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Browser Template Manager
|
|
3
|
-
*
|
|
4
|
-
* Provides predefined browser templates for common use cases
|
|
5
|
-
*/
|
|
6
|
-
export class TemplateManager {
|
|
7
|
-
static templates = {
|
|
8
|
-
gmail: {
|
|
9
|
-
name: 'gmail',
|
|
10
|
-
description: 'Optimized for Gmail and Google services automation',
|
|
11
|
-
defaultConfig: {
|
|
12
|
-
windowName: 'Gmail Browser',
|
|
13
|
-
os: 'Windows',
|
|
14
|
-
osVersion: '11',
|
|
15
|
-
coreVersion: '125',
|
|
16
|
-
searchEngine: 'Google',
|
|
17
|
-
defaultOpenUrl: ['https://gmail.com'],
|
|
18
|
-
fingerInfo: {
|
|
19
|
-
language: 'en-US',
|
|
20
|
-
isLanguageBaseIp: false,
|
|
21
|
-
displayLanguage: 'en-US',
|
|
22
|
-
isDisplayLanguageBaseIp: false,
|
|
23
|
-
openWidth: '1400',
|
|
24
|
-
openHeight: '900',
|
|
25
|
-
syncCookie: true,
|
|
26
|
-
syncPassword: true,
|
|
27
|
-
syncTab: true,
|
|
28
|
-
clearCacheFile: false,
|
|
29
|
-
clearCookie: false,
|
|
30
|
-
randomFingerprint: true,
|
|
31
|
-
forbidSavePassword: false, // Allow password saving for Gmail
|
|
32
|
-
webRTC: 1, // Real WebRTC for Google services
|
|
33
|
-
canvas: true,
|
|
34
|
-
audioContext: true,
|
|
35
|
-
doNotTrack: false, // Don't use DNT for better compatibility
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
facebook: {
|
|
40
|
-
name: 'facebook',
|
|
41
|
-
description: 'Optimized for Facebook and Meta platform automation',
|
|
42
|
-
defaultConfig: {
|
|
43
|
-
windowName: 'Facebook Browser',
|
|
44
|
-
os: 'Windows',
|
|
45
|
-
osVersion: '11',
|
|
46
|
-
coreVersion: '125',
|
|
47
|
-
searchEngine: 'Google',
|
|
48
|
-
defaultOpenUrl: ['https://facebook.com'],
|
|
49
|
-
fingerInfo: {
|
|
50
|
-
language: 'en-US',
|
|
51
|
-
isLanguageBaseIp: false,
|
|
52
|
-
displayLanguage: 'en-US',
|
|
53
|
-
isDisplayLanguageBaseIp: false,
|
|
54
|
-
openWidth: '1366',
|
|
55
|
-
openHeight: '768',
|
|
56
|
-
syncCookie: true,
|
|
57
|
-
syncPassword: true,
|
|
58
|
-
syncTab: true,
|
|
59
|
-
clearCacheFile: false,
|
|
60
|
-
clearCookie: false,
|
|
61
|
-
randomFingerprint: true,
|
|
62
|
-
forbidSavePassword: false,
|
|
63
|
-
webRTC: 1, // Real WebRTC for video calls
|
|
64
|
-
canvas: true,
|
|
65
|
-
audioContext: true,
|
|
66
|
-
deviceInfo: true, // Allow media devices
|
|
67
|
-
forbidAudio: false, // Allow audio for Facebook features
|
|
68
|
-
forbidMedia: false, // Allow video for Facebook features
|
|
69
|
-
doNotTrack: false,
|
|
70
|
-
},
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
ecommerce: {
|
|
74
|
-
name: 'ecommerce',
|
|
75
|
-
description: 'Optimized for e-commerce platforms and shopping automation',
|
|
76
|
-
defaultConfig: {
|
|
77
|
-
windowName: 'Shopping Browser',
|
|
78
|
-
os: 'Windows',
|
|
79
|
-
osVersion: '11',
|
|
80
|
-
coreVersion: '125',
|
|
81
|
-
searchEngine: 'Google',
|
|
82
|
-
defaultOpenUrl: ['https://amazon.com'],
|
|
83
|
-
fingerInfo: {
|
|
84
|
-
language: 'en-US',
|
|
85
|
-
isLanguageBaseIp: false,
|
|
86
|
-
displayLanguage: 'en-US',
|
|
87
|
-
isDisplayLanguageBaseIp: false,
|
|
88
|
-
openWidth: '1920',
|
|
89
|
-
openHeight: '1080',
|
|
90
|
-
syncCookie: true,
|
|
91
|
-
syncPassword: true,
|
|
92
|
-
syncTab: false, // Don't sync tabs for privacy
|
|
93
|
-
clearCacheFile: true, // Clear cache for fresh sessions
|
|
94
|
-
clearCookie: false,
|
|
95
|
-
randomFingerprint: true,
|
|
96
|
-
forbidSavePassword: true, // Security for shopping
|
|
97
|
-
webRTC: 2, // Disable WebRTC for privacy
|
|
98
|
-
canvas: true,
|
|
99
|
-
audioContext: true,
|
|
100
|
-
deviceInfo: false, // Limit device fingerprinting
|
|
101
|
-
doNotTrack: true, // Enable DNT for privacy
|
|
102
|
-
portScanProtect: true, // Extra security
|
|
103
|
-
},
|
|
104
|
-
},
|
|
105
|
-
},
|
|
106
|
-
social_media: {
|
|
107
|
-
name: 'social_media',
|
|
108
|
-
description: 'General social media platforms automation',
|
|
109
|
-
defaultConfig: {
|
|
110
|
-
windowName: 'Social Media Browser',
|
|
111
|
-
os: 'Windows',
|
|
112
|
-
osVersion: '11',
|
|
113
|
-
coreVersion: '125',
|
|
114
|
-
searchEngine: 'Google',
|
|
115
|
-
defaultOpenUrl: ['https://twitter.com'],
|
|
116
|
-
fingerInfo: {
|
|
117
|
-
language: 'en-US',
|
|
118
|
-
isLanguageBaseIp: true, // Follow IP for better geo-targeting
|
|
119
|
-
displayLanguage: 'en-US',
|
|
120
|
-
isDisplayLanguageBaseIp: true,
|
|
121
|
-
isTimeZone: true, // Follow IP timezone
|
|
122
|
-
openWidth: '1200',
|
|
123
|
-
openHeight: '800',
|
|
124
|
-
syncCookie: true,
|
|
125
|
-
syncPassword: false, // Don't save passwords
|
|
126
|
-
syncTab: true,
|
|
127
|
-
clearCacheFile: false,
|
|
128
|
-
clearCookie: false,
|
|
129
|
-
randomFingerprint: true,
|
|
130
|
-
forbidSavePassword: true,
|
|
131
|
-
webRTC: 0, // Replace WebRTC
|
|
132
|
-
canvas: true,
|
|
133
|
-
audioContext: true,
|
|
134
|
-
deviceInfo: true,
|
|
135
|
-
forbidAudio: false,
|
|
136
|
-
forbidMedia: false,
|
|
137
|
-
doNotTrack: false,
|
|
138
|
-
},
|
|
139
|
-
},
|
|
140
|
-
},
|
|
141
|
-
general: {
|
|
142
|
-
name: 'general',
|
|
143
|
-
description: 'General-purpose browser configuration',
|
|
144
|
-
defaultConfig: {
|
|
145
|
-
windowName: 'General Browser',
|
|
146
|
-
os: 'Windows',
|
|
147
|
-
osVersion: '11',
|
|
148
|
-
coreVersion: '125',
|
|
149
|
-
searchEngine: 'Google',
|
|
150
|
-
fingerInfo: {
|
|
151
|
-
language: 'en-US',
|
|
152
|
-
isLanguageBaseIp: true,
|
|
153
|
-
displayLanguage: 'en-US',
|
|
154
|
-
isDisplayLanguageBaseIp: true,
|
|
155
|
-
isTimeZone: true,
|
|
156
|
-
openWidth: '1024',
|
|
157
|
-
openHeight: '768',
|
|
158
|
-
syncCookie: true,
|
|
159
|
-
syncPassword: true,
|
|
160
|
-
syncTab: true,
|
|
161
|
-
clearCacheFile: false,
|
|
162
|
-
clearCookie: false,
|
|
163
|
-
randomFingerprint: false, // Keep consistent fingerprint
|
|
164
|
-
forbidSavePassword: true,
|
|
165
|
-
webRTC: 2, // Disable for privacy
|
|
166
|
-
canvas: true,
|
|
167
|
-
audioContext: true,
|
|
168
|
-
deviceInfo: true,
|
|
169
|
-
doNotTrack: true,
|
|
170
|
-
},
|
|
171
|
-
},
|
|
172
|
-
},
|
|
173
|
-
custom: {
|
|
174
|
-
name: 'custom',
|
|
175
|
-
description: 'Empty template for custom configuration',
|
|
176
|
-
defaultConfig: {
|
|
177
|
-
windowName: 'Custom Browser',
|
|
178
|
-
os: 'Windows',
|
|
179
|
-
osVersion: '11',
|
|
180
|
-
coreVersion: '125',
|
|
181
|
-
},
|
|
182
|
-
},
|
|
183
|
-
};
|
|
184
|
-
/**
|
|
185
|
-
* Get available template names and descriptions
|
|
186
|
-
*/
|
|
187
|
-
static getAvailableTemplates() {
|
|
188
|
-
return Object.values(this.templates).map(template => ({
|
|
189
|
-
name: template.name,
|
|
190
|
-
description: template.description,
|
|
191
|
-
}));
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Get template configuration by name
|
|
195
|
-
*/
|
|
196
|
-
static getTemplate(templateName) {
|
|
197
|
-
return this.templates[templateName] || null;
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Get template configuration merged with custom overrides
|
|
201
|
-
*/
|
|
202
|
-
static getTemplateConfig(templateName, customConfig) {
|
|
203
|
-
const template = this.getTemplate(templateName);
|
|
204
|
-
if (!template) {
|
|
205
|
-
throw new Error(`Template '${templateName}' not found`);
|
|
206
|
-
}
|
|
207
|
-
if (!customConfig) {
|
|
208
|
-
return template.defaultConfig;
|
|
209
|
-
}
|
|
210
|
-
// Deep merge template config with custom config
|
|
211
|
-
const mergedConfig = { ...template.defaultConfig, ...customConfig };
|
|
212
|
-
// Special handling for nested objects
|
|
213
|
-
if (template.defaultConfig.fingerInfo && customConfig.fingerInfo) {
|
|
214
|
-
mergedConfig.fingerInfo = {
|
|
215
|
-
...template.defaultConfig.fingerInfo,
|
|
216
|
-
...customConfig.fingerInfo,
|
|
217
|
-
};
|
|
218
|
-
}
|
|
219
|
-
if (template.defaultConfig.proxyInfo && customConfig.proxyInfo) {
|
|
220
|
-
mergedConfig.proxyInfo = {
|
|
221
|
-
...template.defaultConfig.proxyInfo,
|
|
222
|
-
...customConfig.proxyInfo,
|
|
223
|
-
};
|
|
224
|
-
}
|
|
225
|
-
if (template.defaultConfig.windowPlatformList && customConfig.windowPlatformList) {
|
|
226
|
-
mergedConfig.windowPlatformList = [
|
|
227
|
-
...(template.defaultConfig.windowPlatformList || []),
|
|
228
|
-
...(customConfig.windowPlatformList || []),
|
|
229
|
-
];
|
|
230
|
-
}
|
|
231
|
-
return mergedConfig;
|
|
232
|
-
}
|
|
233
|
-
/**
|
|
234
|
-
* Create a custom template
|
|
235
|
-
*/
|
|
236
|
-
static createCustomTemplate(name, description, config) {
|
|
237
|
-
return {
|
|
238
|
-
name: 'custom',
|
|
239
|
-
description,
|
|
240
|
-
defaultConfig: config,
|
|
241
|
-
};
|
|
242
|
-
}
|
|
243
|
-
/**
|
|
244
|
-
* Get template optimized for specific proxy configuration
|
|
245
|
-
*/
|
|
246
|
-
static getTemplateForProxy(templateName, proxyInfo) {
|
|
247
|
-
const baseConfig = this.getTemplateConfig(templateName);
|
|
248
|
-
// Apply proxy-specific optimizations
|
|
249
|
-
const optimizedConfig = { ...baseConfig };
|
|
250
|
-
// If using proxy, adjust some settings for better anonymity
|
|
251
|
-
if (proxyInfo.proxyCategory !== 'noproxy') {
|
|
252
|
-
optimizedConfig.fingerInfo = {
|
|
253
|
-
...optimizedConfig.fingerInfo,
|
|
254
|
-
isLanguageBaseIp: true, // Follow proxy IP for language
|
|
255
|
-
isDisplayLanguageBaseIp: true,
|
|
256
|
-
isTimeZone: true, // Follow proxy timezone
|
|
257
|
-
isPositionBaseIp: true, // Follow proxy geolocation
|
|
258
|
-
webRTC: 2, // Disable WebRTC to prevent IP leaks
|
|
259
|
-
doNotTrack: true, // Enable DNT for privacy
|
|
260
|
-
};
|
|
261
|
-
}
|
|
262
|
-
optimizedConfig.proxyInfo = proxyInfo;
|
|
263
|
-
return optimizedConfig;
|
|
264
|
-
}
|
|
265
|
-
/**
|
|
266
|
-
* Get template optimized for specific country/region
|
|
267
|
-
*/
|
|
268
|
-
static getTemplateForRegion(templateName, countryCode, language) {
|
|
269
|
-
const baseConfig = this.getTemplateConfig(templateName);
|
|
270
|
-
const optimizedConfig = { ...baseConfig };
|
|
271
|
-
// Regional optimizations
|
|
272
|
-
const regionalSettings = this.getRegionalSettings(countryCode);
|
|
273
|
-
optimizedConfig.fingerInfo = {
|
|
274
|
-
...optimizedConfig.fingerInfo,
|
|
275
|
-
isLanguageBaseIp: false,
|
|
276
|
-
language: language || regionalSettings.language,
|
|
277
|
-
isDisplayLanguageBaseIp: false,
|
|
278
|
-
displayLanguage: language || regionalSettings.language,
|
|
279
|
-
isTimeZone: false,
|
|
280
|
-
timeZone: regionalSettings.timeZone,
|
|
281
|
-
};
|
|
282
|
-
return optimizedConfig;
|
|
283
|
-
}
|
|
284
|
-
/**
|
|
285
|
-
* Get regional settings by country code
|
|
286
|
-
*/
|
|
287
|
-
static getRegionalSettings(countryCode) {
|
|
288
|
-
const regionalMap = {
|
|
289
|
-
US: { language: 'en-US', timeZone: 'GMT-5:00 America/New_York' },
|
|
290
|
-
CN: { language: 'zh-CN', timeZone: 'GMT+8:00 Asia/Shanghai' },
|
|
291
|
-
JP: { language: 'ja-JP', timeZone: 'GMT+9:00 Asia/Tokyo' },
|
|
292
|
-
KR: { language: 'ko-KR', timeZone: 'GMT+9:00 Asia/Seoul' },
|
|
293
|
-
DE: { language: 'de-DE', timeZone: 'GMT+1:00 Europe/Berlin' },
|
|
294
|
-
FR: { language: 'fr-FR', timeZone: 'GMT+1:00 Europe/Paris' },
|
|
295
|
-
GB: { language: 'en-GB', timeZone: 'GMT+0:00 Europe/London' },
|
|
296
|
-
RU: { language: 'ru-RU', timeZone: 'GMT+3:00 Europe/Moscow' },
|
|
297
|
-
BR: { language: 'pt-BR', timeZone: 'GMT-3:00 America/Sao_Paulo' },
|
|
298
|
-
IN: { language: 'hi-IN', timeZone: 'GMT+5:30 Asia/Kolkata' },
|
|
299
|
-
// Add more regions as needed
|
|
300
|
-
};
|
|
301
|
-
return regionalMap[countryCode.toUpperCase()] || regionalMap.US;
|
|
302
|
-
}
|
|
303
|
-
/**
|
|
304
|
-
* Validate template configuration
|
|
305
|
-
*/
|
|
306
|
-
static validateTemplate(template) {
|
|
307
|
-
const errors = [];
|
|
308
|
-
if (!template.name) {
|
|
309
|
-
errors.push('Template name is required');
|
|
310
|
-
}
|
|
311
|
-
if (!template.description) {
|
|
312
|
-
errors.push('Template description is required');
|
|
313
|
-
}
|
|
314
|
-
if (!template.defaultConfig) {
|
|
315
|
-
errors.push('Template default configuration is required');
|
|
316
|
-
}
|
|
317
|
-
// Additional validation can be added here
|
|
318
|
-
return {
|
|
319
|
-
valid: errors.length === 0,
|
|
320
|
-
errors,
|
|
321
|
-
};
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
//# sourceMappingURL=template-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"template-manager.js","sourceRoot":"","sources":["../../src/browser/template-manager.ts"],"names":[],"mappings":"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"}
|