{"repo":"zhom/donutbrowser","free":true,"listed":false,"github":"https://github.com/zhom/donutbrowser","clone":"git clone https://github.com/zhom/donutbrowser.git","description":"Simple Yet Powerful Anti-Detect Browser 🍩","language":"Rust","stars":3646,"topics":["anti-detect","anti-detect-browser","anti-detection","browser","browser-automation","browser-fingerprint-bypass","browser-fingerprinting","browser-management","chromium","management","manager","orchestration","orchestrator","privacy","profile-management"],"license":"AGPL-3.0","category":"browser_automation","readme_excerpt":"<div align=\"center\">\n  <img src=\"assets/logo.png\" alt=\"Donut Browser Logo\" width=\"150\">\n  <h1>Donut Browser</h1>\n  <strong>Open Source Anti-Detect Browser</strong>\n  <br>\n  <a href=\"https://donutbrowser.com\">donutbrowser.com</a>\n</div>\n<br>\n\n<p align=\"center\">\n  <a style=\"text-decoration: none;\" href=\"https://github.com/zhom/donutbrowser/releases/latest\" target=\"_blank\"><img alt=\"GitHub release\" src=\"https://img.shields.io/github/v/release/zhom/donutbrowser\">\n  </a>\n  <a style=\"text-decoration: none;\" href=\"https://github.com/zhom/donutbrowser/issues\" target=\"_blank\">\n    <img src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat\" alt=\"PRs Welcome\">\n  </a>\n  <a style=\"text-decoration: none;\" href=\"https://github.com/zhom/donutbrowser/blob/main/LICENSE\" target=\"_blank\">\n    <img src=\"https://img.shields.io/badge/license-AGPL--3.0-blue.svg\" alt=\"License\">\n  </a>\n  <a style=\"text-decoration: none;\" href=\"https://github.com/zhom/donutbrowser/network/members\" target=\"_blank\">\n    <img src=\"https://img.shields.io/github/forks/zhom/donutbrowser?style=social\" alt=\"GitHub forks\">\n  </a>\n</p>\n\n<img alt=\"Donut Browser Preview\" src=\"assets/donut-preview.png\" />\n\n## Features\n\n- Unlimited browser profiles: each fully isolated with its own fingerprint, cookies, extensions, and data\n- Anti-detect Chromium engine: powered by [Wayfern](https://wayfern.com), a privacy-focused Chromium fork whose fingerprint spoofing is not detected by Cloudflare, reCaptcha v3, or other browser fingerprinting and anti-bot services\n- DNS AdBlocker: block ads, trackers, and other unwanted content with per-profile DNS blocking\n- Proxy support: HTTP, HTTPS, SOCKS4, SOCKS5 per profile, with dynamic proxy URLs\n- VPN support: WireGuard configs per profile\n- Local API & MCP: REST API and [Model Context Protocol](https://modelcontextprotocol.io) server for integration with Claude, automation tools, and custom workflows\n- Profile groups: organize profiles and apply bulk settings\n- Import profiles: migrate from Chrome, Edge, Brave, or other Chromium browsers\n- Cookie & extension management: import/export cookies, manage extensions per profile\n- Default browser: set Donut as your default browser and choose which profile opens each link\n- Cloud sync: sync profiles, proxies, and groups across devices (self-hostable)\n- E2E encryption: optional end-to-end encrypted sync with a password only you know\n- Zero telemetry: no tracking or device fingerprinting\n\n## Install\n\n<!-- install-links-start -->\n### macOS\n\n| | Apple Silicon | Intel |\n|---|---|---|\n| **DMG** | [Download](https://github.com/zhom/donutbrowser/releases/download/v0.29.5/Donut_0.29.5_aarch64.dmg) | [Download](https://github.com/zhom/donutbrowser/releases/download/v0.29.5/Donut_0.29.5_x64.dmg) |\n\nOr install via Homebrew:\n\n```bash\nbrew install --cask donut\n```\n\n### Windows\n\n[Download Windows Installer (x64)](https://github.com/zhom/donutbrowser/releases/download/v0.29.5/Donut_0.29.5_x64-setup.exe) · [Portable (x64)](https://github.com/zhom/donutbrowser/releases/download/v0.29.5/Donut_0.29.5_x64-portable.zip)\n\n### Linux\n\n| Format | x86_64 | ARM64 |\n|---|---|---|\n| **deb** | [Download](https://github.com/zhom/donutbrowser/releases/download/v0.29.5/Donut_0.29.5_amd64.deb) | [Download](https://github.com/zhom/donutbrowser/releases/download/v0.29.5/Donut_0.29.5_arm64.deb) |\n| **rpm** | [Download](https://github.com/zhom/donutbrowser/releases/download/v0.29.5/Donut-0.29.5-1.x86_64.rpm) | [Download](https://github.com/zhom/donutbrowser/releases/download/v0.29.5/Donut-0.29.5-1.aarch64.rpm) |\n| **AppImage** | [Download](https://github.com/zhom/donutbrowser/releases/download/v0.29.5/Donut_0.29.5_amd64.AppImage) | [Download](https://github.com/zhom/donutbrowser/releases/download/v0.29.5/Donut_0.29.5_aarch64.AppImage) |\n<!-- install-links-end -->\n\nOr install via package manager:\n\n```bash\ncurl -fsSL https://donutbrowser.com/install.sh | sh\n```\n\n<details>\n<summary>Troubleshooting AppImage</summary>\n\nIf the AppImage segfaults on launch, install libfuse2 (`sudo apt install libfuse2` / `yay -S libfuse2` / `sudo dnf install fuse-libs`), or bypass FUSE entirely:\n\n```bash\nAPPIMAGE_EXTRACT_AND_RUN=1 ./Donut.Browser_x.x.x_amd64.AppImage\n```\n\nIf that gives an EGL display error, add `WEBKIT_DISABLE_DMABUF_RENDERER=1` or `GDK_BACKEND=x11` to the command above. If issues persist, the .deb and .rpm packages are more reliable.\n\n</details>\n\n### Nix\n\n```bash\nnix run github:zhom/donutbrowser#release-start\n```\n\n## Self-Hosting Sync\n\nRun your own sync server to sync profiles, proxies, and groups across devices for free. See the [Self-Hosting Donut Sync guide](https://donutbrowser.com/docs/self-hosting) for Docker-based setup instructions.\n\n## Contributing\n\nDonut Browser is built by the people who use it, and plenty of the most useful help involves no code at all.\n\n- Tell other people about Donut. Word of mouth is how most users find the project, so talking about it is a real contribution.\n- Report bugs and request features in [GitHub Issues](https://github.com/zhom/donutbrowser/issues).\n- Answer questions in [GitHub Discussions](https://github.com/zhom/donutbrowser/discussions).\n- Fix and improve translations in `src/i18n/locales`.\n- Write code. Start with [CONTRIBUTING.md](CONTRIBUTING.md).\n- Star the repo so more people see it.\n\n## Star History\n\n<a href=\"https://gitdebt.com/zhom/donutbrowser?ref=readme\">\n  <picture>\n    <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.gitdebt.com/api/repos/zhom/donutbrowser/chart.svg?theme=dark&animate=1\" />\n    <img alt=\"Cumulative GitHub stars for zhom/donutbrowser over time\" src=\"https://api.gitdebt.com/api/repos/zhom/donutbrowser/chart.svg?theme=light&animate=1\" />\n  </picture>\n</a>\n\n## Contributors\n\n<a href=\"https://gitdebt.com/zhom/donutbrowser?ref=readme\">\n  <picture>\n    <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.gitdebt.com/api/repos/zhom/donutbrowser/stats/contributors.svg?theme=dark\" />\n    <img alt=\"Everyone who has landed commits in zhom/donutbrowser, ranked by commit count\" src=\"https://api.gitdebt.com/api/repos/zhom/donutbrowser/stats/contributors.svg?theme=light\" />\n  </picture>\n</a>\n\n## Contact\n\nFor urgent questions or security vulnerability reports, email [contact@donutbrowser.com](mailto:contact@donutbrowser.com).\n\n## License\n\nThis project is licensed under the AGPL-3.0 License. See the [LICENSE](LICENSE) file for details.\n","default_branch":"main","files":486,"tree":[".env.example",".envrc",".github/ISSUE_TEMPLATE/bug-report.yml",".github/ISSUE_TEMPLATE/config.yml",".github/ISSUE_TEMPLATE/feature-request.yml",".github/PULL_REQUEST_TEMPLATE.md",".github/dependabot.yml",".github/prompts/release-notes.prompt.yml",".github/prompts/telegram-release-summary.prompt.yml",".github/workflows/codeql.yml",".github/workflows/dependabot-automerge.yml",".github/workflows/docker-sync.yml",".github/workflows/flake-test.yml",".github/workflows/issue-compliance.yml",".github/workflows/issue-validation.yml",".github/workflows/lint-js.yml",".github/workflows/lint-rs.yml",".github/workflows/notify-telegram.yml",".github/workflows/osv.yml",".github/workflows/pr-ai-policy.yml",".github/workflows/pr-checks.yml",".github/workflows/publish-repos.yml",".github/workflows/publish-sidecars.yml",".github/workflows/release-notes-generator.yml",".github/workflows/release.yml",".github/workflows/rolling-release.yml",".github/workflows/spellcheck.yml",".github/workflows/stale.yml",".gitignore",".husky/pre-commit",".husky/pre-push",".node-version",".nvmrc",".vscode/extensions.json",".vscode/settings.json","AGENTS.md","CHANGELOG.md","CLAUDE.md","CODE_OF_CONDUCT.md","CONTRIBUTING.md","CONTRIBUTOR_LICENSE_AGREEMENT.md","LICENSE","README.md","SECURITY.md","_typos.toml","assets/donut-preview.png","assets/logo.png","biome.json","components.json","donut-browser-daemon","donut-sync/.dockerignore","donut-sync/.env.example","donut-sync/.gitignore","donut-sync/.prettierrc","donut-sync/Dockerfile","donut-sync/README.md","donut-sync/docker-compose.yml","donut-sync/nest-cli.json","donut-sync/nixpacks.toml","donut-sync/package.json","donut-sync/src/app.controller.spec.ts","donut-sync/src/app.controller.ts","donut-sync/src/app.module.ts","donut-sync/src/app.service.ts","donut-sync/src/auth/auth.guard.ts","donut-sync/src/auth/user-context.interface.ts","donut-sync/src/main.ts","donut-sync/src/sync/dto/sync.dto.ts","donut-sync/src/sync/internal.controller.ts","donut-sync/src/sync/sync.controller.ts","donut-sync/src/sync/sync.module.ts","donut-sync/src/sync/sync.service.ts","donut-sync/test/app.e2e-spec.ts","donut-sync/test/jest-e2e.json","donut-sync/test/presign-endpoint.e2e-spec.ts","donut-sync/test/sync.e2e-spec.ts","donut-sync/test/test-env.ts","donut-sync/test/tsconfig.json","donut-sync/tsconfig.build.json","donut-sync/tsconfig.json","e2e/README.md","e2e/app/Cargo.lock","e2e/app/Cargo.toml","e2e/app/src/main.rs","e2e/coverage-map.mjs","e2e/lib/app.mjs","e2e/lib/cdp.mjs","e2e/lib/diagnostics.mjs","e2e/lib/fixtures.mjs","e2e/lib/webdriver.mjs","e2e/run.mjs","e2e/tests/browser.test.mjs","e2e/tests/coverage.test.mjs","e2e/tests/diagnostics.test.mjs","e2e/tests/entities.test.mjs","e2e/tests/integrations.test.mjs","e2e/tests/network.test.mjs","e2e/tests/smoke.test.mjs","e2e/tests/sync.test.mjs","e2e/tests/ui.test.mjs","flake.lock","flake.nix","index.html","next.config.ts","package.json","patches/brace-expansion@5.0.9.patch","pnpm-lock.yaml","pnpm-workspace.yaml","postcss.config.mjs","public/favicon.ico","public/file.svg","public/globe.svg","public/next.svg","public/tauri-nextjs-template-2_screenshot.png","public/vercel.svg","public/window.svg","scripts/dev.sh","scripts/generate-licenses.mjs","scripts/generate-licenses.test.mjs","scripts/publish-repo.sh","scripts/redact-sensitive-text.mjs","scripts/run-with-env.mjs","scripts/sync-test-harness.mjs","src-tauri/.cargo/audit.toml","src-tauri/.cargo/config.toml","src-tauri/.gitignore","src-tauri/.rustfmt.toml","src-tauri/Cargo.lock","src-tauri/Cargo.toml","src-tauri/Info.plist","src-tauri/app.manifest","src-tauri/app.rc","src-tauri/assets/template.pac","src-tauri/binaries/.gitkeep","src-tauri/build.rs","src-tauri/capabilities/default.json","src-tauri/copy-proxy-binary.mjs","src-tauri/copy-proxy-binary.sh","src-tauri/donut-browser-daemon","src-tauri/donutbrowser.desktop","src-tauri/download-xray.mjs","src-tauri/download-xray.test.mjs","src-tauri/entitlements.plist","src-tauri/icons/128x128.png","src-tauri/icons/128x128@2x.png","src-tauri/icons/32x32.png","src-tauri/icons/64x64.png","src-tauri/icons/Square107x107Logo.png","src-tauri/icons/Square142x142Logo.png","src-tauri/icons/Square150x150Logo.png","src-tauri/icons/Square284x284Logo.png","src-tauri/icons/Square30x30Logo.png","src-tauri/icons/Square310x310Logo.png","src-tauri/icons/Square44x44Logo.png","src-tauri/icons/Square71x71Logo.png","src-tauri/icons/Square89x89Logo.png","src-tauri/icons/StoreLogo.png","src-tauri/icons/android/mipmap-hdpi/ic_launcher.png","src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png","src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png","src-tauri/icons/android/mipmap-mdpi/ic_launcher.png","src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png","src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png","src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png","src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png","src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png","src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png","src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png","src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png","src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png","src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png","src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png","src-tauri/icons/icon.icns","src-tauri/icons/icon.ico","src-tauri/icons/icon.png","src-tauri/icons/ios/AppIcon-20x20@1x.png","src-tauri/icons/ios/AppIcon-20x20@2x-1.png","src-tauri/icons/ios/AppIcon-20x20@2x.png","src-tauri/icons/ios/AppIcon-20x20@3x.png","src-tauri/icons/ios/AppIcon-29x29@1x.png","src-tauri/icons/ios/AppIcon-29x29@2x-1.png","src-tauri/icons/ios/AppIcon-29x29@2x.png","src-tauri/icons/ios/AppIcon-29x29@3x.png","src-tauri/icons/ios/AppIcon-40x40@1x.png","src-tauri/icons/ios/AppIcon-40x40@2x-1.png","src-tauri/icons/ios/AppIcon-40x40@2x.png","src-tauri/icons/ios/AppIcon-40x40@3x.png","src-tauri/icons/ios/AppIcon-512@2x.png","src-tauri/icons/ios/AppIcon-60x60@2x.png","src-tauri/icons/ios/AppIcon-60x60@3x.png","src-tauri/icons/ios/AppIcon-76x76@1x.png","src-tauri/icons/ios/AppIcon-76x76@2x.png","src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png","src-tauri/icons/logo.png","src-tauri/icons/tray-icon-22.png","src-tauri/icons/tray-icon-44.png","src-tauri/icons/tray-icon-linux-44.png","src-tauri/icons/tray-icon-win-44.png","src-tauri/icons/tray-icon.svg","src-tauri/installer-hooks.nsh","src-tauri/src/api_client.rs","src-tauri/src/api_server.rs","src-tauri/src/app_auto_updater.rs","src-tauri/src/app_dirs.rs","src-tauri/src/auto_updater.rs","src-tauri/src/automation_rate_limiter.rs","src-tauri/src/bin/proxy_server.rs","src-tauri/src/browser.rs","src-tauri/src/browser_runner.rs","src-tauri/src/browser_version_manager.rs","src-tauri/src/cdp_target.rs","src-tauri/src/cloud_auth.rs","src-tauri/src/cloud_errors.rs","src-tauri/src/commercial_license.rs","src-tauri/src/cookie_bot.rs","src-tauri/src/cookie_manager.rs","src-tauri/src/default_browser.rs","src-tauri/src/dns_blocklist.rs","src-tauri/src/downloaded_browsers_registry.rs","src-tauri/src/downloader.rs","src-tauri/src/ephemeral_dirs.rs","src-tauri/src/events/mod.rs","src-tauri/src/extension_manager.rs","src-tauri/src/extraction.rs","src-tauri/src/fingerprint_consistency.rs","src-tauri/src/fs_secure.rs","src-tauri/src/geoip_downloader.rs","src-tauri/src/geolocation.rs","src-tauri/src/group_manager.rs","src-tauri/src/human_typing.rs","src-tauri/src/ip_utils.rs","src-tauri/src/launch_gate.rs","src-tauri/src/launch_gate_prefs.rs","src-tauri/src/lib.rs","src-tauri/src/log_redaction.rs","src-tauri/src/main.rs","src-tauri/src/mcp_integrations.rs","src-tauri/src/mcp_server.rs","src-tauri/src/platform_browser.rs","src-tauri/src/profile/clear_on_close.rs","src-tauri/src/profile/encryption.rs","src-tauri/src/profile/manager.rs","src-tauri/src/profile/mod.rs","src-tauri/src/profile/password.rs","src-tauri/src/profile/types.rs","src-tauri/src/profile_import/copy.rs","src-tauri/src/profile_import/keyring.rs","src-tauri/src/profile_import/layout.rs","src-tauri/src/profile_import/mod.rs","src-tauri/src/profile_import/os_crypt.rs","src-tauri/src/profile_import/report.rs","src-tauri/src/profile_import/rewrite.rs","src-tauri/src/profile_importer.rs","src-tauri/src/proxy_manager.rs","src-tauri/src/proxy_runner.rs","src-tauri/src/proxy_server.rs","src-tauri/src/proxy_server_tests.rs","src-tauri/src/proxy_storage.rs","src-tauri/src/remote_exit.rs","src-tauri/src/remote_handoff.rs","src-tauri/src/remote_session.rs","src-tauri/src/settings_manager.rs","src-tauri/src/socks5_local.rs","src-tauri/src/sync/client.rs","src-tauri/src/sync/encryption.rs","src-tauri/src/sync/engine.rs","src-tauri/src/sync/manifest.rs","src-tauri/src/sync/mod.rs","src-tauri/src/sync/scheduler.rs","src-tauri/src/sync/subscription.rs","src-tauri/src/sync/types.rs","src-tauri/src/synchronizer.rs","src-tauri/src/tag_manager.rs","src-tauri/src/team_lock.rs","src-tauri/src/territory_info.xml","src-tauri/src/traffic_stats.rs","src-tauri/src/version_updater.rs","src-tauri/src/vpn/config.rs","src-tauri/src/vpn/mod.rs","src-tauri/src/vpn/socks5_server.rs","src-tauri/src/vpn/storage.rs","src-tauri/src/vpn/tunnel.rs","src-tauri/src/vpn/wireguard.rs","src-tauri/src/vpn_extension_detect/browser_scan.rs","src-tauri/src/vpn_extension_detect/mod.rs","src-tauri/src/vpn_extension_detect/rules.rs","src-tauri/src/vpn_worker_runner.rs","src-tauri/src/vpn_worker_storage.rs","src-tauri/src/wayfern_manager.rs","src-tauri/src/wayfern_terms.rs","src-tauri/src/window_decorations.rs","src-tauri/src/xray/client.rs","src-tauri/src/xray/error.rs","src-tauri/src/xray/mod.rs","src-tauri/src/xray/model.rs","src-tauri/src/xray/uri.rs","src-tauri/src/xray_worker_runner.rs","src-tauri/src/xray_worker_storage.rs","src-tauri/tauri.conf.json","src-tauri/test-assets/test.tar.bz2","src-tauri/test-assets/test.tar.gz","src-tauri/test-assets/test.tar.xz","src-tauri/test-assets/test.txt","src-tauri/test-assets/test.zip","src-tauri/tests/common/mod.rs","src-tauri/tests/donut_proxy_integration.rs","src-tauri/tests/fixtures/test.conf","src-tauri/tests/sync_e2e.rs","src-tauri/tests/test_harness/mod.rs","src-tauri/tests/vpn_integration.rs","src/app/layout.tsx","src/app/page.tsx","src/components/about-dialog.tsx","src/components/account-page.tsx","src/components/app-update-toast.tsx","src/components/bandwidth-mini-chart.tsx","src/components/client-providers.tsx","src/components/clone-profile-dialog.tsx","src/components/close-confirm-dialog.tsx","src/components/command-palette.tsx","src/components/commercial-trial-modal.tsx","src/components/cookie-bot-activity.tsx","src/components/cookie-bot-enrol-dialog.tsx","src/components/cookie-bot-overview.tsx","src/components/cookie-bot-page.tsx","src/components/cookie-bot-runs-dialog.tsx","src/components/cookie-bot-schedule.tsx","src/components/cookie-bot-shared.tsx","src/components/cookie-copy-dialog.tsx","src/components/cookie-management-dialog.tsx","src/components/create-group-dialog.tsx","src/components/create-profile-dialog.tsx","src/components/custom-toast.tsx","src/components/data-table-action-bar.tsx","src/components/delete-confirmation-dialog.tsx","src/components/delete-group-dialog.tsx","src/components/device-code-verify-dialog.tsx","src/components/dns-blocklist-dialog.tsx","src/components/edit-group-dialog.tsx","src/components/extension-group-assignment-dialog.tsx","src/components/extension-management-dialog.tsx","src/components/flag-icon.tsx","src/components/group-assignment-dialog.tsx","src/components/group-management-dialog.tsx","src/components/home-header.tsx","src/components/i18n-provider.tsx","src/components/icons/logo.tsx","src/components/import-profile-dialog.tsx","src/components/integrations-dialog.tsx","src/components/loading-button.tsx","src/components/multiple-selector.tsx","src/components/onboarding-card.tsx","src/components/onboarding-provider.tsx","src/components/permission-dialog.tsx","src/components/pre-launch-gate-dialog.tsx","src/components/profile-data-table.tsx","src/components/profile-info-dialog.tsx","src/components/profile-password-dialog.tsx","src/components/profile-selector-dialog.tsx","src/components/profile-sync-dialog.tsx","src/components/proxy-assignment-dialog.tsx","src/components/proxy-check-button.tsx","src/components/proxy-export-dialog.tsx","src/components/proxy-form-dialog.tsx","src/components/proxy-import-dialog.tsx","src/components/proxy-management-dialog.tsx","src/components/rail-nav.tsx","src/components/settings-dialog.tsx","src/components/shared-fingerprint-config-form.tsx","src/components/shortcuts-page.tsx","src/components/sync-all-dialog.tsx","src/components/sync-config-dialog.tsx","src/components/sync-follower-dialog.tsx","src/components/team-usage-panel.tsx","src/components/thank-you-dialog.tsx","src/components/theme-provider.tsx","src/components/traffic-details-dialog.tsx","src/components/ui/alert.tsx","src/components/ui/animated-disclosure.tsx","src/components/ui/animated-switch.tsx","src/components/ui/animated-tabs.tsx","src/components/ui/auto-height.tsx","src/components/ui/badge.tsx","src/components/ui/button.tsx","src/components/ui/checkbox.tsx","src/components/ui/color-picker.tsx","src/components/ui/command.tsx","src/components/ui/copy-to-clipboard.tsx","src/components/ui/dialog.tsx","src/components/ui/dropdown-menu.tsx","src/components/ui/fading-scroll-area.tsx","src/components/ui/highlight.tsx","src/components/ui/input.tsx","src/components/ui/label.tsx","src/components/ui/popover.tsx","src/components/ui/pro-badge.tsx","src/components/ui/progress.tsx","src/components/ui/radio-group.tsx","src/components/ui/ripple.tsx","src/components/ui/scroll-area.tsx"],"storefront":"/r/zhom","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/zhom/donutbrowser/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}