Skip to content

nmhjklnm/cac

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

136 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

cac

Claude Code ๅฐ้›จ่กฃ โ€” Isolate, protect, and manage your Claude Code.

Run Claude Code your way โ€” isolated, protected, managed.

ไธญๆ–‡ | English | ๐Ÿ“– Docs

npm version GitHub stars Docs Telegram License: MIT Platform

โญ Star this repo if it helps โ€” it helps others find it too.


ไธญๆ–‡

Switch to English

็ฎ€ไป‹

cac ๆ˜ฏ Claude Code ็š„็Žฏๅขƒ็ฎก็†ๅ™จ๏ผŒ็ฑปไผผ uv ไน‹ไบŽ Python๏ผš

  • ็‰ˆๆœฌ็ฎก็† โ€” ๅฎ‰่ฃ…ใ€ๅˆ‡ๆขใ€ๅ›žๆปš Claude Code ็‰ˆๆœฌ
  • ็Žฏๅขƒ้š”็ฆป โ€” ๆฏไธช็Žฏๅขƒ็‹ฌ็ซ‹็š„ .claude ้…็ฝฎ + ่บซไปฝ + ไปฃ็†
  • ้š็งไฟๆŠค โ€” ่ฎพๅค‡ๆŒ‡็บนไผช่ฃ… + ้ฅๆต‹ๅˆ†็บง๏ผˆconservative/aggressive๏ผ‰+ mTLS
  • ้…็ฝฎ็ปงๆ‰ฟ โ€” --clone ไปŽๅฎฟไธปๆˆ–ๅ…ถไป–็Žฏๅขƒ็ปงๆ‰ฟ้…็ฝฎ๏ผŒ~/.cac/settings.json ๅ…จๅฑ€ๅๅฅฝ
  • ้›ถ้…็ฝฎ โ€” ๆ— ้œ€ setup๏ผŒ้ฆ–ๆฌกไฝฟ็”จ่‡ชๅŠจๅˆๅง‹ๅŒ–

ๆณจๆ„ไบ‹้กน

ๅฐๅท้ฃŽ้™ฉ่ฏดๆ˜Ž๏ผšcac ๆไพ›่ฎพๅค‡ๆŒ‡็บนๅฑ‚ไฟๆŠค๏ผˆUUIDใ€ไธปๆœบๅใ€MACใ€้ฅๆต‹้˜ปๆ–ญใ€้…็ฝฎ้š”็ฆป๏ผ‰๏ผŒไฝ†ๆ— ๆณ•ๅฝฑๅ“่ดฆๅทๅฑ‚้ฃŽ้™ฉโ€”โ€”ๅŒ…ๆ‹ฌ OAuth ่ดฆๅทๆœฌ่บซใ€ๆ”ฏไป˜ๆ–นๅผๆŒ‡็บนใ€IP ไฟก่ช‰่ฏ„ๅˆ†๏ผŒไปฅๅŠ Anthropic ็š„ๆœๅŠก็ซฏๅฐ็ฆๅ†ณ็ญ–ใ€‚ๅฐๅทๆ˜ฏ่ดฆๅทๅฑ‚้—ฎ้ข˜๏ผŒcac ๅฏนๆญคๆ— ่ƒฝไธบๅŠ›ใ€‚่ฏฆ่ง ๅฐๅท้ฃŽ้™ฉ FAQใ€‚

