
cmdchamp v1.2.15
entraîneur de CLI bash — 30 niveaux de ls à l'escalade de privilèges
cmdchamp
Entraîneur CLI Bash — 30 niveaux, de ls à l'élévation de privilèges.

Chaque question vous demande de saisir une vraie commande — obtenez un retour immédiat, puis passez à la suite. Beaucoup s'exécutent sur de vrais fichiers dans le sandbox, et toutes acceptent plusieurs syntaxes valides (sort -u ou sort | uniq). La touche Tab affiche la page de man lorsque vous avez besoin d'une référence, et l'ordre est randomisé à chaque exécution pour que vous ne puissiez pas le mémoriser. La maîtrise suit ce que vous savez : répondez correctement deux fois à une question pour la maîtriser, ratez-la et elle est rétrogradée pour revenir plus tôt. Une série de 5 bonnes réponses déclenche le mode feu — une bannière qui reste affichée jusqu'à ce que vous vous trompiez.
Chaque niveau se termine par un boss — pas de pages de man, chronomètre de 30 s, 4/5 pour réussir. En cas d'échec, vous pouvez réessayer le boss immédiatement ou retourner vous entraîner. Battez les 30 niveaux et le mode défi se débloque : chaque niveau, chronomètre de 20 s, pas de pages de man, une seule erreur et c'est fini. La première exécution inclut un court tutoriel et un test de placement qui vous permet de sauter les niveaux que vous connaissez déjà.
Avec bubblewrap, les commandes s'exécutent dans un vrai système de fichiers sandboxé. Sans lui, les réponses sont comparées par texte. Les niveaux de recherche (16-17) acceptent aussi bien la syntaxe rg/fd que grep/find. Édition de ligne Vi intégrée.
Installation
Arch (AUR) :
paru -S cmdchamp # or: yay -S cmdchamp
N'importe où (fichier unique) :
mkdir -p ~/.local/bin && curl -sL https://raw.githubusercontent.com/mellen9999/cmdchamp/main/cmdchamp -o ~/.local/bin/cmdchamp && chmod +x ~/.local/bin/cmdchamp
Ajoutez ~/.local/bin à votre PATH si nécessaire : echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
Ou clonez :
git clone https://github.com/mellen9999/cmdchamp.git
cd cmdchamp && make install
Prérequis : bash 4.4+, coreutils, awk
macOS : Livré avec bash 3.2 — installez d'abord bash 4.4+ : brew install bash
Optionnel : bubblewrap (bwrap) pour le mode sandbox (Linux uniquement) — la plupart des distributions de bureau l'incluent. Sans lui, les réponses sont uniquement comparées par texte
Accessibilité : Respecte NO_COLOR et TERM=dumb. La mise en page s'adapte à COLUMNS / tput cols. Les barres de maîtrise portent à la fois la couleur et un symbole ✓ / ~ / x — lisibles sans couleur.
Terminaux : Fonctionne sur de vrais terminaux série, pas seulement des émulateurs. cmdchamp sonde ce que le terminal peut réellement afficher et choisit l'un des trois niveaux de rendu — unicode, dessin de ligne DEC ACS, ou ASCII pur — afin que les cadres restent intacts sur un VT100/VT220/VT320/VT420 ou Wyse. Sur un écran monochrome, les distinctions de couleurs sont réencodées en gras/inverse. Forcez un niveau avec CMDCHAMP_ASCII=1 ou CMDCHAMP_UNICODE=1. ./test_terminals.sh le vérifie.
Utilisation
cmdchamp # Launch the game menu
cmdchamp --no-sandbox # Disable sandbox (text-match only)
cmdchamp reset # Clear all progress
cmdchamp test # Run self-tests
cmdchamp version # Print version
cmdchamp help # Show help
Le menu comprend : continuer, nouvelle partie, scénarios, mode défi, statistiques et options. Les raccourcis 1–7 accèdent directement à un élément ; j/k ou les flèches déplacent le curseur ; Entrée sélectionne.
Niveaux
| # | Nom | Sujet |
|---|---|---|
| Fondamentaux | ||
| 1 | Premiers pas | pwd, ls, echo, cd, mkdir |
| 2 | Bases des fichiers | cp, mv |
| 3 | Sauvegardez votre travail | >, >>, tee |
| 4 | Lire des fichiers | cat, head, tail, less |
| 5 | Tuyaux de base | pipes, grep, wc, sort, uniq |
| 6 | Entrée et here-strings | <, <<<, tr, cut, rev, bc |
| 7 | Gestion des erreurs | 2>, 2>&1, &>, /dev/null |
| 8 | Portes logiques | &&, || |
| 9 | Variables | $VAR, affectation, expansion |
| 10 | Variables spéciales | $$, $?, $!, $#, $@, $0 |
| 11 | Contrôle des travaux | bg, fg, jobs, &, Ctrl+Z |
| 12 | Conditions de test | -f, -d, -z, -n, -eq, -lt |
| 13 | Outils fichiers essentiels | cp, mv, ln, chmod, du, tar, diff |
| 14 | Administration système | ping, df, free, ss, systemctl, ip |
| 15 | Multiplexeurs | tmux : sessions, fenêtres, volets |
| 16 | Recherche de texte | grep, ripgrep, regex |
| 17 | Localisation de fichiers | find, fd, par nom/taille/date/type |
| 18 | Traitement de données | sort, uniq, cut, awk, tr, comm |
| 19 | Chaînes et tableaux | expansion de paramètres, tableaux |
| 20 | Flux de contrôle | if/else, boucles, case, fonctions |
| 21 | Opérations par lots | find -exec, xargs, sed -i, crontab |
| 22 | Regex avancées | lookahead, sed, awk |
| DevOps et Sécurité | ||
| 23 | Git | branches, dépôts distants, rebasage, stash, bisect |
| 24 | Outils réseau | tshark, curl, jq, tunnels SSH, openssl, SMB |
| 25 | Scan réseau | nmap, détection de services, scripts |
| 26 | WiFi et RF | aircrack-ng, netcat, tcpdump, reconnaissance sans fil |
| 27 | Craquage de hashs | hashcat, john, hydra, encodage |
| 28 | Forensique | strings, readelf, binwalk, volatility, exiftool |
| 29 | Élévation de privilèges | SUID, GTFOBins, énumération |
| 30 | ROOT | récupération d'urgence, chroot, survie hors ligne |
Scénarios
Défis sandbox en plusieurs étapes — l'état persiste entre les étapes. Disponibles depuis le menu Scénarios une fois le boss de déblocage vaincu.
| # | Nom | Débloqué au | Étapes |
|---|---|---|---|
| 1 | Verrouillage des permissions | L13 boss | 6 |
| 2 | Archivage et extraction | L13 boss | 6 |
| 3 | Trouver l'aiguille | L16 boss | 7 |
| 4 | CSV désordonné | L18 boss | 4 |
| 5 | L'incident | L18 boss | 5 |
| 6 | Le déploiement cassé | L21 boss | 7 |
| 7 | Urgence de logs | L21 boss | 5 |
| 8 | Chirurgie de config | L21 boss | 5 |
| 9 | Sauvetage Git | L23 boss | 6 |
| 10 | Refactorisation par lots | L21 boss | 6 |
| 11 | Balayage forensique | L22 boss | 6 |
Test de placement
Après le tutoriel de première exécution, on vous demande si vous souhaitez passer le test de placement pour avancer plus vite. Acceptez et il pose 2 questions par niveau, 30 s chacune, sans pages de man. Une seule erreur et c'est votre niveau de départ.
Œufs de Pâques
8 succès cachés. L'écran des statistiques indique combien vous en avez trouvés.
Raccourcis clavier
| Touche | Action |
|---|---|
| Entrée | Soumettre la réponse |
| Tab | Afficher/masquer la page de man |
| Ctrl+d | Quitter (résumé de session) |
| Échap | Mode normal Vi |
| ? | Tous les raccourcis clavier (mode normal) |
Données
La progression est sauvegardée dans ${XDG_DATA_HOME:-~/.local/share}/cmdchamp/.
Licence
MIT