Zuruck zum Blog
Cloud-Browser

Cross-Platform Browser Profiles: Same Identity on Any OS

Run Windows browser profiles on macOS or Linux without platform-specific leaks. How cloud browsers achieve cross-platform identity consistency.

Introduction

Windows dominates desktop browser market share. When running automation at scale, presenting a Windows browser identity is often the most statistically natural choice. But if your infrastructure runs on macOS or Linux, dozens of platform-specific signals will contradict your Windows User-Agent.

BotCloud enables true cross-platform profiles: a session claiming to be "Chrome on Windows 10" produces consistent Windows signals regardless of the underlying server OS.

Platform-Specific Signals

  • navigator.platform - "Win32" vs "MacIntel" vs "Linux x86_64"
  • navigator.userAgent - OS string embedded in UA
  • navigator.userAgentData - Client Hints with platform and platformVersion

Font Availability

Each platform has distinctive default fonts:

  • Windows: Segoe UI, Calibri, Consolas, Cambria Math
  • macOS: San Francisco, Helvetica Neue, Menlo
  • Linux: DejaVu Sans, Liberation Mono, Ubuntu

Font fingerprinting reveals the platform even if the User-Agent claims otherwise.

Text Rendering

The same font renders differently across platforms due to different rendering engines:

  • Windows: DirectWrite with ClearType sub-pixel rendering
  • macOS: Core Text with Apple's anti-aliasing
  • Linux: FreeType with configurable hinting

measureText() returns platform-specific widths and heights.

GPU Renderer Strings

WebGL renderer strings contain platform-specific information:

  • Windows: "ANGLE (NVIDIA, NVIDIA GeForce GTX 1080, D3D11)"
  • macOS: "ANGLE (Apple, Apple M1, OpenGL 4.1)"
  • Linux: "ANGLE (NVIDIA, NVIDIA GeForce GTX 1080, OpenGL 4.6)"

Note the different graphics API suffixes (D3D11 vs OpenGL).

Screen Properties

Default screen dimensions and taskbar positions vary by platform. Windows typically has a taskbar at the bottom reducing availHeight, while macOS has the menu bar reducing availTop.

Why This Matters

If any platform signal contradicts the claimed identity, detection systems can flag the session. Running a "Windows Chrome" session on a Linux server with exposed Linux fonts, FreeType text metrics, and OpenGL renderer strings is trivially detectable.

How BotCloud Handles Cross-Platform

When you select a Windows profile in BotCloud:

  • navigator.platform returns "Win32"
  • Font detection returns Windows-specific fonts
  • Text metrics match DirectWrite rendering
  • WebGL renderer strings include D3D11 references
  • Screen dimensions include Windows taskbar offset
  • Client Hints report the correct Windows version

All signals are coordinated from the profile, not from the host operating system. The underlying server OS is invisible to page JavaScript.

Use Cases

Running Windows Profiles from Linux Servers

Most cloud infrastructure runs Linux. BotCloud lets you present Windows browser identities from Linux servers without any platform leakage:

// This session looks like Chrome on Windows, regardless of server OS
const browser = await puppeteer.connect({
  browserWSEndpoint: 'wss://bots.win/ws?apiKey=YOUR_API_KEY',
});

Matching Target Demographics

If your target website's audience is primarily Windows users, presenting Windows profiles is statistically normal and less likely to receive scrutiny than less common platforms.

Best Practices

  1. Use Windows profiles for general-purpose automation - They match the most common desktop browser demographic
  2. Match the profile to the target market - Japanese e-commerce sites may expect more macOS traffic
  3. Verify cross-platform consistency - Check that fonts, text metrics, and GPU strings all align
  4. Keep browser versions current - A Windows profile with an outdated Chrome version is suspicious
#cross-platform#profiles#windows#identity