ไปฃ็†ๅทฅๅ…ทๅ†ฒ็ช๏ผšๅฆ‚ๆžœๆœฌๅœฐๅฏๅŠจไบ† Clashใ€Shadowrocketใ€Surgeใ€sing-box ็ญ‰ไปฃ็†/VPN ๅทฅๅ…ท๏ผŒๅปบ่ฎฎๅœจไฝฟ็”จ cac ๆ—ถๅ…ˆๅ…ณ้—ญใ€‚TUN ๆจกๅผๅ…ผๅฎนๆ€งไปๅฑžๅฎž้ชŒๆ€งๅŠŸ่ƒฝใ€‚ๅณไฝฟๅ‘็”Ÿๅ†ฒ็ช๏ผŒcac ไนŸไผš่‡ชๅŠจๅœๆญข่ฟžๆŽฅ๏ผˆfail-closed๏ผ‰๏ผŒไธไผšๆณ„้œฒไฝ ็š„็œŸๅฎž IPใ€‚

  • ้ฆ–ๆฌก็™ปๅฝ•๏ผšๅฏๅŠจ claude ๅŽ๏ผŒ่พ“ๅ…ฅ /login ๅฎŒๆˆ OAuth ๆŽˆๆƒ
  • ๅฎ‰ๅ…จ้ชŒ่ฏ๏ผš้šๆ—ถ่ฟ่กŒ cac env check ็กฎ่ฎค้š็งไฟๆŠค็Šถๆ€๏ผŒไนŸๅฏไปฅ which claude ็กฎ่ฎคไฝฟ็”จ็š„ๆ˜ฏ cac ๆ‰˜็ฎก็š„ claude
  • ่‡ชๅŠจๅฎ‰ๅ…จๆฃ€ๆŸฅ๏ผšๆฏๆฌกๅฏๅŠจ Claude Code ไผš่ฏๆ—ถ๏ผŒcac ไผšๅฟซ้€Ÿๆฃ€ๆŸฅ็Žฏๅขƒใ€‚ๅฆ‚ๆœ‰ๅผ‚ๅธธไผš็ปˆๆญขไผš่ฏ๏ผŒไธไผšๅ‘้€ไปปไฝ•ๆ•ฐๆฎ
  • ็ฝ‘็ปœ็จณๅฎšๆ€ง๏ผšๆต้‡ไธฅๆ ผ่ตฐไปฃ็†โ€”โ€”ไปฃ็†ๆ–ญๅผ€ๆ—ถๆต้‡ๅฎŒๅ…จๅœๆญข๏ผŒไธไผšๅ›ž้€€็›ด่ฟžใ€‚ๅ†…็ฝฎๅฟƒ่ทณๆฃ€ๆต‹ๅ’Œ่‡ชๅŠจๆขๅค๏ผŒๆ–ญ็บฟๅŽๆ— ้œ€ๆ‰‹ๅŠจ้‡ๅฏ
  • IPv6๏ผšๅปบ่ฎฎ็ณป็ปŸ็บงๅ…ณ้—ญ๏ผŒ้˜ฒๆญข็œŸๅฎžๅœฐๅ€ๆณ„้œฒ

ๅฎ‰่ฃ…

# npm๏ผˆๆŽจ่๏ผ‰
npm install -g claude-cac

# ๆˆ–ๆ‰‹ๅŠจๅฎ‰่ฃ…
curl -fsSL https://raw.githubusercontent.com/nmhjklnm/cac/master/install.sh | bash

ๅฟซ้€ŸไธŠๆ‰‹

# ๅฎ‰่ฃ… Claude Code
cac claude install latest

# ๅˆ›ๅปบ็Žฏๅขƒ๏ผˆ่‡ชๅŠจๆฟ€ๆดป๏ผŒ่‡ชๅŠจไฝฟ็”จๆœ€ๆ–ฐ็‰ˆ๏ผ‰
cac env create work -p 1.2.3.4:1080:u:p

# ๅฏๅŠจ Claude Code๏ผˆ้ฆ–ๆฌก้œ€ /login๏ผ‰
claude

ไปฃ็†ๅฏ้€‰ โ€” ไธ้œ€่ฆไปฃ็†ไนŸ่ƒฝ็”จ๏ผš

cac env create personal                  # ๅช่ฆ่บซไปฝ้š”็ฆป
cac env create work -c 2.1.81           # ๆŒ‡ๅฎš็‰ˆๆœฌ๏ผŒๆ— ไปฃ็†

็‰ˆๆœฌ็ฎก็†

cac claude install latest               # ๅฎ‰่ฃ…ๆœ€ๆ–ฐ็‰ˆ
cac claude install 2.1.81               # ๅฎ‰่ฃ…ๆŒ‡ๅฎš็‰ˆๆœฌ
cac claude ls                           # ๅˆ—ๅ‡บๅทฒๅฎ‰่ฃ…็‰ˆๆœฌ
cac claude pin 2.1.81                   # ๅฝ“ๅ‰็Žฏๅขƒๅˆ‡ๆข็‰ˆๆœฌ
cac claude uninstall 2.1.81             # ๅธ่ฝฝ

็Žฏๅขƒ็ฎก็†

