Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md
CCBaga-A and CCBaga-B logos, side by side

CCBaga

A native macOS, Linux and Windows toolkit for a cleaner workspace and an environment you can verify.

Claude identities · Browser fingerprints · System settings · Network Skill

MIT license macOS 12 and later Linux x86_64 Windows 10 and 11 Rust and Tauri

Features · Installation · Updates · Quick start · Architecture · Development · Contributing

CCBaga: native control, observable environments

CCBaga brings local maintenance and environment setup into one focused desktop workflow. Inspect Claude data before removing it, rotate your companion browser's fingerprint and restart it, align system settings with a selected region, and compare real browser readings with the machine and network exit.

Two applications work together: CCBaga-A owns native operations; CCBaga-B runs an isolated Fingerprint Chromium profile. Browser measurements return to the host through a local session. Changing a setting and verifying its effect are separate steps.

Features

Local Claude identities

Archive the current local identity, switch to a saved identity or start with an empty workspace. Choose what stays shared and what moves with each identity.
Fingerprint & restart

Generate a fresh seed, apply the selected region's language and timezone, then restart the companion browser.
Real environment checks

Compare browser and machine readings with the actual network exit. Passing measured checks produces a green page and a large checkmark.
Native system settings

Apply timezone, preferred language and region settings. Open desktop controls for location and permissions; see platform-specific limits.
AI-guided network setup

Three simple steps, a coding-agent selector and a copyable Skill installation prompt. Give the AI your files and connection details; it handles the commands.
Claude Code CLI tools

Detect the installation method and version. Uninstall or reinstall through native, npm/bun, Homebrew or WinGet workflows.

One region selector. Four everyday actions. Easy setup puts browser cache cleanup, fingerprint rotation, timezone/language reset and identity archiving on the same page. The sidebar keeps advanced controls in Network, Claude identities, Browser and Computer.

The interface supports English and Chinese, with shared YAML catalogs. Switching the interface language does not change the computer or browser language.

Installation

Platforms: macOS 12 or later on Apple Silicon; Linux x86_64 with GTK 3 and WebKitGTK 4.1; Windows 10/11 x86_64. Intel macOS and Linux ARM64 are not supported.

Linux x86_64 packages include DEB, RPM, AppImage and Arch/pacman formats, with the companion browser included. See Linux setup for installation and platform limits. Official versions are published exclusively by the project owner, liseami.

Windows x86_64 uses one NSIS setup installer containing both A and B. The installer is not Authenticode signed and may show SmartScreen; managed security policy can block it. See Windows setup for installation, toolchains and platform behaviors.

macOS

Download the official installer from GitHub Releases. The distribution package is named CCBaga-<version>-macos-arm64.dmg. It contains both applications:

ApplicationInstalled bundleRole
CCBaga-ACCBaga-A.appIdentity management, system settings and environment verification
CCBaga-BCCBaga-B.appCompanion browser with a dedicated profile

Download one DMG; it contains both applications. There is no separate browser download. The installer uses the same pixel-art style as this README.

  1. Open the disk image and drag both applications into Applications.
  2. Launch CCBaga-A. It starts the companion browser automatically.
  3. Choose English at the bottom of the sidebar if needed.

Source builds are available through the development guide.

Updates

Use Check for updates at the bottom of CCBaga-A’s sidebar. Startup checks quietly; installation only starts when you choose Update and restart. Downloads show actual progress and are verified before installation. Failed downloads can be retried; a failed restart does not download the update again.

On macOS, in-app updates replace A; use the latest DMG to update both apps. On Windows, a verified NSIS update installs both A and B after closing this companion browser. On Linux, use the package manager or full package.

Quick start

Everyday setup

Open Easy setup, select a country or region, then choose an action. Browser fingerprint rotation closes and restarts CCBaga-B, so save unfinished browser work first. Selecting a region changes language, timezone and regional settings; it does not change your public IP.

Claude identities

Open Claude identities to manage the local state of both Claude Code and Claude Desktop. Choose Empty identity to archive the current state before leaving a fresh workspace, or choose a saved identity to restore it. Every switch saves the outgoing identity first.

Expand Keep in workspace to choose retention for skills and commands, plugins, MCP configuration, personal settings, project records, conversation history, and caches/logs. Login data always moves with an archived identity. Project source outside Claude's own data directories is not scanned. A confirmation names the outgoing identity and summarizes what stays in the workspace before closing recognized Claude processes.

