Retour à l'accueil

CLI Bash pour profils Codex : utilisation et proxy

Script bash codex-auth simplifie le travail avec plusieurs comptes Codex : sauvegarde/changement profils, surveillance utilisation via API, cache et proxy. Support multiplateforme avec replis pour base64/stat/sha256. Limitations : dépendance à la structure auth.json.

Gestion des profils Codex : script bash avec utilisation
Advertisement 728x90

Outil CLI Bash pour basculer entre profils Codex

Quand on gère plusieurs comptes Codex — pro, perso, sauvegarde —, le fichier ~/.codex/auth.json par défaut devient un vrai goulot d'étranglement. Copier manuellement les fichiers d'authentification crée la confusion : on perd la trace du profil actif, du quota restant, et on risque d'écraser des données importantes. Un simple script bash nommé codex-auth résout ça en ajoutant des commandes pour sauvegarder, basculer entre profils et surveiller l'usage via l'API.

Le script stocke les profils séparément, met en cache les données d'usage, gère les proxys et détecte les comptes dupliqués via des empreintes digitales.

Emplacement de auth.json et notes multiplateformes

Fichier d'autorisation principal :

Google AdInline article slot
  • Linux/macOS : ~/.codex/auth.json
  • Windows : %USERPROFILE%\.codex\auth.json

Il contient access_token, id_token et account_id. La structure peut changer, donc le parsing utilise jq avec des solutions de repli.

Problèmes du cp manuel :

  • Pas d'indicateur du profil actif
  • Risque de perte de données
  • Pas d'infos sur les quotas ou dates de réinitialisation

Commandes du script

Le script propose une interface CLI claire :

Google AdInline article slot
  • codex-auth — liste les profils avec usage
  • codex-auth usage — quotas du auth.json actuel
  • codex-auth save <nom> — sauvegarde le profil actuel
  • codex-auth use <nom> — bascule vers un profil (ou raccourci codex-auth <nom>)
  • codex-auth list-fast — liste locale sans appels API
  • codex-auth backup — sauvegarde le profil actuel

Support proxy :

  • codex-auth proxy set <url>
  • codex-auth proxy show
  • codex-auth proxy unset

Mise en cache :

  • codex-auth cache-time [secondes] (défaut 15s, 0 désactive le cache)

Exemple d'utilisation

  • Connexion compte pro : codex-auth save work
  • Connexion compte perso : codex-auth save personal
  • Basculement : codex-auth work ou codex-auth personal
  • Sortie :
📊 5h: 100% ⏱5h   7️⃣ 15% ⏱4j 9h      work      <[email protected]>     
📊 5h: 100% ⏱5h   7️⃣ 84% ⏱3j 18h    *personal  <[email protected]>

Surveillance de l'usage via API

Requête vers https://chatgpt.com/backend-api/wham/usage avec Authorization: Bearer $token et account_id dans les en-têtes :

Google AdInline article slot
curl -s \
  -H "Authorization: Bearer $token" \
  -H "Accept: application/json" \
  -H "User-Agent: CodexCLI" \
  "https://chatgpt.com/backend-api/wham/usage" | jq

Le parsing affiche :

  • Email du compte
  • Type d'abonnement
  • Quota restant (5h, hebdo)
  • Heure de réinitialisation
  • Limite de revue de code

Mise en cache pour la rapidité

Cache stocké dans ~/.codex-auth-profiles/.usage-cache, indexé par token + account_id + proxy. TTL configurable évite les appels API inutiles. Sans cache (TTL=0), on récupère des données fraîches à chaque fois.

Support proxy

Pour réseaux d'entreprise ou pare-feu :

codex-auth proxy set http://127.0.0.1:8888

curl utilise --proxy pour toutes les requêtes. Stocké dans ~/.codex-auth-profiles/proxy.

Détection des doublons

Empreinte du profil :

  • account_id
  • sub du id_token
  • Email
  • SHA256 du fichier entier

Évite les doublons sous noms différents et vérifie les correspondances avec auth.json actif.

Adaptations multiplateformes

  • base64 : Linux base64 -d, macOS base64 -D
  • stat : Linux stat -c %Y, macOS stat -f %m
  • SHA256 : Linux sha256sum, macOS shasum -a 256

Écritures atomiques via mktemp + mv.

Profils dans ~/.codex-auth-profiles : fichiers JSON pour profils, sélection actuelle, paramètres et cache.

Limitations

  • Dépend de la structure de auth.json
  • API backend peut changer
  • Bash uniquement, pas pour logique complexe

Dépendances : bash, jq, curl, awk, sort, base64, stat.

Avantages clés

  • Basculement de profils sans risque d'écraser auth.json
  • Surveillance d'usage avec quotas visuels et réinitialisations
  • Cache TTL pour la vitesse, support proxy pour les réseaux
  • Empreintes évitent les doublons
  • Écritures atomiques, 100% multiplateforme

— Editorial Team

Advertisement 728x90

Lire ensuite