lg0219/github-ghclone

Solution d'accélération pour GitHub en Chine (réseau de Chine continentale) : clone/fetch lent ou déconnexion. Rotation automatique des préfixes d'accélération GitHub avec réessai, configuration d'un accélération statique globale git et alias ghclone.

Qu'est-ce que github-ghclone ?

Ce skill est conçu pour les développeurs en Chine continentale qui rencontrent des difficultés d'accès à GitHub en raison de limitations réseau. Il résout les problèmes de clone lent, de récupération interrompue (Recv failure) ou de blocage total de github.com en redirigeant les requêtes via des préfixes de proxy miroir accessibles depuis la Chine. Le script `ghclone` intègre une rotation automatique de plusieurs préfixes et une logique de réessai (3 préfixes × 3 tentatives chacun) pour garantir un maximum de résilience face aux pannes temporaires. Il s'installe en une commande, configure un alias git (`gclone`) et un redirect global (`.insteadOf`) pour que toutes les commandes `git clone https://github.com/...` bénéficient de l'accélération sans modification supplémentaire. Compatible avec les shells Bash et Zsh, il se base sur des préfixes communautaires (gh-proxy.com, ghfast.top, etc.) faciles à mettre à jour via un tableau dans le script.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add lg0219/github-ghclone

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

GitHub GHClone - Compétence d'accélération GitHub pour la Chine

Cas d'utilisation

Activez cette compétence lorsque l'utilisateur rencontre les situations suivantes dans un réseau chinois :

  • git clone https://github.com/... lent, bloqué, Recv failure: connexion réinitialisée par l'autre extrémité, timeout
  • Accès direct à la page web / API GitHub instable ou complètement bloqué (curl https://github.com 0 octet)
  • Nécessité de cloner en masse des dépôts GitHub, des fichiers Release ou des fichiers bruts

Idée centrale : rediriger l'accès à github.com via des « préfixes d'accélération (proxy miroir) » accessibles depuis la Chine, avec rotation automatique et réessai sur plusieurs préfixes. Si un préfixe tombe, le script passe automatiquement au suivant sans bloquer.

Installation en une commande

# Clonez ce dépôt (vous pouvez d'abord utiliser n'importe quel préfixe disponible)
git clone https://gh-proxy.com/https://github.com/OWNER/github-ghclone.git
cd github-ghclone
bash scripts/install.sh
source ~/.bashrc   # Pour activer ~/bin

Après installation, vous obtenez :

  • ~/bin/ghclone — script exécutable (rotation automatique de 3 préfixes, 3 tentatives par préfixe)
  • Redirection statique globale git url."https://gh-proxy.com/https://github.com/".insteadOf (tous les git clone classiques en bénéficient directement)
  • Alias git gclone → ghclone

Utilisation

# Méthode 1 : appel direct du script
ghclone https://github.com/owner/repo.git --depth 1

# Méthode 2 : alias git
git gclone https://github.com/owner/repo.git --depth 1

# Commande git normale (déjà accélérée globalement, pas besoin d'alias)
git clone https://github.com/owner/repo.git

ghclone détecte automatiquement quel préfixe est actuellement disponible, retourne le résultat dès qu'il réussit, et signale une erreur uniquement si tous échouent.

Configuration manuelle (si vous ne voulez pas exécuter install.sh)

  1. Téléchargez le script (fourni dans ce dépôt sous bin/ghclone), placez-le dans ~/bin/ et chmod +x.
  2. Redirection statique globale git (choisissez un préfixe actuellement disponible) :
    git config --global url."https://gh-proxy.com/https://github.com/".insteadOf "https://github.com/"
    
  3. Alias git :
    git config --global alias.gclone '!~/bin/ghclone'
    
  4. PATH : assurez-vous que ~/bin est dans votre PATH (ajoutez à ~/.bashrc) :
    export PATH="$HOME/bin:$PATH"
    

Changer / ajouter / supprimer des préfixes (lorsqu'un préfixe tombe)

Les préfixes d'accélération sont des proxies maintenus par la communauté, parfois disponibles, parfois non ; il faut pouvoir les faire pivoter :

  • Modifiez le tableau PATS=(...) dans ~/bin/ghclone (ou bin/ghclone de ce dépôt) pour ajouter ou supprimer des préfixes.
  • Modifiez la redirection statique globale git :
    # Remplacez par un nouveau préfixe disponible
    git config --global url."https://nouveau-préfixe/https://github.com/".insteadOf "https://github.com/"
    # Supprimez l'ancien préfixe
    git config --global --unset url."https://ancien-préfixe/https://github.com/".insteadOf
    

Vérifier si un préfixe est disponible

Exécutez une vérification réelle sur un petit dépôt pour chaque préfixe (retourne un hash de commit si disponible, 0 octet/erreur si indisponible) :

for p in https://gh-proxy.com https://ghfast.top https://ghproxy.net; do
  n=$(git ls-remote "$p/https://github.com/octocat/Hello-World.git" HEAD 2>/dev/null | head -1)
  echo "$p -> ${n:-Indisponible}"
done

Préfixes connus disponibles (testés en octobre 2026, susceptibles de changer à tout moment)

PréfixeUtilisation
https://gh-proxy.comhttps://gh-proxy.com/https://github.com/owner/repo.git
https://ghfast.tophttps://ghfast.top/https://github.com/owner/repo.git
https://ghproxy.nethttps://ghproxy.net/https://github.com/owner/repo.git

L'accès direct à github.com fait généralement 0 octet en Chine (bloqué), il est impératif de passer par un préfixe. Les services de préfixe sont instables : la logique de réessai de ghclone est conçue pour gérer ces pannes temporaires du type « connexion réinitialisée par l'autre extrémité ».

Limites et précautions

  • Les proxies préfixes sont des services tiers communautaires ; leur disponibilité, vitesse et durée de vie sont incontrôlables ; si tous échouent, vous devrez trouver de nouveaux préfixes pour remplacer PATS.
  • Cela accélère uniquement l'accès au protocole git de github.com ; les sous-domaines comme objects.githubusercontent.com (gros fichiers Release) peuvent également être enveloppés avec un préfixe de la même manière.
  • Avis de conformité : assurez-vous d'utiliser des moyens de sortie réseau conformes à la réglementation locale.

Skills associés