Commit Graph

13 Commits

Author SHA1 Message Date
delta-cloud-208e
31f9c3e1a8 refactor(installers): extract PRIVATE_CONFIG_BASE in sh scripts (DRY) 2026-04-25 16:43:59 +00:00
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
delta-cloud-208e
dda909b4cc fix(gemini,qwen): replace test prompt with version check in verify step
gemini -p / qwen -p crashes with "setRawMode EIO" when stdin is not
a TTY (running from sudo bash script.sh). Verification now uses
--version instead — fast, reliable, no TTY needed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 11:05:45 +00:00
delta-cloud-208e
f8d1213440 fix(gemini): macOS compatibility + settings for all users
macOS fixes:
- readlink -f -> portable resolve_path (realpath/manual)
- sed -i -> sed -i '' on BSD
- /etc/environment -> /etc/profile sourcing on macOS
- timeout -> gtimeout fallback
- mkdir -p /etc/profile.d on macOS

General fixes:
- Dynamic GEMINI_BIN detection (not hardcoded /usr/local/bin)
- Settings configured for both root AND sudo caller
- Wrapper path and env_file as parameters (not globals)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 11:03:23 +00:00
delta-cloud-208e
d37772d67c fix: wrapper scripts for all CLIs — env vars work immediately without source
Problem: `sudo bash install.sh` runs in child process, `export` inside it
never reaches the user's current shell. /etc/environment and /etc/profile.d/
only work for NEW sessions. So `codex`/`gemini`/`qwen` fail with
"Missing environment variable" right after install.

Solution: wrapper scripts that auto-source env file before exec'ing binary.
- codex: /usr/local/bin/codex (wrapper) -> /usr/local/bin/.codex-bin (real)
- gemini: /usr/local/bin/gemini (wrapper) -> node .../dist/index.js
- qwen: /usr/local/bin/qwen (wrapper) -> node .../dist/index.js

Works immediately in ANY shell, no manual `source` needed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 10:51:56 +00:00
delta-cloud-208e
be048ee873 fix: audit fixes across all install/update scripts
- codex/ucodex_update.sh: fix ${NC} → ${RESET} (crashed with set -u), fix CRLF
- gemini/ugemini_install.sh: read API_KEY/BASE_URL from config instead of hardcoded, fix "source ~/.bashrc" → "source /etc/profile.d/gemini-cli.sh"
- qwen/uqwen_install.sh: read API_KEY/BASE_URL from config instead of hardcoded

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 10:43:06 +00:00
delta-cloud-208e
8dd87dcab3 fix(gemini): system-wide env vars via /etc/environment + /etc/profile.d/
Install and update scripts now:
- Write GEMINI_API_KEY + GOOGLE_GEMINI_BASE_URL to /etc/environment (all users)
- Create /etc/profile.d/gemini-cli.sh for login shell export (all users)
- Export for current session
- Update script now also sets env vars (was missing entirely)
- Removed per-user ~/.bashrc approach — system-wide is more reliable

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 10:35:51 +00:00
delta-cloud-208e
b829db3e93 fix: add auth headers to all Linux .sh gitea downloads
- gemini/ugemini_install.sh: CURL_AUTH was defined but never used, fixed
- gemini/ugemini_update.sh: added GITEA_TOKEN + auth header
- qwen/uqwen_install.sh: use GITEA_TOKEN (was already defined but unused)
- qwen/uqwen_update.sh: added GITEA_TOKEN + auth header

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 08:34:31 +00:00
delta-cloud-208e
a4632de6da feat: add uninstaller scripts for all tools + restore yolo mode
Uninstallers (.sh + .ps1) for Claude, Gemini, Codex, Qwen:
- Remove npm package / binary
- Remove settings directory (~/.gemini, ~/.qwen, ~/.codex, ~/.claude)
- Remove env vars from bashrc/zshrc, /etc/environment, /etc/profile.d
- Remove npm registry config

Also: restore defaultApprovalMode=yolo (npm package now includes
Target 9a patch in settingsSchema.js)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 07:38:14 +00:00
delta-cloud-208e
9de65c2151 fix: use auto_edit instead of yolo for defaultApprovalMode
yolo mode requires patching settingsSchema.js (Target 9a2) which is
not included in the npm package. auto_edit is the most permissive
built-in mode that works without JS patching.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 07:31:44 +00:00
delta-cloud-208e
8717236f29 fix: add folderTrust+yolo settings to Gemini installers and README
- settings.json now includes security.folderTrust.enabled=false and
  general.defaultApprovalMode=yolo to suppress trust/permission prompts
- Linux installer creates trustedFolders.json with common paths
- Windows PS1 installer creates trustedFolders.json for C:\ paths
- README Windows section adds $env: vars for current session
- Fixed BOM issue: all PS1 use WriteAllText instead of Set-Content

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 07:29:33 +00:00
delta-cloud-208e
c84c2668ce feat: add auto-installer scripts for Gemini CLI and Qwen Code
- ugemini_install.sh: npm registry setup, Node.js auto-install, retry logic, env vars for all users
- uqwen_install.sh: new installer — npm registry, patches, settings, env vars
- README.md: add one-line installer commands for Gemini and Qwen

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 21:11:06 +00:00
delta-cloud-208e
1513e3a97d feat: add Gemini CLI Patcher to unlimitedcoding
- New gemini/ section with patcher, config, installers
- One-line install: curl | sudo bash
- 6 patch targets (API URLs, auth, telemetry, env vars)
- Supports gemini-2.5-pro/flash, gemini-3-pro/flash-preview
- Updated Products table: Gemini CLI → Active (v0.29.5)
- README in English and Russian

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 17:37:23 +00:00