cac env create <name> [-p <proxy>] [-c <version>]   # ๅˆ›ๅปบๅนถ่‡ชๅŠจๆฟ€ๆดป๏ผˆ่‡ชๅŠจ่งฃๆžๆœ€ๆ–ฐ็‰ˆ๏ผ‰
cac env ls                              # ๅˆ—ๅ‡บๆ‰€ๆœ‰็Žฏๅขƒ
cac env rm <name>                       # ๅˆ ้™ค็Žฏๅขƒ
cac env set [name] proxy <url>          # ่ฎพ็ฝฎ / ไฟฎๆ”นไปฃ็†
cac env set [name] proxy --remove       # ็งป้™คไปฃ็†
cac env set [name] version <ver>        # ๅˆ‡ๆข็‰ˆๆœฌ
cac <name>                              # ๆฟ€ๆดป็Žฏๅขƒ๏ผˆๅฟซๆทๆ–นๅผ๏ผ‰
cac ls                                  # = cac env ls

ๆฏไธช็ŽฏๅขƒๅฎŒๅ…จ้š”็ฆป๏ผš

  • Claude Code ็‰ˆๆœฌ โ€” ไธๅŒ็Žฏๅขƒๅฏไปฅ็”จไธๅŒ็‰ˆๆœฌ
  • .claude ้…็ฝฎ โ€” sessionsใ€settingsใ€memory ๅ„่‡ช็‹ฌ็ซ‹
  • ่บซไปฝไฟกๆฏ โ€” UUIDใ€hostnameใ€MAC ็ญ‰ๅฎŒๅ…จไธๅŒ
  • ไปฃ็†ๅ‡บๅฃ โ€” ๆฏไธช็Žฏๅขƒ่ตฐไธๅŒไปฃ็†๏ผˆๆˆ–ไธ่ตฐไปฃ็†๏ผ‰

ๅ…จ้ƒจๅ‘ฝไปค

ๅ‘ฝไปค ่ฏดๆ˜Ž
็‰ˆๆœฌ็ฎก็†
cac claude install [latest|<ver>] ๅฎ‰่ฃ… Claude Code
cac claude uninstall <ver> ๅธ่ฝฝ็‰ˆๆœฌ
cac claude ls ๅˆ—ๅ‡บๅทฒๅฎ‰่ฃ…็‰ˆๆœฌ
cac claude pin <ver> ๅฝ“ๅ‰็Žฏๅขƒ็ป‘ๅฎš็‰ˆๆœฌ
็Žฏๅขƒ็ฎก็†
cac env create <name> [-p proxy] [-c ver] [--clone] [--telemetry mode] [--persona preset] ๅˆ›ๅปบ็Žฏๅขƒ๏ผˆ่‡ชๅŠจๆฟ€ๆดป๏ผŒ--telemetry transparent/stealth/paranoid ๆŽงๅˆถ้ฅๆต‹๏ผŒ--persona macos-vscode/... ็”จไบŽๅฎนๅ™จ๏ผ‰
cac env ls ๅˆ—ๅ‡บ็Žฏๅขƒ
cac env rm <name> ๅˆ ้™ค็Žฏๅขƒ
cac env set [name] <key> <value> ไฟฎๆ”น็Žฏๅขƒ๏ผˆproxy / version / telemetry / persona๏ผ‰
cac env check [-d] ้ชŒ่ฏๅฝ“ๅ‰็Žฏๅขƒ๏ผˆ-d ๆ˜พ็คบ่ฏฆๆƒ…๏ผ‰
cac <name> ๆฟ€ๆดป็Žฏๅขƒ
่‡ช็ฎก็†
cac self update ๆ›ดๆ–ฐ cac ่‡ช่บซ
cac self delete ๅธ่ฝฝ cac
ๅ…ถไป–
cac ls ๅˆ—ๅ‡บ็Žฏๅขƒ๏ผˆ= cac env ls๏ผ‰
cac check ๆฃ€ๆŸฅๅฝ“ๅ‰็Žฏๅขƒ๏ผˆcac env check ็š„ๅˆซๅ๏ผ‰
cac -v ็‰ˆๆœฌๅท

ไปฃ็†ๆ ผๅผ

host:port:user:pass       ๅธฆ่ฎค่ฏ๏ผˆ่‡ชๅŠจๆฃ€ๆต‹ๅ่ฎฎ๏ผ‰
host:port                 ๆ— ่ฎค่ฏ
socks5://u:p@host:port    ๆŒ‡ๅฎšๅ่ฎฎ

้š็งไฟๆŠค

