
I. Présentation
IT-Tools est une boite à outils très pratique pour tous les “techies” et les professionnels de l’informatique : une seule interface web regroupe des dizaines et des dizaines d’outils prêts à l’emploi. Cerise sur le gâteau : c’est un projet open source qu’il est possible d’auto-héberger sur un poste de travail, un serveur ou un NAS.
Nous commencerons par une présentation de cette boite à outils avant d’évoquer son installation rapide avec Docker. Dans le même esprit que IT-Tools, nous pouvons citer une autre boite à outils évoquée dans un précédent article : CyberChef.
II. Qu’est-ce que IT-Tools ?
IT-Tools est un projet open source créé par Corentin Thomasset, un français (de Lyon), et qui contient de nombreux outils organisés en plusieurs catégories. Le projet est disponible sur GitHub et il y a également une version en ligne accessible à l’adresse it-tools.tech.
Des outils pour le réseau
Calculer un sous-réseau IP.
Convertir une adresse IP (en binaire, par exemple).
Obtenir des informations sur une adresse MAC.
Générer une nouvelle adresse MAC.
Générez vos propres adresses IP locales en IPV6, non routables, pour votre réseau (conforme RFC4193).
Etc…
Convertir des données d’un format vers un autre
Convertir de la date et de l’heure, par exemple, un timestamp au format ISO 8601 ou au format UTC.
Convertir un code couleur au format hexadécimal, au format RGB, etc… à partir d’un sélecteur.
Transformer la casse d’une chaîne de caractères vers différents formats.
Convertir du texte Markdown en HTML et permettre l’impression (en PDF).
Convertir du code YAML au format JSON.
Etc…
Effectuer des opérations cryptographiques
Générer un token
Obtenir le hash d’un texte (MD5, SHA1, SHA256, SHA512, etc.).
Hash et comparer une chaîne de texte en utilisant bcrypt.
Générer des UUID ou ULID.
Chiffrer un texte clair et déchiffrer un texte chiffré à l’aide d’algorithmes cryptographiques tels que AES, TripleDES, Rabbit ou RC4.
Générer une nouvelle paire de clés RSA privée et publique.
Analyser la force d’un mot de passe.
Vérifier la signature d’un document PDF
Etc…
Effectuer des actions liées au Web
Encoder un texte au format URL.
Analyser une URL (parsing).
Obtenir des informations sur la machine locale (résolution, navigateur, etc.).
Analyser et décoder votre jeton Web JSON (jwt) et affiche son contenu.
Détecter et analyser les chaines user-agent.
Obtenir des informations sur un code HTTP
Décoder les liens Outlook SafeLink
Etc…
Des outils autour des images et des vidéos
Générer des QR codes personnalisés.
Générer des QR codes pour partager un réseau Wi-Fi.
Effectuer un enregistrement vidéo depuis le navigateur.
Etc…
Des outils pour les développeurs
Convertir une commande docker run en fichier Docker Compose (génial !)
Générateur de crontab
Minifier du code JSON
Mettre en forme des requêtes SQL
Évaluer une expression régulière
Etc…
À cela s’ajoutent d’autres outils pour vérifier le format d’un IBAN, obtenir des statistiques sur un texte (nombre de mots, nombre de caractères, etc.), ou encore transformer un texte en ASCII Art.
III. Déployer IT-Tools avec Docker
Dans cette partie de l’article, nous verrons comment auto-héberger IT-Tools sur un poste de travail ou un serveur à l’aide de Docker. Vous pouvez utiliser Docker Desktop ou le moteur Docker sous Linux.
Nous allons utiliser un fichier Docker Compose pour déclarer le seul et unique conteneur à créer pour faire tourner ce projet.
mkdir /opt/docker-compose/it-tools
cd /opt/docker-compose/it-tools
nano docker-compose.yml
Indiquez le code suivant dans le fichier docker-compose.yml :
services:
it-tools:
image: ‘ghcr.io/corentinth/it-tools:latest’
ports:
– ‘7474:80’
restart: unless-stopped
container_name: it-tools
Dans ce fichier Docker Compose, nous définissons un service nommé it-tools basé sur l’image Docker ghcr.io/corentinth/it-tools:latest dans sa dernière version. Cette image provient du registre GitHub Container Registry. Le service du conteneur sera exposé sur le port 7474 de la machine hôte, ce qui permet d’accéder à l’application via l’URL http://localhost:7474 (ou à distance en indiquant l’adresse IP / le nom d’hôte). Vous pouvez ajuster cette valeur avec le numéro de port de votre choix.
À titre d’information, et pour rappel, la directive restart: unless-stopped garantit que le conteneur redémarre automatiquement en cas d’arrêt ou de redémarrage de Docker (sauf s’il a été arrêté manuellement). Enfin, l’option container_name permet de nommer explicitement le conteneur it-tools (nom avec lequel il sera visible avec un docker ps).
Remarque : il n’y a pas de volume à prévoir pour le stockage persistant, car cette application ne stocke pas de données.
Quand c’est fait, il ne vous reste plus qu’à lancer la création du conteneur IT-Tools. Voici la commande à exécuter en étant positionné dans le répertoire où se situe le fichier Docker Compose :
sudo docker compose up -d
Quelques secondes plus tard, le conteneur démarre.
À partir d’un navigateur, vous pouvez accéder à l’interface d’IT-Tools : http://:7474.
IV. Conclusion
Si vous êtes familier avec Docker, quelques minutes suffiront pour déployer votre instance personnelle d’IT-Tools ! Vous pouvez aussi déployer IT-Tools sur un NAS, notamment sur un modèle Synology, via l’application Container Manager (le même Docker Compose peut-être utilisé).
Qu’en pensez-vous ?
Ingénieur système et réseau, cofondateur d’IT-Connect et Microsoft MVP “Cloud and Datacenter Management”. Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.