refactor: fully deprecate camoufox

This commit is contained in:
zhom
2026-07-08 01:19:52 +04:00
parent 23dab4c8e4
commit 23859333c6
88 changed files with 702 additions and 37495 deletions
+1 -189
View File
@@ -21,8 +21,7 @@ export interface BrowserProfile {
launch_hook?: string;
process_id?: number;
last_launch?: number;
release_type: string; // "stable" or "nightly"
camoufox_config?: CamoufoxConfig; // Camoufox configuration
release_type: string;
wayfern_config?: WayfernConfig; // Wayfern configuration
group_id?: string; // Reference to profile group
tags?: string[];
@@ -200,7 +199,6 @@ export interface DetectedProfile {
export interface BrowserReleaseTypes {
stable?: string;
nightly?: string;
}
export interface AppUpdateInfo {
@@ -223,192 +221,6 @@ export interface AppUpdateProgress {
message: string;
}
export type CamoufoxOS = "windows" | "macos" | "linux";
export interface CamoufoxConfig {
proxy?: string;
screen_max_width?: number;
screen_max_height?: number;
screen_min_width?: number;
screen_min_height?: number;
geoip?: string | boolean;
block_images?: boolean;
block_webrtc?: boolean;
block_webgl?: boolean;
executable_path?: string;
fingerprint?: string; // JSON string of the complete fingerprint config
randomize_fingerprint_on_launch?: boolean; // Generate new fingerprint on every launch
os?: CamoufoxOS; // Operating system for fingerprint generation
}
// Extended interface for the advanced fingerprint configuration
export interface CamoufoxFingerprintConfig {
// Browser behavior
allowAddonNewTab?: boolean;
// Navigator properties
"navigator.userAgent"?: string;
"navigator.appVersion"?: string;
"navigator.platform"?: string;
"navigator.oscpu"?: string;
"navigator.appCodeName"?: string;
"navigator.appName"?: string;
"navigator.product"?: string;
"navigator.productSub"?: string;
"navigator.buildID"?: string;
"navigator.language"?: string;
"navigator.languages"?: string[];
"navigator.doNotTrack"?: string;
"navigator.hardwareConcurrency"?: number;
"navigator.maxTouchPoints"?: number;
"navigator.cookieEnabled"?: boolean;
"navigator.globalPrivacyControl"?: boolean;
"navigator.onLine"?: boolean;
// Screen properties
"screen.height"?: number;
"screen.width"?: number;
"screen.availHeight"?: number;
"screen.availWidth"?: number;
"screen.availTop"?: number;
"screen.availLeft"?: number;
"screen.colorDepth"?: number;
"screen.pixelDepth"?: number;
"screen.pageXOffset"?: number;
"screen.pageYOffset"?: number;
// Window properties
"window.outerHeight"?: number;
"window.outerWidth"?: number;
"window.innerHeight"?: number;
"window.innerWidth"?: number;
"window.screenX"?: number;
"window.screenY"?: number;
"window.scrollMinX"?: number;
"window.scrollMinY"?: number;
"window.scrollMaxX"?: number;
"window.scrollMaxY"?: number;
"window.devicePixelRatio"?: number;
"window.history.length"?: number;
// Document properties
"document.body.clientWidth"?: number;
"document.body.clientHeight"?: number;
"document.body.clientTop"?: number;
"document.body.clientLeft"?: number;
// Locale and geolocation
"locale:language"?: string;
"locale:region"?: string;
"locale:script"?: string;
"locale:all"?: string;
"geolocation:latitude"?: number;
"geolocation:longitude"?: number;
"geolocation:accuracy"?: number;
timezone?: string;
// Headers
"headers.Accept-Language"?: string;
"headers.User-Agent"?: string;
"headers.Accept-Encoding"?: string;
// WebRTC
"webrtc:ipv4"?: string;
"webrtc:ipv6"?: string;
"webrtc:localipv4"?: string;
"webrtc:localipv6"?: string;
// Battery
"battery:charging"?: boolean;
"battery:chargingTime"?: number;
"battery:dischargingTime"?: number;
"battery:level"?: number;
// Fonts
fonts?: string[];
"fonts:spacing_seed"?: number;
// Audio
"AudioContext:sampleRate"?: number;
"AudioContext:outputLatency"?: number;
"AudioContext:maxChannelCount"?: number;
// Media devices
"mediaDevices:micros"?: number;
"mediaDevices:webcams"?: number;
"mediaDevices:speakers"?: number;
"mediaDevices:enabled"?: boolean;
// WebGL
"webGl:renderer"?: string;
"webGl:vendor"?: string;
"webGl:supportedExtensions"?: string[];
"webGl2:supportedExtensions"?: string[];
"webGl:contextAttributes"?: {
alpha?: boolean;
antialias?: boolean;
depth?: boolean;
failIfMajorPerformanceCaveat?: boolean;
powerPreference?: string;
premultipliedAlpha?: boolean;
preserveDrawingBuffer?: boolean;
stencil?: boolean;
};
"webGl2:contextAttributes"?: {
alpha?: boolean;
antialias?: boolean;
depth?: boolean;
failIfMajorPerformanceCaveat?: boolean;
powerPreference?: string;
premultipliedAlpha?: boolean;
preserveDrawingBuffer?: boolean;
stencil?: boolean;
};
"webGl:parameters"?: Record<string, unknown>;
"webGl2:parameters"?: Record<string, unknown>;
"webGl:shaderPrecisionFormats"?: Record<string, unknown>;
"webGl2:shaderPrecisionFormats"?: Record<string, unknown>;
// Canvas
"canvas:aaOffset"?: number;
"canvas:aaCapOffset"?: boolean;
// Voices
voices?: {
isLocalService?: boolean;
isDefault?: boolean;
voiceURI?: string;
name?: string;
lang?: string;
}[];
"voices:blockIfNotDefined"?: boolean;
"voices:fakeCompletion"?: boolean;
"voices:fakeCompletion:charsPerSecond"?: number;
// Other properties
humanize?: boolean;
"humanize:maxTime"?: number;
"humanize:minTime"?: number;
showcursor?: boolean;
allowMainWorld?: boolean;
forceScopeAccess?: boolean;
enableRemoteSubframes?: boolean;
disableTheming?: boolean;
memorysaver?: boolean;
addons?: string[];
certificatePaths?: string[];
certificates?: string[];
debug?: boolean;
pdfViewerEnabled?: boolean;
}
export interface CamoufoxLaunchResult {
id: string;
processId?: number;
profilePath?: string;
url?: string;
}
export type WayfernOS = "windows" | "macos" | "linux" | "android" | "ios";
export interface WayfernConfig {