็‰นๆ€ง ๅฎž็Žฐๆ–นๅผ
็กฌไปถ UUID ้š”็ฆป macOS ioreg / Linux machine-id / Windows wmic+reg shim
ไธปๆœบๅ / MAC ้š”็ฆป Shell shim + Node.js os.hostname() / os.networkInterfaces() hook
Node.js ๆŒ‡็บน้’ฉๅญ fingerprint-hook.js ้€š่ฟ‡ NODE_OPTIONS --require ๆณจๅ…ฅ
้ฅๆต‹้˜ปๆ–ญ DNS guard + ็Žฏๅขƒๅ˜้‡ + fetch ๆ‹ฆๆˆช + ๅˆ†็บงๆจกๅผ๏ผˆconservative/aggressive๏ผ‰
ๅฅๅบทๆฃ€ๆŸฅ bypass ่ฟ›็จ‹ๅ†… Node.js ๆ‹ฆๆˆช๏ผˆๆ— ้œ€ /etc/hosts ๆˆ– root๏ผ‰
mTLS ๅฎขๆˆท็ซฏ่ฏไนฆ ่‡ช็ญพ CA + ๆฏ็Žฏๅขƒ็‹ฌ็ซ‹ๅฎขๆˆท็ซฏ่ฏไนฆ
.claude ้…็ฝฎ้š”็ฆป ๆฏไธช็Žฏๅขƒ็‹ฌ็ซ‹็š„ CLAUDE_CONFIG_DIR

ๅทฅไฝœๅŽŸ็†

              cac wrapper๏ผˆ่ฟ›็จ‹็บง๏ผŒ้›ถไพตๅ…ฅๆบไปฃ็ ๏ผ‰
              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  claude โ”€โ”€โ”€โ”€โ–บโ”‚  CLAUDE_CONFIG_DIR โ†’ ้š”็ฆป้…็ฝฎ็›ฎๅฝ•          โ”‚
              โ”‚  ็‰ˆๆœฌ่งฃๆž โ†’ ~/.cac/versions/<ver>/claude   โ”‚
              โ”‚  ๅฅๅบทๆฃ€ๆŸฅ bypass๏ผˆ่ฟ›็จ‹ๅ†…ๆ‹ฆๆˆช๏ผ‰                โ”‚
              โ”‚  12 ๅฑ‚้ฅๆต‹็Žฏๅขƒๅ˜้‡ไฟๆŠค                      โ”‚โ”€โ”€โ–บ ไปฃ็† โ”€โ”€โ–บ Anthropic API
              โ”‚  NODE_OPTIONS: DNS guard + ๆŒ‡็บน้’ฉๅญ        โ”‚
              โ”‚  PATH: ่ฎพๅค‡ๆŒ‡็บน shim                       โ”‚
              โ”‚  mTLS: ๅฎขๆˆท็ซฏ่ฏไนฆๆณจๅ…ฅ                       โ”‚
              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆ–‡ไปถ็ป“ๆž„

~/.cac/
โ”œโ”€โ”€ versions/<ver>/claude     # Claude Code ไบŒ่ฟ›ๅˆถๆ–‡ไปถ
โ”œโ”€โ”€ bin/claude                # wrapper
โ”œโ”€โ”€ shim-bin/                 # ioreg / hostname / ifconfig / cat shim
โ”œโ”€โ”€ fingerprint-hook.js       # Node.js ๆŒ‡็บนๆ‹ฆๆˆช
โ”œโ”€โ”€ cac-dns-guard.js          # DNS + fetch ้ฅๆต‹ๆ‹ฆๆˆช
โ”œโ”€โ”€ ca/                       # ่‡ช็ญพ CA + ๅฅๅบทๆฃ€ๆŸฅ bypass ่ฏไนฆ
โ”œโ”€โ”€ current                   # ๅฝ“ๅ‰ๆฟ€ๆดป็š„็Žฏๅขƒๅ
โ””โ”€โ”€ envs/<name>/
    โ”œโ”€โ”€ .claude/              # ้š”็ฆป็š„ .claude ้…็ฝฎ็›ฎๅฝ•
    โ”‚   โ”œโ”€โ”€ settings.json     # ็Žฏๅขƒไธ“ๅฑž่ฎพ็ฝฎ
    โ”‚   โ”œโ”€โ”€ CLAUDE.md         # ็Žฏๅขƒไธ“ๅฑž่ฎฐๅฟ†
    โ”‚   โ””โ”€โ”€ statusline-command.sh
    โ”œโ”€โ”€ proxy                 # ไปฃ็†ๅœฐๅ€๏ผˆๅฏ้€‰๏ผ‰
    โ”œโ”€โ”€ version               # ็ป‘ๅฎš็š„ Claude Code ็‰ˆๆœฌ
    โ”œโ”€โ”€ uuid / stable_id      # ้š”็ฆป่บซไปฝ
    โ”œโ”€โ”€ hostname / mac_address / machine_id
    โ””โ”€โ”€ client_cert.pem       # mTLS ่ฏไนฆ

