Bên giao diện Tạo/Edit Profile Browser, phần tùy chỉnh WebGL Vendor, WebGL Renderer, và 1 số thuộc tính khác, nó thiếu cái tùy chọn Real rồi. Ngoài ra bên code SocialListeningBot.js và khi khởi tạo Browser, thuộc tính nào để Real thì ta sẽ sử dụng giá trị thật của thiết bị.
Bạn đúng rồi! Tôi sẽ thêm tùy chọn "Real" cho các thuộc tính WebGL và cập nhật logic để sử dụng giá trị thật khi chọn "Real".
webgl_metadata === "custom" VÀ vendor/renderer khác "real"resolution_mode !== "real"Khi thuộc tính được set = "real":
Bây giờ bạn có thể chọn "Real" cho bất kỳ thuộc tính nào để sử dụng giá trị thật của thiết bị thay vì giá trị giả mạo!
Ở hàm Start tôi có console ra: console.log("Starting bot with profile:", this.profileConfig) để xem giá trị thử thì nó đang là vậy:
Starting bot with profile: { id: '10fac0da-87c3-41bd-94dc-b32a2fb16474', name: 'testt_real', user_data_dir: 'C:\Users\WhatIsMyName\Desktop\AA_CONGVIECALL\social-listening-app\browser_profiles_data\profile_10fac0da-87c3-41bd-94dc-b32a2fb16474', user_agent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36', screen_width: 1920, screen_height: 1080, viewport_width: 1366, viewport_height: 768, timezone: 'Asia/Singapore', language: 'vi-VN,vi;q=0.9,en;q=0.8', platform: 'Win32', webgl_vendor: 'Google Inc. (Intel)', webgl_renderer: 'ANGLE (Intel, Intel(R) HD Graphics 620 Direct3D11 vs_5_0 ps_5_0, D3D11)', webgl_metadata: 'real', webgpu: 'real', webrtc: 'real', timezone_mode: 'custom', geolocation: 'block', latitude: null, longitude: null, accuracy: null, language_mode: 'ip_based', display_language: 'real', resolution_mode: 'predefined', fonts: 'default', canvas_noise: 1, webgl_noise: 1, audio_noise: 1, media_devices: 'auto', client_rects_noise: 1, speech_voices_noise: 1, cpu_mode: 'real', cpu_cores: 8, ram_mode: 'real', ram_size: '16GB', device_name_mode: 'real', device_name: '', mac_address_mode: 'real', mac_address: '', do_not_track: 'default', port_scan_protection: 'enabled', hardware_acceleration: 'default', disable_tls_features: 0, proxy_type: 'none', proxy_host: '', proxy_port: 8080, proxy_username: '', proxy_password: '', status: 'stopped', last_error: 'Bot not found in active instances, marked as stopped.', created_at: '2025-06-11 06:29:38', updated_at: '2025-06-11 06:44:34' }
Hàm khởi tạo Browser bạn nhớ check nếu là real thì lấy theo dữ liệu thiết bị nha (check all field). Ngoài ra phần cấu hình WebGl (vendor và tên thiết bị) của code demo không đúng dẫn đến bạn code theo cũng sai. Hãy nghiên cứu lại trên Internet để cấu hình phần WebGL thật chuẩn để tránh bị giá trị trống -
Với những thay đổi này, bot sẽ tôn trọng các cài đặt "real" một cách nhất quán hơn trên các thuộc tính fingerprint khác nhau, bao gồm cả Platform và Display Language. Đối với WebGL, logic cốt lõi là nếu webgl_metadata được đặt thành "real", bot sẽ không cố gắng giả mạo các thông số WebGL ở tầng JavaScript, cho phép trình duyệt báo cáo các giá trị thực của nó.
Nếu bạn vẫn gặp sự cố "giá trị trống" với WebGL khi đặt là "real", tôi khuyên bạn nên kiểm tra:
orbita-browser): Đảm bảo rằng nó được build và cấu hình để hỗ trợ WebGL đúng cách.browserleaks.com/webgl) để xem kết quả có nhất quán không.Hy vọng những điều chỉnh này sẽ giúp cải thiện độ tin cậy của việc sử dụng giá trị "real"!
Tham khảo file code tôi gửi của 1 dự án C# có tính năng fake fingerprint tương tự , để update lại source dự án của tôi đi