• chevron_right

      Onionpipe – Créez des tunnels réseau virtuels inarrêtables

      news.movim.eu / Korben · Monday, 1 April - 13:42 · 3 minutes

    Y’a un nouveau soft qui vient de sortir et qui va vous permettre de créer des tunnels réseau virtuellement inarrêtables , où que vous soyez dans le monde. Ça s’appelle onionpipe et ça utilise les adresses Onion de Tor pour faire transiter vos données de manière sécurisée et privée.

    Imaginez un peu le truc : vous avez un service perso que vous voulez héberger chez vous mais votre FAI bloque les connexions entrantes ? Ou alors vous avez des clients qui sont derrière des pare-feu restrictifs type WiFi public ? Pas de souci, avec onionpipe votre service n’a pas besoin d’une IP publique pour être accessible ! Vous pouvez publier votre service avec une adresse onion unique et persistante, et donner l’accès de manière sécurisée seulement aux personnes de votre choix.

    Le plus cool c’est que vous n’avez pas besoin de faire confiance et de filer vos données persos à des services payants type Tailscale ou ZeroTier. Avec onionpipe, vous gardez le contrôle total !

    Concrètement, onionpipe c’est un peu comme socat mais pour les réseaux Tor. Ça met en place des tunnels de transfert de paquets pour faire des redirections de ports. Par exemple vous pouvez exposer le port local 8000 vers une adresse onion temporaire :

    onionpipe 8000

    Ou alors vers le port 80 d’une adresse onion temporaire en utilisant ~ comme raccourci :

    onionpipe 8000~80

    Vous pouvez même créer une adresse onion persistante avec un petit nom pour vous y retrouver :

    onionpipe 8000~80@my-app

    Et réutiliser ce nom dans plusieurs redirections pour faire référence à la même adresse onion. Tiens par exemple on pourrait monter un petit forum web pour un serveur Minecraft :

    onionpipe 8000~80@minecraft 25565@minecraft

    Toutes les redirections sans nom utilisent la même adresse onion temporaire :

    onionpipe 192.168.1.100:8000~80,8080,9000 9090

    Vous pouvez aussi exposer un socket Unix vers une adresse onion :

    onionpipe /run/server.sock~80

    Ou sacrifier un peu la confidentialité réseau contre une latence réduite en publiant un service onion non-anonyme :

    onionpipe --anonymous=false 8000

    Dans l’autre sens, vous pouvez rediriger le port 80 d’une adresse onion distante vers le port local 80 :

    onionpipe xxx.onion:80

    Ou vers le port 80 en écoute sur toutes les interfaces, pour exposer publiquement l’accès au service onion :

    onionpipe xxx.onion:80~0.0.0.0:80

    Pour aller plus loin dans la sécurisation de vos services persos, onionpipe gère aussi l’authentification client . En gros ça permet de n’autoriser l’accès qu’à une liste de clés publiques de votre choix.

    Voilà comment ça marche :

    Alice génère une nouvelle paire de clés d’authentification client

    onionpipe client new alice

    Puis Alice partage cette clé publique avec Bob, qui transmet un service en oignon qu’elle seule peut utiliser.

    onionpipe --require-auth CLEPUBLIQUEALICE 8000~80@test

    Alice utilise alors sa clé privée pour se connecter au service onion de Bob et le rediriger en local

    onionpipe --auth alice ADRESSEONIONBOB:80~7000

    Et voilà, un canal de communication privé et sécurisé entre Alice et Bob, sans passer par un serveur central 😉

    Cerise sur le gâteau, ça s’intègre super facilement avec Docker ! Seule subtilité, comme c’est le conteneur qui fait la redirection, faut ajuster les adresses locales en conséquence. Pour rediriger le port 80 de l’hôte Docker :

    docker run --rm ghcr.io/cmars/onionpipe:main host.docker.internal:80

    Avec Podman vous pouvez carrément exposer le réseau de l’hôte local :

    podman run --network=host --rm ghcr.io/cmars/onionpipe:main 8000

    Et comme les adresses de redirection locales sont résolues par DNS, c’est ultra simple de publier des services onion depuis Docker Compose ou Kubernetes. Jetez un œil à cet exemple avec Nextcloud , c’est assez génial !

    Merci à Lorenper

    • chevron_right

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

      news.movim.eu / Korben · Thursday, 28 March - 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 !