Docker ๅฎนๅ™จๆจกๅผ

ๅฎŒๅ…จ้š”็ฆป็š„่ฟ่กŒ็Žฏๅขƒ๏ผšsing-box TUN ็ฝ‘็ปœ้š”็ฆป + cac ่บซไปฝไผช่ฃ…๏ผŒ้ข„่ฃ… Claude Codeใ€‚

cac docker setup     # ็ฒ˜่ดดไปฃ็†ๅœฐๅ€๏ผŒ็ฝ‘็ปœ่‡ชๅŠจๆฃ€ๆต‹
cac docker start     # ๅฏๅŠจๅฎนๅ™จ
cac docker enter     # ่ฟ›ๅ…ฅๅฎนๅ™จ๏ผŒclaude + cac ็›ดๆŽฅๅฏ็”จ
cac docker check     # ็ฝ‘็ปœ + ่บซไปฝไธ€้”ฎ่ฏŠๆ–ญ
cac docker port 6287 # ็ซฏๅฃ่ฝฌๅ‘

ไปฃ็†ๆ ผๅผ๏ผšip:port:user:pass๏ผˆSOCKS5๏ผ‰ใ€ss://...ใ€vmess://...ใ€vless://...ใ€trojan://...


English

ๅˆ‡ๆขๅˆฐไธญๆ–‡

Overview

cac โ€” Isolate, protect, and manage your Claude Code:

  • Version management โ€” install, switch, rollback Claude Code versions
  • Environment isolation โ€” independent .claude config + identity + proxy per environment
  • Privacy protection โ€” device fingerprint spoofing + telemetry modes (conservative/aggressive) + mTLS
  • Config inheritance โ€” --clone inherits config from host or other envs, ~/.cac/settings.json for global preferences
  • Zero config โ€” no setup needed, auto-initializes on first use

Notes

Account ban notice: cac provides device fingerprint layer protection (UUID, hostname, MAC, telemetry blocking, config isolation), but cannot affect account-layer risks โ€” including your OAuth account, payment method fingerprint, IP reputation score, or Anthropic's server-side ban decisions. Account bans are an account-layer issue that cac does not address. See the Ban Risk FAQ for details.

Proxy tool conflicts: If you have Clash, Shadowrocket, Surge, sing-box or other proxy/VPN tools running locally, turn them off before using cac. TUN-mode compatibility is still experimental. Even if a conflict occurs, cac will fail-closed โ€” your real IP is never exposed.

  • First login: Run claude, then type /login. Health check is automatically bypassed.
  • Verify your setup: Run cac env check anytime. Use which claude to confirm you're using the cac-managed wrapper.
  • Automatic safety checks: Every new Claude Code session runs a quick cac check. If anything is wrong, the session is terminated before any data is sent.
  • Network resilience: Traffic is strictly routed through your proxy. If the proxy drops, traffic stops entirely โ€” no fallback to direct connection. Built-in heartbeat detection and auto-recovery โ€” no manual restart needed after disconnections.
  • IPv6: Recommend disabling system-wide to prevent real address exposure.

Install

# npm (recommended)
npm install -g claude-cac

# or manual
curl -fsSL https://raw.githubusercontent.com/nmhjklnm/cac/master/install.sh | bash

Quick start

# Install Claude Code
cac claude install latest

# Create environment (auto-activates, auto-resolves latest version)
cac env create work -p 1.2.3.4:1080:u:p

# Run Claude Code (first time: /login)
claude

Proxy is optional:

cac env create personal                  # identity isolation only
cac env create work -c 2.1.81           # pinned version, no proxy

Version management

cac claude install latest               # install latest
cac claude install 2.1.81               # install specific version
cac claude ls                           # list installed versions
cac claude pin 2.1.81                   # pin current env to version
cac claude uninstall 2.1.81             # remove

Environment management

cac env create <name> [-p <proxy>] [-c <version>]   # create and auto-activate (auto-resolves latest)
cac env ls                              # list all environments
cac env rm <name>                       # remove environment
cac env set [name] proxy <url>          # set / change proxy
cac env set [name] proxy --remove       # remove proxy
cac env set [name] version <ver>        # change version
cac <name>                              # activate (shortcut)
cac ls                                  # = cac env ls

