02 · Get started

Migrate your profiles in one pass.

View as Markdown

Donut imports existing Chromium-family profiles in bulk. Chrome, Chromium, Brave, Microsoft Edge, Opera, Opera GX, Vivaldi, Arc, Yandex, and the Chrome/Brave beta and dev channels all become Wayfern (anti-detect Chromium) profiles — history, cookies, extensions state, and local storage come along; each imported profile gets its own freshly generated fingerprint. Importing is free on every tier.

In the app

Open the Import page from the rail navigation. Two ways in:

  • Auto-detect scans the default locations of every supported Chromium-family browser (Chrome, Chromium, Brave, Edge, Opera, Opera GX, Vivaldi, Arc, Yandex, and beta/dev channels) and lists every profile it finds. Tick the ones you want (or Select all).
  • Manual points at any path: a single profile folder, a whole browser user-data folder (Default, Profile 2, …), a folder holding one exported profile per subfolder, or a ZIP archive of any of those shapes.

Before importing you can, in one pass:

  • rename each profile;
  • assign every imported profile to a group (or create a new group inline);
  • attach a proxy — one proxy for all, or round-robin across your stored proxies;
  • pick a duplicate strategy: rename automatically (Name (2), Name (3), …) or skip.

Imports run per-item: one broken profile never aborts the batch, and a progress bar tracks the copy. A results screen shows exactly what was imported, skipped, or failed.

Via the REST API

Three endpoints cover the whole migration (see the API reference for full request/response schemas):

A minimal migration:

# 1. See what's on this machine
curl -sS http://127.0.0.1:10108/v1/profiles/import/detect \
  -H "Authorization: Bearer $DONUT_API_KEY" | jq '.profiles[].path'

# 2. Import everything into a group
curl -sS -X POST http://127.0.0.1:10108/v1/profiles/import \
  -H "Authorization: Bearer $DONUT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      { "source_path": "/Users/me/Library/Application Support/Google/Chrome/Default", "new_profile_name": "Old Chrome" }
    ],
    "group_id": "e2074e8e-2a9e-46dd-a91e-c34c88ee1e35",
    "duplicate_strategy": "rename"
  }'

Via MCP

The MCP server exposes the same surface as tools, so an AI assistant can run the entire migration conversationally:

  • detect_browser_profiles — find importable profiles (optionally in a custom folder);
  • import_browser_profiles — bulk-import with group assignment and duplicate handling;
  • plus the existing import_proxies, create_group, and assign_profiles_to_group.

A prompt like “detect my Chrome profiles, import them all into a group called Migration, and assign my stored proxies round-robin” maps 1:1 onto these tools.

Good to know

  • A downloaded Wayfern version must already be present — the import path never downloads browsers.
  • Fingerprints are generated per imported profile. Setting a fingerprint os (cross-OS spoofing) requires Pro; everything else about importing is free.
  • Firefox/Gecko profiles can’t be converted to a Chromium engine. Migrate their cookies instead via POST /v1/profiles/{id}/cookies/import.
  • Migrating from another anti-detect browser? If it exports raw Chromium profile directories (most do), point the folder or ZIP import at the export.