Portrait identity cards scroll horizontally with spring motion and subtle hover tilt. The white empty identity stays first, followed by the current local account with available name, email and organization information. Archive saves the current state and leaves an empty identity. Select a saved card to restore that identity. Direct delete removes selected current data without creating an archive; deleting a saved card removes only that archive. Both deletion actions require an explicit confirmation.

A local SQLite database tracks names, policies and recovery state. Data is compressed into an authenticated, encrypted .baga container outside Claude's working directories. Archive verification precedes workspace changes; failed switches roll back, and an interrupted switch exposes recovery. Recovery also saves the pre-recovery state. Ordinary archive tools cannot open this container directly; filesystem ownership or administrator access is not an absolute secrecy boundary.

Expired or revoked server-side logins may need authentication again. The app manages the default local directories, not every custom Claude profile. The program-maintenance controls uninstall or reinstall Claude Code without removing the identity vault.

Browser verification

Open Browser or the companion browser's local test page to measure the actual environment. Checks cover the network exit, country, timezone, language, platform, CPU count, engine version and location settings.

The success page appears only when the measured checks match, the report reaches the cleaner and no measurement error remains. DNS and WebRTC leak checks are not independently verified. A green result describes the measured checks, not a guarantee of anonymity or account acceptance.

Network setup

Open Network for three steps: Get VPS → Get residential proxy → Install Skill. Select General, Codex, Cursor, OpenCode or Copilot, then copy the installation prompt into your local coding agent. The prompt follows the app's English/Chinese setting.

The Network Skill follows the Agent Skills specification and installs separately from the apps. It supports the npm skills CLI: npx skills add liseami/CCBaga --skill ccbaga-network --global; the AI selects the target tool, uses copy mode on Windows, and disables installer tracking. Give the AI your VPS address, the three matching PEM/PPK/PUB files or downloaded key bundle, and your residential SOCKS5 connection details. It handles file paths, private configuration, commands and checks; you do not need to open a terminal or edit JSON. Missing resources are purchased by you with the AI's guidance. Remote setup runs only after approval of the actual server changes.

The Skill supports authorized Debian 12/13 servers using root key login on port 22. It checks the SSH identity and fixed SOCKS5 exit, configures Xray/Reality and delivers a private local import file after server self-checks pass. Client setup uses TUN ON, System Proxy OFF and an empty explicit browser proxy; actual TUN/browser verification remains a separate step. The subscription URL uses HTTP and contains credentials; prefer the file retrieved over SSH.

Provider buttons link to DMIT and Webshare. Network setup is optional; local cleanup does not require a VPS or a proxy subscription. The app does not collect SSH keys or proxy credentials and does not deploy to servers.

Architecture

Pixel architecture map: native core, companion browser and a separate AI Network Skill

The UI owns inputs and presentation. Rust owns validation, task locks, process identity checks and execution. Small Objective-C bridges call macOS APIs; Rust Linux and Windows boundaries use native process identity checks and platform controls. The browser test page has no Tauri command access; it exchanges context and measurements through a random-token loopback session.

LayerTechnologyResponsibility
Desktop hostRust · Tauri 2Native commands, transactions, progress and lifecycle
InterfaceReact 19 · TypeScript · Cromma UIForms, previews and execution results
Platform bridgesAppKit · Security · CoreLocation · Linux / Windows RustPlatform permissions and system integration
Companion browserFingerprint ChromiumDedicated profile and real browser measurements
Separate Network SkillPython standard library · OpenSSH · Bash · XrayAI-managed private configuration, approved remote setup and server/client verification
LocalizationYAML · ViteBuild-time English/Chinese catalogs
Repository map
assets/             Compressed brand logos and pixel-art DMG background
src/                Desktop UI, browser test page and localization
src-tauri/src/      Rust commands and transaction boundaries
src-tauri/native/   Small macOS API bridges
browser-runtime/    Engine metadata, launcher, entitlements and licenses
scripts/            Icons, local builds and installation helpers
skills/             Installable AI Network Skill and its execution scripts
packaging/arch/     Native Arch Linux PKGBUILD and desktop entry
docs/               README artwork and platform development guides
vendor/cromma-ui/   Vendored interface components

The large browser application and archive are generated/runtime inputs, excluded from Git. CLAUDE.md files map module boundaries; source headers describe inputs, outputs and responsibilities.

Development

Prerequisites

On Linux, follow Linux setup. On macOS, use an Apple Silicon Mac with Xcode Command Line Tools, stable Rust and Bun. Follow Tauri's macOS prerequisites for the native toolchain.

The browser engine is an external build input. python3 scripts/fetch-browser.py downloads the pinned macOS arm64 Fingerprint Chromium 148.0.7778.215 engine from the upstream project, verifies its SHA-256 and preserves its bundle structure and notices. Browser runtime binaries are not included in the source repository.