Each environment is fully isolated:

  • Claude Code version โ€” different envs can use different versions
  • .claude config โ€” sessions, settings, memory are independent
  • Identity โ€” UUID, hostname, MAC are all different
  • Proxy โ€” each env routes through a different proxy (or none)

All commands

Command Description
Version management
cac claude install [latest|<ver>] Install Claude Code
cac claude uninstall <ver> Remove version
cac claude ls List installed versions
cac claude pin <ver> Pin current env to version
Environment management
cac env create <name> [-p proxy] [-c ver] [--clone] [--telemetry mode] [--persona preset] Create environment (auto-activates, --telemetry transparent/stealth/paranoid for telemetry control, --persona macos-vscode/... for containers)
cac env ls List environments
cac env rm <name> Remove environment
cac env set [name] <key> <value> Modify environment (proxy / version / telemetry / persona)
cac env check [-d] Verify current environment (-d for details)
cac <name> Activate environment
Self-management
cac self update Update cac itself
cac self delete Uninstall cac
Other
cac ls List environments (= cac env ls)
cac check Verify environment (alias for cac env check)
cac -v Show version

Privacy protection

Feature How
Hardware UUID isolation macOS ioreg / Linux machine-id / Windows wmic+reg shim
Hostname / MAC isolation Shell shim + Node.js os.hostname() / os.networkInterfaces() hook
Node.js fingerprint hook fingerprint-hook.js via NODE_OPTIONS --require
Telemetry blocking DNS guard + env vars + fetch interception + modes (conservative/aggressive)
Health check bypass In-process Node.js interception (no /etc/hosts, no root)
mTLS client certificates Self-signed CA + per-profile client certs
.claude config isolation Per-environment CLAUDE_CONFIG_DIR

How it works

              cac wrapper (process-level, zero source invasion)
              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  claude โ”€โ”€โ”€โ”€โ–บโ”‚  CLAUDE_CONFIG_DIR โ†’ isolated config dir   โ”‚
              โ”‚  Version resolve โ†’ ~/.cac/versions/<ver>   โ”‚
              โ”‚  Health check bypass (in-process intercept) โ”‚
              โ”‚  Env vars: 12-layer telemetry kill         โ”‚โ”€โ”€โ–บ Proxy โ”€โ”€โ–บ Anthropic API
              โ”‚  NODE_OPTIONS: DNS guard + fingerprint     โ”‚
              โ”‚  PATH: device fingerprint shims            โ”‚
              โ”‚  mTLS: client cert injection               โ”‚
              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

File layout

~/.cac/
โ”œโ”€โ”€ versions/<ver>/claude     # Claude Code binaries
โ”œโ”€โ”€ bin/claude                # wrapper
โ”œโ”€โ”€ shim-bin/                 # ioreg / hostname / ifconfig / cat shims
โ”œโ”€โ”€ fingerprint-hook.js       # Node.js fingerprint interception
โ”œโ”€โ”€ cac-dns-guard.js          # DNS + fetch telemetry interception
โ”œโ”€โ”€ ca/                       # self-signed CA + health bypass cert
โ”œโ”€โ”€ current                   # active environment name
โ””โ”€โ”€ envs/<name>/
    โ”œโ”€โ”€ .claude/              # isolated .claude config directory
    โ”‚   โ”œโ”€โ”€ settings.json     # env-specific settings
    โ”‚   โ”œโ”€โ”€ CLAUDE.md         # env-specific memory
    โ”‚   โ””โ”€โ”€ statusline-command.sh
    โ”œโ”€โ”€ proxy                 # proxy URL (optional)
    โ”œโ”€โ”€ version               # pinned Claude Code version
    โ”œโ”€โ”€ uuid / stable_id      # isolated identity
    โ”œโ”€โ”€ hostname / mac_address / machine_id
    โ””โ”€โ”€ client_cert.pem       # mTLS cert

Docker mode

Fully isolated environment: sing-box TUN network isolation + cac identity protection, with Claude Code pre-installed.

cac docker setup     # paste proxy, network auto-detected
cac docker start     # start container
cac docker enter     # shell with claude + cac ready
cac docker check     # network + identity diagnostics
cac docker port 6287 # port forwarding

Proxy formats: ip:port:user:pass (SOCKS5), ss://..., vmess://..., vless://..., trojan://...


MIT License

About

Isolate, protect, and manage your Claude Code

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors