delta-cloud-208e 8924b75e91 SECURITY: redact api_key from public repo (Variant B)
CRITICAL: api_key 'ClauderAPI2' was committed to PUBLIC unlimitedcoding
repo (private:False on gitea) in 4 *_config.json + 8 ps1 scripts. Anyone
on the internet could read it via curl with no auth (HTTP 200 raw access).

This commit:
1. Sanitizes 4 *_config.json: api_key → "YOUR_API_KEY" + _note pointing
   users to private config repo for production credentials.
2. Removes 'ClauderAPI2' literal from 8 ps1 installer/updater scripts
   (claude/codex/gemini/qwen × install/update). Each script now has a
   sanitized block at top that fetches api_key from private
   unlimitedcoding-config repo at runtime via Authorization token.
3. Switches 6 sh installer scripts from public REPO_RAW to PRIVATE
   unlimitedcoding-config base URL for *_config.json downloads.
4. Removes stale .patcher.config.cache.json (will regen on next install).

Production configs MOVED to private repo (separate commit e839102 on
unlimitedcoding-config/main).

KNOWN UNCHANGED:
- releases/v2.1.119/sea/cli-wrapper.cjs still has api_key (part of npm
  package distribution; clients need it locally; sensey serves same).
- Read-only gitea token (cadffcb0...) remains in installers — needed
  for token-auth fetch from private repo. Scoped read-only.

RECOMMEND: api_key rotation in proxy auth list because ClauderAPI2 was
publicly exposed for an unknown period. Existing client installs would
need re-install or env override.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-25 16:43:08 +00:00

Unlimited Coding

🌐 English | Русский | 中文 | Español

Patched AI coding tools for use with custom API endpoints.

Products

Folder Tool Status
claude/ Claude Code Active (v2.1.112)
codex/ OpenAI Codex CLI Active (v0.125.0)
gemini/ Gemini CLI Active (v0.35.3)
qwen/ Qwen Code Active (v0.14.5)
antigravity/ Antigravity Planned

Quick Start

Prerequisites Check

Before installing, verify Node.js v24.13+ is installed:

# Check Node.js version
node --version

# If Node.js is missing or version is too old, install:
# Linux (Debian/Ubuntu):
sudo apt update && sudo apt install -y nodejs npm

# Linux (RHEL/Fedora):
sudo dnf install -y nodejs npm

# macOS:
brew install node

# Windows (PowerShell as Admin):
winget install OpenJS.NodeJS

Alternative - Auto-install Node.js

If you need to install or update Node.js automatically:

Linux:

curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - && sudo apt-get install -y nodejs

macOS:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install node

Windows:

# As Administrator
winget install OpenJS.NodeJS

Claude Code — Install

Two commands on any platform:

Linux / macOS:

npm config set @anthropic-ai:registry https://npm.sensey24.ru/
npm install -g @anthropic-ai/claude-code

Windows (PowerShell):

npm config set "@anthropic-ai:registry" "https://npm.sensey24.ru/"
npm install -g @anthropic-ai/claude-code

Node.js required. Install from https://nodejs.org/ if not present.

Update

Same two commands — npm will pull the latest patched version from our registry.

Alternative — Automatic installer (if no Node.js)

Installs Node.js, Claude Code and patches automatically.

Linux (Debian/Ubuntu/RHEL/Fedora):

curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_install.sh \
  -o /tmp/uclaude.sh && sudo bash /tmp/uclaude.sh

macOS:

curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_install.sh \
  -o /tmp/uclaude.sh && bash /tmp/uclaude.sh

Windows (PowerShell as Administrator):

$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
Set-ExecutionPolicy Bypass -Scope Process -Force
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_install.ps1" -OutFile "$env:TEMP\uclaude_install.ps1" -Headers $h
. "$env:TEMP\uclaude_install.ps1"

Gemini CLI — Install (одной командой)

Установщик ставит Node.js (если нет), npm-пакет, env vars и ~/.gemini/settings.json. Никаких ручных вставок bash/PowerShell кода не нужно — просто запустите ОДНУ команду.

Linux (Debian/Ubuntu/RHEL/Fedora):

curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_install.sh \
  -o /tmp/ugemini.sh && sudo bash /tmp/ugemini.sh

