diff --git a/hackademy.mdwn b/hackademy.mdwn new file mode 100644 index 0000000..50ab4da --- /dev/null +++ b/hackademy.mdwn @@ -0,0 +1,28 @@ +# Hackademy + +Hackademy est une plateforme d'expérimentation du système d'exploitation Linux. + +Basé sur un environnement Linux émulé dans le navigateur, Hackademy Linux permet de tester, de se former et d'expérimenter sans serveurs. + +La plateforme est personnalisable directement via l'URL afin de proposer plusieurs scénarios et cas d'usage. + +[[!note "Ce projet est en cours de développement et peut être très instable."]] + +## Fonctionnalités + +* Émulation d'une image Linux Buildroot (2025.08.1). +* Plusieurs [images](images) disponibles. +* [Transfert de fichiers](file_transfert) avec Zmodem et Trzsz. +* Configuration via des [paramètres dans l'URL](url). +* Accès au navigateur depuis la VM avec [host_browser](host_browser). +* [Gestionnaire de paquets](packages). + +## Accès + +Hackademy Linux est disponible à l'URL : [linux.hackade.org](https://linux.hackade.org) + +Les identifiants pour se connecter sont "user" et "hackademy" comme mot de passe. Le mot de passe root est "hackademy". + +## Scénarios + +.. à venir .. diff --git a/hackademy/file_transfert.mdwn b/hackademy/file_transfert.mdwn new file mode 100644 index 0000000..2f6057a --- /dev/null +++ b/hackademy/file_transfert.mdwn @@ -0,0 +1,15 @@ +# Transfert de fichiers + +Zmodem et [Trzsz](https://trzsz.github.io/go) sont supporté pour échanger des fichiers avec la VM. + +## Zmodem + +Il est disponible sur toutes les images et avec tous les navigateurs, grâce aux commandes __sz__ et __rz__. + +## Trzsz + +L'outil est disponible à partir de l'image "Minimal" avec les commandes __trz__ et __tsz__. + +Il a l'avantage de fonctionner au sein de tmux et d'afficher une progression. + +Fonctionne qu'avec un nombre réduit de navigateurs (voir [compatibilité](https://developer.mozilla.org/en-US/docs/Web/API/Window/showOpenFilePicker#browser_compatibility)). diff --git a/hackademy/host_browser.mdwn b/hackademy/host_browser.mdwn new file mode 100644 index 0000000..69596e1 --- /dev/null +++ b/hackademy/host_browser.mdwn @@ -0,0 +1,17 @@ +# host_browser + +Un canal de communication existe entre la machine virtuelle et le navigateur afin que la VM puisse interagir avec le navigateur. +La virtio_console est utilisée via le périphérique /dev/hvc0. + +``` +Usage: host_browser [-h] +A tool that interacts with the JavaScript engine of the host browser. +Evaluate JavaScript code from standard input and return the result. + +ARGUMENTS + -h | --help: Print help and exit + +EXAMPLE +echo "alert('Hello from VM')" | host_browser + +``` diff --git a/hackademy/images.mdwn b/hackademy/images.mdwn new file mode 100644 index 0000000..991f329 --- /dev/null +++ b/hackademy/images.mdwn @@ -0,0 +1,47 @@ +# Images + +[[!note "Les images sont en cours développements"]] + +## Core + +Accessible avec le paramètre [disk=core](https://linux.hackade.org/?disk=core) c'est l'image la plus petite possible. Elle comprends le noyau Linux (3,0M) et l'initramfs (1,7M). + +Les paquets suivants sont disponibles: + +* util_linux +* lrzsz +* opkg + +## Minimal + +Taille: 4,5M + +C'est l'image par défaut si aucune image n'est paramétrée. C'est un overlay au-dessus de Core qui ajoute les éléments suivants: + +* La configuration du shell pour les utilisateurs root et user +* l'outil trzsz + +## Basic + +Taille: 9,5M + +Accessible avec le paramètre [disk=basic](https://linux.hackade.org/?disk=basic) c'est un overlay au dessus de Core qui ajoute les éléments suivants: + +* La configuration du shell pour les utilisateurs root et user +* trzsz +* sudo +* tmux +* vim + +## Normal + +Taille: 9,7M + +Accessible avec le paramètre [disk=normal](https://linux.hackade.org/?disk=normal) c'est un overlay au dessus de Core qui ajoute les éléments suivants: + +* La configuration du shell pour les utilisateurs root et user +* trzsz +* sudo +* tmux +* vim +* strace diff --git a/hackademy/packages.mdwn b/hackademy/packages.mdwn new file mode 100644 index 0000000..b220123 --- /dev/null +++ b/hackademy/packages.mdwn @@ -0,0 +1,12 @@ +# Paquets + +Il est possible d'ajouter des paquets avec le gestionnaire __opkg__. + +## Listes des paquets + +[[!note "La création des paquets est en cours de développement"]] + +* ncurses +* libevent +* tmux +* vim diff --git a/hackademy/url.mdwn b/hackademy/url.mdwn new file mode 100644 index 0000000..8febde6 --- /dev/null +++ b/hackademy/url.mdwn @@ -0,0 +1,25 @@ +# Paramètres URL + +Hackademy Linux accepte de recevoir des paramètres dans son URL, comme par exemple : + +[https://linux.hackade.org/?disk=normal&autologin=user&autostart=true](https://linux.hackade.org/?disk=normal&autologin=user&autostart=true) + +## Sélection de l'image + +La sélection de l'image se fait avec le paramètre __disk__. Les images disponibles sont : + +* core +* minimal (valeur par défaut) +* basic +* normal + +## Login automatique + +Le paramètre __autoLogin__ permet de se connecter directement à la VM au lancement. Trois options sont possibles : rien, user ou root. Par défaut l'autologin n'est pas activé. + +## Démarrage automatique + +Le paramètre __autostart__ permet d'indiquer si au chargement de la page, la VM doit démarrer. Par défaut le démarrage est automatique. + + +