• chevron_right

      Toolong – Un excellent outil pour gérer vos fichiers de log

      news.movim.eu / Korben · 08:00 · 1 minute

    Non, Toolong n’est pas ce qu’a dit votre correspondante américaine la première fois qu’elle vous a vu en maillot de bain. C’est plutôt (le chien) un outil vachement pratique qui s’utilise ne ligne de commande et qui permet d’ afficher, suivre en temps réel, fusionner les fichiers de log et d’y rechercher tout ce que vous voulez.

    L’outil est capable d’appliquer une petite coloration syntaxique sur les formats de journalisation classique comme ceux d’un serveur web par exemple. Il est également capable d’ouvrir très rapidement de gros fichiers même s’ils font plusieurs gigas.

    Si vous travaillez avec des fichiers JSONL, Toolong les affichera également au format pretty print . Il prend également en charge l’ouverture des fichiers .bz et .bz2 .

    De quoi arriver à vos fins beaucoup plus facilement qu’en jouant avec tail, less, ou encore grep.

    Toolong est compatible avec Linux, macOS et Windows et pour l’ installer Toolong , la meilleure solution actuelle consiste à utiliser pipx :

    pipx install toolong

    Vous pouvez également l’installer avec Pip :

    pip install toolong

    Note : Si vous utilisez Pip, il est recommandé de créer un environnement virtuel pour éviter les conflits de dépendances potentiels.

    Une fois Toolong installé, la commande tl sera ajoutée à votre PATH. Pour ouvrir un fichier avec Toolong, ajoutez les noms de fichiers en arguments de la commande :

    tl fichierdelog.log

    Si vous ajoutez plusieurs noms de fichiers, ils s’ouvriront dans des onglets. Ajoutez l’option --merge pour ouvrir plusieurs fichiers et les combiner en une seule vue :

    tl access.log* --merge

    Voilà, l’essayer, c’est l’adopter. Si vous manipulez de gros logs, Toolong pourra vous faire gagner un max de temps !

    Merci à Lorenper

    • chevron_right

      Garnet – Le nouveau cache qui remplacera un jour Redis dans votre cœur

      news.movim.eu / Korben · Wednesday, 20 March - 08:51 · 1 minute

    J’sais pas si vous avez vu, mais l’un des plus grands contributeur au monde au logiciel libre nous a sorti un nouvel outil open source très cool baptisé Garnet . Et ce nouveau système de cache open source développé par Microsoft (oui, c’était une blague à retardement ^^) va surement faire trembler Redis et Memcached (ou pas, c’est encore trop tôt pour le savoir).

    D’après les specs, Garnet est conçu pour la scalabilité et le débit poussés à fond les ballons. En gros, on peut gérer un max de requêtes sans faire sourciller votre infra et donc au final, faire des économies ! En plus, d’après le benchmark, les perfs sont juste assez dingues et les temps de latence côté client sont réduits à leur max. Comme souvent avec Microsoft, c’est visiblement du solide.

    Garnet repose sur la dernière techno .NET , c’est multi plateforme et hyper extensible. Y’a une API blindée de fonctionnalités et avec le mode cluster, on peut même faire du sharding , de la réplication et de la migration dynamique de clés. Les chercheurs de Microsoft ont mis près d’une décennie à peaufiner cette technologie et c’est maintenant en place chez eux notamment dans les plateformes Windows & Web Experiences, Azure Resource Manager et Azure Resource Graph.

    Microsoft a comparé Garnet aux autres solutions du marché et les résultats sont sans appel. Que ce soit en throughput ou en latence , Garnet explose tout le monde, même dans des conditions de charge de taré. Ce qui fait la différence avec Garnet, c’est surtout sa capacité à exploiter pleinement les capacités matérielles actuelles, comme les cœurs multiples, le stockage hiérarchisé et les réseaux rapides, tout en restant simple d’utilisation pour les développeurs d’applications.

    Maintenant si vous voulez tester, faire des benchmark et éventuellement un jour remplacer votre Redis, Microsoft a rendu Garnet disponible sur GitHub .

    • chevron_right

      Jami – L’alternative décentralisée et sécurisée à Zoom, Teams…etc

      news.movim.eu / Korben · Sunday, 17 March - 08:00 · 2 minutes

    Et yooo !

    Si vous cherchez un moyen de sécuriser vos communications en ligne, Jami est probabkement une réponse à votre préoccupation. Il s’agit d’un logiciel de communication entièrement libre, décentralisé, et sécurisé. Anciennement connu sous le nom de SFLphone puis Ring, Jami est un projet soutenu par la Free Software Foundation et est disponible sur toutes les plateformes, y compris Windows, macOS, Linux, Android et iOS.

    Disponible en téléchargement sur jami.net , Jami offre une multitude de fonctionnalités pour répondre aux besoins de communication modernes. Tout d’abord, son fonctionnement est entièrement distribué et repose sur deux réseaux distincts: OpenDHT, une table de hachage distribuée, mais également sur un smart contrat Ethereum pour tout ce qui est enregistrement des noms d’utilisateurs. Cela signifie que toutes les communications sont peer-to-peer et ne nécessitent pas de serveur central pour relayer les données entre les utilisateurs. Génial non ?

    Jami offre donc un large éventail de fonctionnalités, notamment la messagerie instantanée, les appels audio et vidéo, les groupes de discussion (appelés les Swarms), les vidéoconférences sans hébergement tiers, l’enregistrement des messages audio et vidéo, le partage d’écran et la diffusion de médias.

    Une caractéristique intéressante de Jami est qu’il peut également fonctionner en tant que client SIP. Le logiciel est conforme à la norme X.509 et utilise un cryptage de bout en bout de pointe avec la confidentialité persistante pour toutes les communications.

    Comme mentionné précédemment, Jami est disponible sur toutes les plateformes, y compris les environnements de bureau tels que GNOME et KDE, ainsi que sur les smartphones Android et iOS. Les utilisateurs n’ont besoin d’aucune information personnelle pour créer un compte, ce qui contribue à préserver leur anonymat.

    En plus des avantages de sécurité et de vie privée, Jami offre également des avantages tels que la gratuité, tant en termes de coût que de liberté, et l’absence de restrictions sur la taille des fichiers, la vitesse, la bande passante, les fonctionnalités, le nombre de comptes, le stockage, et bien d’autres. De plus, comme s’y sont engagés ses créateurs, il n’y aura jamais de publicité sur Jami.

    C’est donc une excellente alternative aux services de communication traditionnels (Teams, Zoom ou ce genre de merdes), offrant une plate-forme décentralisée, sécurisée et respectueuse de la vie privée pour tout ce qui est appels, messagerie et partages d’écran.

    Si ça vous branche de tester, c’est par ici que ça se passe.

    Merci à Lorenper

    • chevron_right

      Wiki TUI – Wikipedia directement dans votre terminal

      news.movim.eu / Korben · Monday, 4 March - 08:00

    Je n’aime jamais trop quitter mon terminal. On y est tellement bien.

    Et encore moins pour ouvrir un navigateur et aller chercher de l’info sur Wikipédia. Ouin !

    Heureusement, il existe Wiki Tui , un client TUI (Text User Inteface si vous ne saviez pas encore), écrit en Rust (donc rapideeee) qui va vous permettre de faire des recherches et de parcourir Wikipédia directement depuis votre terminal.

    Le bonheur ! Ça fonctionne avec les mêmes touches que Vim, ce qui vous évitera de trop bousculer vos petites habitudes, parce qu’arrivé à un certain âge… Bref, je m’égare. Vous aurez alors accès à la table des matières de la page Wikipédia pour vous rendre directement à la partie du sujet qui vous intéresse.$

    Wiki TUI dispose également de différents thèmes pour faire plaisir à vos petits yeux.

    Pour l’installer sous mac:

    sudo port install wiki-tui

    Ou avec Rust :

    cargo install wiki-tui

    Bref, c’est minimaliste et super pratique pour ne pas vous laisser distraire dans votre navigateur.

    À découvrir ici.

    • chevron_right

      Un tutoriel pour mettre en place Syncthing

      news.movim.eu / Korben · Friday, 9 February - 13:32

    Si vous me suivez depuis longtemps, vous connaissez forcément Syncthing puisque j’en ai déjà parlé un bon paquet de fois. Mais ça faisait longtemps et dans le cadre de mon Patreon Privé Premium++ Rotomoulage Sélectif qui permet à l’élite de la crème de la nation d’avoir des contenus originaux merveilleux de moi-même sur des canaux exclusivement exclusifs , j’ai réalisé une vidéo tutoriel sur le sujet.

    Synchting, c’est le Dropbox du pauvre libriste et ça permet très facilement de mettre en place sur toutes vos machines Linux, Windows, macOS et plus, de la synchronisation chiffrée dans les deux sens ou en sens unique, de vos fichiers. Ça repose sur du protocole P2P, donc c’est super rapide, ça passe partout, même à travers vos firewalls et c’est vraiment un game changer pour ceux qui aiment avoir leurs documents sous la main, peu importe l’appareil qu’ils utilisent ou l’endroit où ils se trouvent.

    Voilà, j’espère que ça vous plaira. N’oubliez pas de nous rejoindre sur Patreon , et le cas échéant, de vous abonner à ma chaine YouTube .

    • chevron_right

      Tailspin – Pour y voir plus clair dans vos logs

      news.movim.eu / Korben · Friday, 9 February - 08:00 · 1 minute

    Si vous avez votre propre serveur, que ce soit pour du pro ou pour de l’auto-hébergement, vous avez forcément dû un jour de votre vie, jeter un oeil dans les fichiers de logs de celui-ci.

    C’est pratique des logs, ça permet de savoir ce qui se passe et pourquoi ça ne fonctionne pas toujours comme on l’espère. Sauf que voilà, en SSH, via le terminal, le rendu des logs n’est pas souvent fou-fou.

    Heureusement, il y a des outils comme Tailspin , qui mettent un peu de vie dans tout ça, pour vous éviter en tant que sysadmin un burnout et un retour immédiat dans le cantal pour élever des myocastors et en faire du pâté.

    Tailspin est capable d’afficher n’importe quel format de log sans aucune config particulière, pour faire ressortir les informations importantes telles que les nombres, les dates, les adresses IP, les UUIDs, les URLS et bien d’autres choses. Il peut s’intégrer très facilement avec d’autres commandes puisqu’il fonctionne comme la commande less pour faire des recherches ou du filtrage dans les logs.

    Bien sûr, si vous voulez rajouter des mises en avant, vous pouvez configurer l’outil pour qu’il puisse appliquer le style de votre choix au pattern regex de votre choix.

    Pour l’installer, rien de plus simple. Il vous suffit de lancer l’une des commandes suivantes selon votre distrib :

    # Homebrew
    brew install tailspin
    
    # Cargo
    cargo install tailspin
    
    # Archlinux
    pacman -S tailspin
    
    # Nix
    nix-shell -p tailspin
    
    # NetBSD
    pkgin install tailspin
    
    # FreeBSD
    pkg install tailspin

    De quoi y voir plus clair dans votre travail quotidien.

    • chevron_right

      WebDB – Vos bases de données enfin accessibles facilement

      news.movim.eu / Korben · Monday, 22 January - 08:00 · 3 minutes

    Alexandre, lecteur de Korben.info depuis une bonne dizaine d’années, m’a fait le plaisir de me contacter pour me montrer l’outil qu’il développe depuis maintenant un an. J’ai trouvé ça très cool alors je vais le partager avec vous. Il s’agit d’un IDE totalement open source dédié aux bases de données . Cet outil libre simplifie les interactions que nous avons avec nos bases de données, ce qui rend leur administration et la gestion des données plus intuitives et surtout beaucoup plus facile. Vous allez voir !

    Tout d’abord, WebDB simplifie la découverte de serveurs et la connexion à ces derniers, grâce à un système de scan intelligent. Il détecte les ports utilisés pour chaque base de données et permet d’ajouter des hôtes spécifiques à analyser. Cela élimine la corvée de récupérer des mots de passe, car WebDB teste automatiquement des identifiants populaires. Pensez quand même à les changer à un moment pour des questions de sécurité 🙂

    En explorant plus profondément WebDB, on découvre que l’exploration de données est beaucoup plus facile et agréable que dans n’importe quel PhpMyAdmin ou autre. En seulement trois clics, on peut comme ça parcourir, mettre à jour ou supprimer des données. Le filtrage des données SQL et NoSQL se fait directement depuis l’explorateur, avec un design optimisé pour les clés étrangères et les ObjectID relationnels. Et ce n’est pas tout : WebDB permet de mettre à jours vos données par lots en utilisant des fichiers JSON. Pratiquement quand vous avez de la quantité à mettre à jour.

    Le cœur de l’IDE WebDB réside dans son éditeur de requêtes. Avec de l’autocomplétion pour SQL et les structures spécifiques au serveur, rédiger des requêtes se fait en un clin d’œil. Les requêtes CRUD (create, read, update, and delete) pré-construites sont sauvegardées automatiquement et peuvent être marquées comme favorites.

    La modification de colonnes SQL ou de champs NoSQL est également plus intuitive grâce à WebDB. Le logiciel propose tous les types possibles en fonction de la base de données et facilite la modification des colonnes avec des fonctions de casting intelligentes, applicables tant aux bases de données SQL qu’à NoSQL. Cette fonctionnalité permet une grande flexibilité et s’adapte à divers contextes linguistiques.

    Voilà… Sinon, WebDB gère également des éléments complexes comme les procédures SQL, les fonctions, et les types de données spécifiques. Il prend en charge les validateurs MongoDB et les contraintes SQL, offrant une compréhension complète de la base de données.

    La gestion des relations SQL dans WebDB est également totalement transparente grâce à une vue intuitive. L’outil déduit les relations pour aider à générer des données étrangères et à comprendre la structure de la base de données avec une facilité déconcertante. En plus, le versioning de base de données est une autre caractéristique clé de WebDB. Suivant les modifications et intégrant Git, il permet de revenir facilement à n’importe quelle version antérieure.

    L’intégration de ChatGPT dans WebDB apporte également un peu de « cerveau » à l’outil. ChatGPT offre des réponses précises en fonction de la structure de la base de données. Cette fusion entre intelligence artificielle et gestion de données ouvre de nouvelles perspectives pour les utilisateurs, surtout pour les débutants.

    Le module ERD de WebDB permet également de visualiser la structure et les relations de la base de données de manière moderne et intuitive. L’exportation de ces diagrammes au format PNG ou SVG se fait en un clic, ce qui vous permettra d’illustrer vos préz ou sites web / documentation super facilement.

    Enfin, l’importation et l’exportation de données avec WebDB sont simplifiées, que ce soit au format natif ou JSON, garantissant une compatibilité et des performances optimales.

    Vous l’aurez compris, Alexandre a bien bossé et WebDB se présente vraiment comme une solution complète et avant-gardiste pour la gestion des bases de données, accessible et efficace pour tous, que vous soyez total noob ou super expert en base de données.

    Je vous invite à tester ça . C’est auto-hébergeable, ça tourne dans Docker, et y’a même une démo en ligne .

    • chevron_right

      SFTPGo – Le serveur SFTP ultime pour vos transferts de fichiers

      news.movim.eu / Korben · Wednesday, 17 January - 08:00 · 2 minutes

    Imaginez que vous deviez partager des fichiers avec vos collaborateurs, travailler sur des projets avec des personnes situées aux quatre coins du monde ou simplement sauvegarder vos photos de vacances, mais que vous ne savez pas par quoi commencer ?

    Et bien, ne cherchez plus, SFTPGo est là pour vous faciliter la vie.

    SFTPGo c’est un serveur SFTP open source, complet et hautement configurable qui supporte HTTP/S, FTP/S ou encore WebDAV. Il prend en charge plusieurs backends de stockage : du système de fichiers local avec ou sans chiffrement, du stockage d’objets S3, du Google Cloud Storage, de l’Azure Blob Storage, et bien sûr, SFTP.

    L’outil est gratuit, mais si vous voulez le soutenir ou profiter d’un support technique, il faudra porter la main à la bourse ^^. C’est donc plus Open Bourse qu’Open Source.

    Parmi les fonctionnalités offertes, on trouve la possibilité de créer des dossiers virtuels privés ou partagés, des commandes personnalisables, des comptes virtuels stockés, de l’isolement chroot, des autorisations virtuelles par utilisateur et par répertoire, ainsi qu’une API REST , un gestionnaire d’événements, une interface d’administration…etc.

    SFTPGo facilite le paramétrage d’une authentification multifacteur personnalisable . Authentification partielle, par utilisateur et avec plusieurs méthodes, incluant l’authentification LDAP/Active Directory et des programmes externes. Il supporte l’administration des utilisateurs, le chiffrement des données, la modification dynamique des utilisateurs, les quotas, la limitation de bande passante et de débit .

    Pour sécuriser vos données, SFTPGo propose une limitation du nombre de sessions simultanées avec ou sans filtrage par IP ou dossier. Terminaison automatique des connexions inactives, gestion de liste de blocage, filtrage Geo-IP et il est bien sûr compatible avec Git, SCP, rsync, FTP/S et WebDAV.

    Pour vous faciliter la vie, SFTPGo propre aussi des analyses de performance, des logs ultra-précis et un support Infrastructure as Code (IaC) via Terraform. Il est compatible avec Linux, macOS, Windows et FreeBSD et nécessite Go ainsi qu’un serveur SQL. Des binaires et une image Docker officielle sont également disponibles.

    SFTPGo est disponible sur plusieurs plateformes, y compris les dépôt Ubuntu, Void Linux, AWS Marketplace, Azure Marketplace et Elest.io. Il est également disponible pour Windows et macOS via des packages tels que winget, Chocolatey et Homebrew. Et il existe des portages pour FreeBSD et DragonFlyBSD.

    Voilà, si vous cherchez un serveur SFTP totalement configurable (y’a même un système de plugins) et supportant S3, Google Cloud, Azure et j’en passe, celui-ci est un must-have !

    • chevron_right

      Knockr – Facilement mettre en place une séquence de port knocking sur votre serveur

      news.movim.eu / Korben · Friday, 29 December - 08:00 · 3 minutes

    Connaissez-vous la pratique du port knocking ?

    Il s’agit d’une bonne pratique de sécurité informatique qui permet de contrôler l’accès à un serveur en utilisant une séquence de tentatives de connexion à des ports fermés. Cette technique est souvent utilisée pour masquer aux yeux des scanners de ports, des services comme SSH. les services tels que SSH (Secure Shell) des scanners de port automatiques et des attaquants potentiels.

    Cette méthode ajoute une couche de sécurité supplémentaire, car les ports nécessaires pour accéder à votre serveur, ne sont pas constamment ouverts et donc visibles.

    Si vous voulez mettre ça en place, il y a différentes méthodes, mais l’une des plus faciles, c’est d’utiliser Knockr, un script écrit en Go qui s’installe comme ceci :

    go install github.com/solutionroute/knockr@v0.2.0

    Ou comme ceci :

    git clone https://github.com/solutionroute/knockr.git
    cd knockr
    go install

    Et qui va vous permettre de spécifier les ports à surveiller ainsi que la durée d’attente entre chaque frappe, le protocole réseau utilisé ou le temps d’attente avant l’émission d’une nouvelle séquence.

    Frapper sur trois ports différents

    Le comportement par défaut de l’outil knockr est de frapper sur les ports spécifiés en utilisant le protocole TCP avec un délai de 100 millisecondes entre les frappes et un délai d’expiration de 1,5 seconde pour chaque frappe. Pour frapper sur trois ports, 1234, 8923 et 1233, vous utiliseriez la commande suivante, en remplaçant hostname par le nom réseau de votre machine :

    knockr hostname 1234,8923,1233

    Cette commande enverra un paquet TCP SYN à chacun des ports spécifiés, en attendant une réponse avant d’envoyer le paquet suivant. Si une réponse n’est pas reçue dans les 1,5 secondes, la frappe est considérée comme infructueuse.

    Frapper sur une chaîne de ports avec un protocole et un délai spécifiés

    Pour spécifier un protocole et un délai différents entre les frappes, vous pouvez utiliser les options -n et -d , respectivement. Par exemple, pour frapper sur le port 22 (SSH) en utilisant le protocole UDP avec un délai de 200 millisecondes entre les frappes, vous utiliseriez la commande suivante :

    knockr hostname 22 -n udp -d 200ms

    Frapper sur une chaîne de ports avec un protocole, un délai et un mode silencieux spécifiés

    Pour supprimer tout sauf la sortie d’erreur, vous pouvez utiliser l’option -s . Par exemple, pour frapper sur le port 22 (SSH) en utilisant le protocole TCP avec un délai de 200 millisecondes et supprimer toute sortie sauf la sortie d’erreur, vous utiliseriez la commande suivante :

    knockr hostname 22 -n tcp -d 200ms -s

    Il est recommandé d’inclure le ou les ports que vous vous attendez à être déverrouillés en premier et en dernier dans la chaîne pour observer leur statut avant et après le processus de frappe. Par exemple, si vous avez l’intention de déverrouiller le port 22 (SSH) sur un hôte spécifique, vous pouvez utiliser la commande suivante :

    knockr hostname 22,1234,18923,1233,22

    Cette commande frappera sur le port 22, attendra la réponse attendue, frappera ensuite sur les ports restants, puis vérifiera à nouveau le statut du port 22. Cela permet de garantir que les ports spécifiés sont bien déverrouillés après le processus de frappe.

    Vous l’aurez compris grâce aux exemples :

    • L’option -d spécifie le délai en millisecondes entre les frappes. La valeur par défaut est de 100 millisecondes.
    • L’option -n spécifie le protocole à utiliser pour les frappes. Les valeurs possibles sont tcp et udp . La valeur par défaut est tcp .
    • L’option -s met l’outil en mode silencieux. Cela signifie que seules les sorties d’erreur seront affichées.

    À découvrir ici et bonne chance dans vos aventures de port-knocking !