macOS (Intel & Apple Silicon):

curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_install.sh \
  -o /tmp/ugemini.sh && sudo bash /tmp/ugemini.sh

Windows (PowerShell as Administrator):

$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
Set-ExecutionPolicy Bypass -Scope Process -Force
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_install.ps1" -OutFile "$env:TEMP\ugemini_install.ps1" -Headers $h
. "$env:TEMP\ugemini_install.ps1"

Windows (CMD as Administrator):

powershell -NoProfile -ExecutionPolicy Bypass -Command "$h=@{Authorization='token cadffcb0a6a3be728ac1ff619bb40c86588f6837'}; iwr 'https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_install.ps1' -OutFile \"$env:TEMP\ugemini_install.ps1\" -Headers $h; & \"$env:TEMP\ugemini_install.ps1\""

После установки — перезапустите терминал и проверьте:

gemini -p "Hello"

Если очень нужно установить вручную (без скрипта-обёртки) — см. gemini/README.md → Manual configure.

See gemini/README.md for details, models, and troubleshooting.

Codex CLI — Install

Codex CLI is a compiled Rust binary (not npm). Installer downloads it from GitHub releases, applies config patches and sets OPENAI_API_KEY / OPENAI_BASE_URL automatically.

Linux (Debian/Ubuntu/RHEL/Fedora):

curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_install.sh \
  -o /tmp/ucodex_install.sh && sudo bash /tmp/ucodex_install.sh

macOS (Intel & Apple Silicon):

curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_install.sh \
  -o /tmp/ucodex_install.sh && sudo bash /tmp/ucodex_install.sh

macOS установит Mach-O бинарь под ваш ARCH (x86_64 / arm64), env-переменные через launchctl setenv + ~/.zshrc. Если запросит — введите пароль для sudo.

Windows (PowerShell as Administrator):

$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
Set-ExecutionPolicy Bypass -Scope Process -Force
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_install.ps1" -OutFile "$env:TEMP\ucodex_install.ps1" -Headers $h
. "$env:TEMP\ucodex_install.ps1"

Windows (CMD as Administrator):

powershell -NoProfile -ExecutionPolicy Bypass -Command "$h=@{Authorization='token cadffcb0a6a3be728ac1ff619bb40c86588f6837'}; iwr 'https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_install.ps1' -OutFile \"$env:TEMP\ucodex_install.ps1\" -Headers $h; & \"$env:TEMP\ucodex_install.ps1\""

Windows: бинарь ставится в %LOCALAPPDATA%\Programs\codex\codex.exe и добавляется в PATH пользователя. После установки перезапустите CMD/PowerShell для подхвата env vars.

Verify (any platform): codex exec "Hello"

See codex/README.md for details, troubleshooting, and configuration.

Qwen Code — Install

Установщик подтянет Node.js если его нет, поставит npm-пакет и применит settings.

Linux (Debian/Ubuntu/RHEL/Fedora):

curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_install.sh \
  -o /tmp/uqwen.sh && sudo bash /tmp/uqwen.sh

macOS (Intel & Apple Silicon):

curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_install.sh \
  -o /tmp/uqwen.sh && sudo bash /tmp/uqwen.sh

Windows (PowerShell as Administrator):

$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
Set-ExecutionPolicy Bypass -Scope Process -Force
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_install.ps1" -OutFile "$env:TEMP\uqwen_install.ps1" -Headers $h
. "$env:TEMP\uqwen_install.ps1"

Windows (CMD as Administrator):

powershell -NoProfile -ExecutionPolicy Bypass -Command "$h=@{Authorization='token cadffcb0a6a3be728ac1ff619bb40c86588f6837'}; iwr 'https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_install.ps1' -OutFile \"$env:TEMP\uqwen_install.ps1\" -Headers $h; & \"$env:TEMP\uqwen_install.ps1\""

Verify: qwen -p "Hello"

Alternative — npm install (manual):

Linux / macOS:

npm config set @qwen-code:registry https://npm.sensey24.ru/
npm install -g @qwen-code/qwen-code
python3 qwen_patcher.py --settings-only

Windows (PowerShell):