From your checkout:

bun install --frozen-lockfile
python3 scripts/fetch-browser.py
sh scripts/make-icons.sh
sh scripts/package-browser.sh
bun run tauri dev

Local builds are for development and testing; they are not official project downloads.

Fast local build and install (macOS)

bun run dev:install

This builds a debug app with the embedded UI, uses local ad-hoc signatures and installs/starts both apps. It does not use Apple credentials or create an installer. It preserves profiles and settings. The development installer accepts only locally built debug apps; downloaded installers still require the normal signature and Gatekeeper checks.

Build

MACOSX_DEPLOYMENT_TARGET=12.0 \
  bun run tauri build --bundles app --features custom-protocol

The host bundle is written to src-tauri/target/release/bundle/macos/CCBaga-A.app. The companion bundle remains at browser-runtime/Browser.app until copied to Applications as CCBaga-B.app.

Production builds require custom-protocol to load the embedded UI. Compilation without it fails explicitly, preventing an installed app from depending on the development server.

Checks

bun run build
bun test
MACOSX_DEPLOYMENT_TARGET=12.0 \
  cargo test --manifest-path src-tauri/Cargo.toml
python3 scripts/test-sign-browser.py
python3 skills/ccbaga-network/scripts/test_network.py
bash -n skills/ccbaga-network/scripts/setup-vps.sh

Pull requests run the existing frontend, native Rust, offline Skill and npm skill-installation checks on Ubuntu, macOS and Windows, plus the relevant platform regression tests. The workflow uses a read-only token, no signing secrets and no artifact uploads; it does not publish releases or download the browser engine. Complete engine and installer validation remains part of the separate delivery checks.

The identity UI simulation uses 40 fictitious accounts, mocked Tauri IPC and an isolated headless context with external requests blocked. It covers card navigation, retention choices, switching, irreversible-delete alerts, failure recovery and both languages. Run bun run test:identities with Node.js 22.23.2 or later after preparing the pinned browser engine. The browser receives a temporary HOME/XDG configuration. Native archive tests use temporary SQLite databases and files; the macOS credential bridge is also checked against a separate disposable Keychain.

Automated tests exercise disposable fixtures and local test servers. They do not deploy a real VPS, delete your Claude account data or perform administrator-authorized system changes. Real SSH connectivity, client-side TUN routing and permission-dependent operations require validation in the target environment.

Data & permissions

  • Identities are local. Login state is archived before switching. You choose which personal data stays in the workspace and which is stored with the identity. Actual project source and cloud-side account records are outside this scope.
  • Secrets stay out of UI logs. The apps have no SSH key picker or server deployment command. After explicit confirmation, the native identity vault reads only the recognized default Claude credentials needed for restoration; credential contents never enter the GUI, command-line arguments or network. The separate Skill uses private local files and temporary private PEM copies (0600 on POSIX, verified user-only NTFS ACLs on Windows); data supplied to your coding agent is subject to that agent provider’s handling.
  • Network checks make real requests. Exit detection uses ipwho.is with ipapi.co as a fallback on the same route. IP location is a service estimate.
  • Remote changes are explicit. The separate Skill contacts only the VPS you provide after server-change approval. Required credentials remain in private local/server configuration, outside Git and public logs.
  • Permissions are feature-specific. Timezone changes require macOS administrator authorization. Keychain access follows system prompts. Location controls may require Accessibility permission or a manual action in System Settings.

Custom CLAUDE_CONFIG_DIR locations are not automatically included in the default identity scope. The app reports this limitation rather than silently claiming they were switched.

Contributing

Start with CONTRIBUTING.md. Small, focused changes with clear behavior and relevant checks are welcome. For bug reports, include the operating system and version, app version, operation and sanitized error; never attach private keys, passwords or subscription URLs.

License & credits

CCBaga's original project code is released under the MIT License. Third-party code and binaries retain their own terms; see NOTICE.md.

Built with Tauri, React and Fingerprint Chromium, with a native macOS implementation of Claude maintenance workflows. Cleanup discovery was informed by the claude-cleanup skill.

An independent project. Not affiliated with or endorsed by Anthropic or Apple.

关于 About

No description, website, or topics provided.

语言 Languages

Rust49.9%
Python15.8%
TypeScript15.5%
Objective-C5.8%
Shell5.7%
CSS4.4%
PowerShell1.4%
C0.9%
Swift0.3%
HTML0.2%
NSIS0.1%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
14
Total Commits
峰值: 14次/周
Less
More

核心贡献者 Contributors