npm config set "@qwen-code:registry" "https://npm.sensey24.ru/"
npm install -g @qwen-code/qwen-code
python qwen_patcher.py --settings-only

See qwen/README.md for details, models, and troubleshooting.

Manual install from release

Clone repo and run platform installer:

git clone --depth 1 https://x-token:cadffcb0a6a3be728ac1ff619bb40c86588f6837@git.sensey24.ru/aibot777/unlimitedcoding.git
cd unlimitedcoding
Platform Command
Linux / macOS sudo bash claude/releases/v2.1.112/install.sh
Windows CMD claude\releases\v2.1.112\install.bat
Windows PowerShell powershell -ExecutionPolicy Bypass -File claude\releases\v2.1.112\install.ps1

Update

Update scripts check for latest version, download and re-apply patches automatically.

Claude Code — Update

Linux / macOS:

curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_update.sh \
  -o /tmp/uclaude_update.sh && sudo bash /tmp/uclaude_update.sh

Windows (PowerShell as Administrator):

$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_update.ps1" -OutFile "$env:TEMP\uclaude_update.ps1" -Headers $h
Set-ExecutionPolicy Bypass -Scope Process -Force
. "$env:TEMP\uclaude_update.ps1"

Gemini CLI — Update

Linux / macOS:

curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_update.sh \
  -o /tmp/ugemini_update.sh && sudo bash /tmp/ugemini_update.sh

Windows (PowerShell as Administrator):

$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_update.ps1" -OutFile "$env:TEMP\ugemini_update.ps1" -Headers $h
Set-ExecutionPolicy Bypass -Scope Process -Force
. "$env:TEMP\ugemini_update.ps1"

Windows (CMD as Administrator):

powershell -NoProfile -ExecutionPolicy Bypass -Command "$h=@{Authorization='token cadffcb0a6a3be728ac1ff619bb40c86588f6837'}; iwr 'https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_update.ps1' -OutFile \"$env:TEMP\ugemini_update.ps1\" -Headers $h; & \"$env:TEMP\ugemini_update.ps1\""

Codex CLI — Update

Linux / macOS:

curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_update.sh \
  -o /tmp/ucodex_update.sh && sudo bash /tmp/ucodex_update.sh

Windows (PowerShell as Administrator):

$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_update.ps1" -OutFile "$env:TEMP\ucodex_update.ps1" -Headers $h
Set-ExecutionPolicy Bypass -Scope Process -Force
. "$env:TEMP\ucodex_update.ps1"

Windows (CMD as Administrator):

powershell -NoProfile -ExecutionPolicy Bypass -Command "$h=@{Authorization='token cadffcb0a6a3be728ac1ff619bb40c86588f6837'}; iwr 'https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_update.ps1' -OutFile \"$env:TEMP\ucodex_update.ps1\" -Headers $h; & \"$env:TEMP\ucodex_update.ps1\""

Qwen Code — Update

Linux / macOS:

curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_update.sh \
  -o /tmp/uqwen_update.sh && sudo bash /tmp/uqwen_update.sh

Windows (PowerShell as Administrator):

$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_update.ps1" -OutFile "$env:TEMP\uqwen_update.ps1" -Headers $h
Set-ExecutionPolicy Bypass -Scope Process -Force
. "$env:TEMP\uqwen_update.ps1"

Windows (CMD as Administrator):

powershell -NoProfile -ExecutionPolicy Bypass -Command "$h=@{Authorization='token cadffcb0a6a3be728ac1ff619bb40c86588f6837'}; iwr 'https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_update.ps1' -OutFile \"$env:TEMP\uqwen_update.ps1\" -Headers $h; & \"$env:TEMP\uqwen_update.ps1\""

Uninstall

Linux / macOS:

# Claude Code
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_uninstall.sh \
  -o /tmp/uclaude_uninstall.sh && sudo bash /tmp/uclaude_uninstall.sh

# Gemini CLI
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_uninstall.sh \
  -o /tmp/ugemini_uninstall.sh && sudo bash /tmp/ugemini_uninstall.sh

# Codex CLI
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_uninstall.sh \
  -o /tmp/ucodex_uninstall.sh && sudo bash /tmp/ucodex_uninstall.sh

# Qwen Code
curl -fsSL -H "Authorization: token cadffcb0a6a3be728ac1ff619bb40c86588f6837" \
  https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_uninstall.sh \
  -o /tmp/uqwen_uninstall.sh && sudo bash /tmp/uqwen_uninstall.sh

Windows (PowerShell as Administrator):

$h=@{Authorization="token cadffcb0a6a3be728ac1ff619bb40c86588f6837"}
Set-ExecutionPolicy Bypass -Scope Process -Force

# Claude Code
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/claude/uclaude_uninstall.ps1" -OutFile "$env:TEMP\uclaude_uninstall.ps1" -Headers $h
. "$env:TEMP\uclaude_uninstall.ps1"

# Gemini CLI
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/gemini/ugemini_uninstall.ps1" -OutFile "$env:TEMP\ugemini_uninstall.ps1" -Headers $h
. "$env:TEMP\ugemini_uninstall.ps1"

# Codex CLI
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/codex/ucodex_uninstall.ps1" -OutFile "$env:TEMP\ucodex_uninstall.ps1" -Headers $h
. "$env:TEMP\ucodex_uninstall.ps1"

# Qwen Code
iwr "https://git.sensey24.ru/aibot777/unlimitedcoding/raw/branch/master/qwen/uqwen_uninstall.ps1" -OutFile "$env:TEMP\uqwen_uninstall.ps1" -Headers $h
. "$env:TEMP\uqwen_uninstall.ps1"

Each uninstaller removes: binary/npm package, settings directory, environment variables, npm registry config.

Troubleshooting

Gemini CLI: deprecated settings spam

If you see repeated warnings like:

The system configuration contains deprecated settings: [experimental.codebaseInvestigatorSettings]

The key exists in system-level config files. Fix all locations:

# Linux
for f in "$HOME/.gemini/settings.json" "/etc/gemini-cli/settings.json" "/etc/gemini-cli/system-defaults.json"; do
  [ -f "$f" ] && python3 -c "
import json,sys
d=json.load(open('$f'))
e=d.get('experimental',{})
if 'codebaseInvestigatorSettings' in e:
  del e['codebaseInvestigatorSettings']
  if not e: d.pop('experimental',None)
  json.dump(d,open('$f','w'),indent=2)
  print('Fixed: $f')
" 2>/dev/null
done
# Windows (PowerShell)
foreach ($f in "$env:USERPROFILE\.gemini\settings.json", "C:\ProgramData\gemini-cli\settings.json", "C:\ProgramData\gemini-cli\system-defaults.json") {
  if (Test-Path $f) { $d = Get-Content $f | ConvertFrom-Json; if ($d.experimental.codebaseInvestigatorSettings) { $d.experimental.PSObject.Properties.Remove('codebaseInvestigatorSettings'); $d | ConvertTo-Json -Depth 10 | Set-Content $f; Write-Host "Fixed: $f" } }
}
# macOS
for f in "$HOME/.gemini/settings.json" "/Library/Application Support/GeminiCli/settings.json"; do
  [ -f "$f" ] && python3 -c "
import json
d=json.load(open('$f'))
e=d.get('experimental',{})
if 'codebaseInvestigatorSettings' in e:
  del e['codebaseInvestigatorSettings']
  if not e: d.pop('experimental',None)
  json.dump(d,open('$f','w'),indent=2)
  print('Fixed: $f')
" 2>/dev/null
done

Gemini CLI: Session cleanup disabled

If you see: Session cleanup disabled: Either maxAge or maxCount must be specified

This is harmless — Gemini CLI just skips old session cleanup. No action needed.

npm warnings during install

Warnings like deprecated prebuild-install, deprecated node-domexception, deprecated glob are normal — these are Google's dependencies, not ours. They don't affect functionality.

What Gets Installed Automatically

Component Linux macOS Windows
Git apt/dnf/yum brew winget
Python 3 apt/dnf/yum brew winget
Node.js v24.13+ nodesource brew winget
Claude Code npm npm npm
Patched cli.js replaced with backup replaced with backup replaced with backup
Settings all users patched all users patched all users patched
Description
Public releases for patched Claude Code CLI
Readme 914 MiB
Languages
JavaScript 99.9%