Autoblog de korben.info

Ce site n'est pas le site officiel de korben.info
C'est un blog automatisé qui réplique les articles de korben.info

Libinput corrige une faille qui transformait une fausse manette en accès root

Thu, 04 Jun 2026 14:59:04 +0200 - (source)

La bibliothèque libinput est passée en version 1.31.2, et pas pour ajouter des fonctions, mais pour boucher un trou de sécurité plutôt vilain. C'est elle qui gère vos périphériques d'entrée (clavier, souris, pavé tactile, manette) sur la quasi-totalité des Linux modernes, aussi bien sous Wayland que sous l'ancien serveur graphique X.Org.

Autant dire qu'elle tourne sur presque toutes les machines de bureau sous Linux, des plus grand public aux plus pointues.

Le problème permettait d'exécuter du code arbitraire avec les droits root, c'est-à-dire les pleins pouvoirs sur le système. Et tout ça en passant par un détail qu'on n'imagine pas dangereux, le nom physique d'un faux périphérique.

Sur Linux, n'importe quel logiciel peut fabriquer un périphérique virtuel via deux interfaces du noyau, uinput et uhid. Pour les regrouper, libinput s'appuie sur udev, le composant qui détecte et configure tout ce qu'on branche sur la machine.

Et c'est là que ça coince. Un attaquant pouvait créer un appareil bidon dont l'attribut PHYS, le chemin physique du matériel, contenait un simple retour à la ligne. Du coup, udev lisait cette unique valeur comme deux lignes séparées, donc deux paires clé-valeur, dont une totalement injectée par l'attaquant.

Cette ligne injectée suffisait à détourner le comportement de udev et, au bout de la chaîne, à faire tourner la commande de son choix en root. Une injection par saut de ligne. Bête, mais redoutable.

Reste une nuance importante. Fabriquer un tel périphérique demande normalement les droits root, ce qui limite déjà beaucoup le danger. Sauf que certaines règles udev personnalisées ouvrent la porte aux utilisateurs normaux.

L'exemple cité est parlant. Installer le paquet "steam-devices" sur Fedora, ce que fait n'importe quel joueur pour que ses manettes soient correctement reconnues, suffit à exposer la faille à toute personne connectée à la session. Un geste parfaitement banal, donc.

La faille a été repérée par un chercheur surnommé Csome, et Peter Hutterer, le mainteneur historique de libinput, a publié le correctif dans la 1.31.2. La marche à suivre tient en une ligne, mettre à jour dès que votre distribution pousse le paquet.

Une faille root planquée dans le nom d'une fausse manette, déclenchée par un paquet aussi anodin que celui de Steam, ça a quand même quelque chose de franchement pénible.

Source : Phoronix


Webcamoid, ou comment fabriquer une fausse webcam sous Linux sans toucher à une ligne de commande

Thu, 04 Jun 2026 14:24:02 +0200 - (source)

Sur Linux, faire passer une vidéo trafiquée pour un vrai flux de webcam dans Zoom ou Discord, ça se fait depuis longtemps. Le souci, c'est que la méthode classique demande de taper des commandes assez obscures dans un terminal. Webcamoid propose de tout faire plus simplement.

Une webcam virtuelle, c'est une fausse caméra logicielle. Votre système et vos applis la voient comme une vraie webcam branchée en USB, sauf qu'à l'autre bout il n'y a aucun capteur : juste une vidéo que vous avez choisie, modifiée ou carrément bricolée avant de l'envoyer.

Webcamoid, c'est justement une application gratuite et open source écrite par l'Argentin Gonzalo Pedone, qui tourne aussi bien sur Linux que sur Mac, Windows, Android ou FreeBSD. Elle se place entre le petit visualiseur de webcam basique et les usines à gaz comme OBS Studio, le logiciel star du streaming.

Le principe est simple. Vous choisissez votre vraie caméra comme source, vous appliquez les effets que vous voulez parmi la soixantaine proposée, puis vous envoyez le résultat vers une caméra virtuelle. Les autres logiciels n'y voient que du feu.

À quoi ça sert concrètement ? À flouter ou remplacer votre arrière-plan pendant une visio, plaquer un filtre sur votre tête, ou carrément diffuser une vidéo enregistrée à l'avance pendant que vous êtes parti faire un café. Webcamoid sait d'ailleurs prendre comme source autre chose qu'une caméra : un fichier vidéo posé sur votre disque, un flux réseau, ou même une capture de votre écran.

Pour créer cette fausse caméra, deux pilotes sont possibles, un pilote étant le bout de logiciel qui fait le pont entre le matériel et le système. D'un côté v4l2loopback, qui marche en ligne de commande avec un modprobe et trois options. De l'autre AkVCam, plus carré, qui se configure via des fichiers et que Webcamoid préfère utiliser.

Bref, un outil qui pourrait bien vous servir de temps en temps, même si l'installation et la mise en route n'est pas toujours très fluide, comme ça a été raconté chez nos confrères de Hackaday.

Source :  Hackaday , Webcamoid


Des circuits électroniques cuits dans de l'argile, et ça marche vraiment

Thu, 04 Jun 2026 10:40:52 +0200 - (source)

Emily Velasco , bricoleuse et artiste américaine, a fabriqué une carte électronique fonctionnelle à partir d'un simple disque d'argile tourné à la main, sans la moindre plaque de fibre de verre ni le moindre bain d'acide qu'on associe d'habitude à ce genre d'objet.

L'idée vient d'ailleurs. Elle raconte avoir été inspirée par un collectif de hackeuses européennes qui fabriquait ses propres circuits à partir d'argile creusée dans le sol et cuite dans un feu de camp, et comme elle développait déjà depuis un moment ses propres émaux au cuivre pour la poterie, elle a décidé de pousser l'expérience un cran plus loin.

Une carte de circuit imprimé classique, ce rectangle vert qu'on trouve dans à peu près tous nos appareils, c'est en général du FR4, un sandwich de fibre de verre et de résine époxy sur lequel on grave des pistes de cuivre à l'acide pour relier les composants entre eux. Velasco a tout remplacé par de la terre et de l'émail.

Son procédé tient en quelques gestes. Elle a fabriqué un tampon qu'elle presse dans l'argile encore molle pour y imprimer le dessin du circuit en creux, puis elle remplit ces sillons d'un mélange de poudre de cuivre et d'émaux de poterie tout ce qu'il y a de plus ordinaires, du transparent et du céladon vert, le genre de produits qui traînent dans n'importe quel atelier (il existe aussi des émaux au cuivre qu'on utilise dans la cuisson raku, cette technique de poterie d'origine japonaise). Passage au four de potier, et l'ensemble fusionne.

Le résultat est marrant. C'est un multivibrateur astable, autrement dit le petit circuit tout bête qui fait clignoter deux LED en alternance, et il est intégralement cuit dans la céramique.

Le plus surprenant, c'est que ça conduit pour de vrai. Les pistes en émail au cuivre affichent une résistance électrique étonnamment basse une fois sorties du four, ce qui n'avait rien d'évident sur le papier.

Tout n'a pas été simple pour autant. L'émail vitrifié refusait catégoriquement de prendre la soudure, même avec du flux de plomberie, et Velasco a dû gratter la surface à la brosse métallique montée sur une Dremel avant que l'étain veuille bien accrocher. Son verdict sur le rendu, elle l'assume : "C'est moche, mais ça marche."

Le solarpunk, du coup. Derrière ce terme un peu fourre-tout se cache un courant qui rêve d'un futur écolo et optimiste, où la débrouille et le fait-maison prennent le pas sur l'industrie lourde et polluante. Une carte façonnée avec de la terre, un four et de la poudre de métal, sans résine pétrochimique ni bain chimique, tout ceci est improbable.

Il faut quand même garder les pieds sur terre. On est à des années-lumière des céramiques techniques industrielles, ce fameux LTCC qu'on retrouve dans l'aérospatial ou les hyperfréquences, avec leurs propriétés électriques quasi parfaites et leur conduction de la chaleur exemplaire. Ici, on fait clignoter deux LED sur un bout de poterie ratée. Mais c'est justement tout l'intérêt.

Honnêtement ? Voir un circuit qui marche sortir d'un four à céramique, c'est franchement réjouissant. D'ailleurs souvenez-vous, ce genre d'expérience avait déjà faite avec de l'argile, et c'est à lire ici : Comment fabriquer des circuits imprimés en argile !

Source : Hackster , Hackaday


Un bidouilleur connu sous le pseudo ThatCrazyDcGuy a réussi à rendre sa radio CB entièrement pilotable depuis une simple page web, et la prouesse tient surtout à ce qu'il y soit parvenu sans pratiquement ouvrir l'appareil ni modifier le moindre composant d'origine de la machine.

L'engin en question est une Albrecht AE-5900 Mini SSB, une petite radio européenne de la fameuse Citizens Band, cette bande publique située autour de 27 MHz que les routiers et les passionnés utilisent depuis des décennies pour discuter librement, sans licence ni abonnement, et que ce modèle exploite jusqu'à 12 watts en mode SSB tout en affichant la fréquence et le niveau de signal sur un écran couleur.

Le point de départ du projet repose sur une particularité assez sympa du boîtier, puisque l'AE-5900 a la bonne idée de pouvoir être entièrement commandé depuis son micro d'origine, le AMM-500, lequel dialogue avec la radio en lui transmettant des codes en hexadécimal sur une banale liaison série, exactement comme deux puces qui s'échangeraient des instructions.

Plutôt que de toucher au circuit, ThatCrazyDcGuy s'est donc inséré pile au milieu de cette conversation entre le micro et la radio, en concevant un montage qui se fait passer pour le AMM-500 et rejoue les bonnes commandes au bon moment, si bien que l'électronique d'origine ne se rend compte de rien et continue d'obéir comme si tout était normal.

Côté matériel, l'ensemble reste étonnamment sobre, puisqu'un adaptateur FTDI, cette petite puce chargée de traduire l'USB en liaison série, gère toute la partie contrôle pendant qu'une carte son USB équipée de transformateurs d'isolation s'occupe de l'audio, le tout étant regroupé derrière un connecteur RJ45 et soudé sur une plaque à pastilles glissée dans un boîtier minuscule.

Le rôle de cerveau revient quant à lui à un Raspberry Pi, ce mini-ordinateur grand comme une carte bancaire, sur lequel tourne un script écrit en Python et reposant sur le framework Flask, qui se charge à lui seul de générer l'intégralité de l'interface web consultée par l'utilisateur.

Cette interface n'a d'ailleurs rien d'un gadget puisqu'elle expose le bouton PTT (le push-to-talk, c'est-à-dire la pédale qu'on presse pour parler), le déclenchement à la voix, le balayage des canaux à vitesse réglable, ainsi que le squelch, le clarifier et le réglage du volume du micro, alors que la voix elle-même transite par Mumble, un logiciel de voix sur IP capable de transporter le son en temps réel, ce qu'une page web seule serait bien incapable de faire.

Le système prévoit même un garde-fou plutôt rassurant, car en cas de coupure de la connexion un coupe-circuit interrompt automatiquement l'émission au bout de trente secondes, histoire d'éviter qu'une radio reste bloquée à émettre toute seule dans le vide pendant des heures sans que personne ne s'en aperçoive.

Pour piloter le poste depuis l'autre bout du pays et plus seulement sur le réseau local de la maison, le projet s'appuie enfin sur Tailscale, un outil qui tisse un réseau privé chiffré entre les différentes machines sans qu'on ait à reconfigurer sa box (que j'utilise d'ailleurs au quotidien), l'ensemble du code est disponible publiquement sur GitHub sous le nom AE5900_Remote_V2.

Ce qui est sympa dans cette réalisation, c'est justement qu'elle ne charcute rien du tout, sans conversion de bande hasardeuse ni fer à souder plongé dans les entrailles de l'émetteur, l'auteur se contentant de parler le même langage que le micro pour, dit-il, redonner un peu d'attrait à une CB que le smartphone a depuis longtemps reléguée au placard.

Franchement, piloter une radio de l'âge des routiers depuis un onglet de navigateur, c'est quand même bien rigolo.

Source : Hackaday , GitHub


Il y a des failles qui réclament un arsenal de hacker chevronné, et puis il y a HTTP/2 Bomb, qui se contente de quelques kilo-octets pour faire vaciller des serveurs parmi les plus utilisés de la planète. Dévoilée le 2 juin sous la référence CVE-2026-49975, elle s'attaque à HTTP/2, le protocole qui transporte une bonne partie des pages que vous consultez chaque jour.

Le résultat ressemble à une mauvaise blague. Une poignée d'octets envoyés au bon endroit, et la mémoire vive du serveur se met à enfler jusqu'à engloutir des dizaines de gigaoctets en quelques secondes, jusqu'à ce que la machine ne réponde plus à personne.

On parle ici d'une attaque par déni de service, un DoS dans le jargon, dont le but n'est pas de dérober quoi que ce soit mais d'asphyxier le serveur. Rien de bien neuf, donc, sauf que l'ampleur du désastre, elle, l'est totalement.

Toute l'astuce tient dans le mariage de deux mécanismes connus depuis des lustres. HTTP/2 sait compresser les en-têtes des requêtes pour éviter de répéter cent fois la même chose, et c'est précisément cette générosité que l'attaquant retourne contre le serveur, en faisant référence des milliers de fois à un en-tête glissé une seule fois, si bien que la machine réserve de la mémoire à tour de bras pour quelque chose qui, au départ, ne pèse presque rien. C'est le principe de la bombe de décompression, ce fichier piégé minuscule qui se déplie en montagne de données dès qu'on l'ouvre.

Et comme si ça ne suffisait pas, l'attaquant fait mine de ne pas pouvoir recevoir la réponse, ce qui interdit au serveur de boucler sa tâche et de relâcher ce qu'il a accumulé. Quelques octets envoyés de loin en loin, et la connexion reste ouverte indéfiniment. C'est diabolique de simplicité.

Les chiffres, eux, font carrément peur. Sur Envoy, les chercheurs ont mesuré un rapport de plus de 5 000 pour 1, avec 32 Go engloutis en une dizaine de secondes, là où Apache craque en moins de vingt secondes et nginx comme IIS en moins d'une minute. Une simple connexion domestique à 100 Mb/s peut donc mettre à genoux une infrastructure entière.

Le plus déroutant dans cette histoire, c'est que les deux ingrédients de la recette traînaient en accès libre depuis des années. Il aura fallu attendre l'équipe de Codex, et le chercheur Quang Luong, pour avoir l'idée de les mélanger et constater les dégâts.

Du côté des correctifs, tout le monde n'est pas logé à la même enseigne. nginx a réagi avec sa version 1.29.8 et une nouvelle option pour brider les en-têtes, Apache a corrigé dans mod_http2 2.0.41, mais Microsoft IIS, Envoy et Cloudflare Pingora attendaient encore leur rustine au moment de la divulgation.

Bref, vieille recette, ingrédients connus, mais cocktail dévastateur. Si vous gérez un serveur en HTTP/2, allez vérifier vos versions avant qu'on ne teste la recette à votre place.

Source : The Hacker News


À sa conférence Build 2026, le 2 juin, l'éditeur a lancé Coreutils for Windows, un paquet qui amène directement dans Windows les commandes de base bien connues des utilisateurs de Linux.

On parle des classiques du terminal, ls pour lister des fichiers, cp pour copier, mv pour déplacer, grep pour chercher du texte, ou encore cat, find et rm. Au total, près de 75 petites commandes que tout bidouilleur tape machinalement sans même y penser.

Le but affiché est simple. Les développeurs jonglent en permanence entre Windows, macOS et Linux, et s'agacent quand une commande qui marche d'un côté refuse obstinément de fonctionner de l'autre. L'idée, ici, c'est de pouvoir réutiliser les mêmes commandes et les mêmes scripts partout, sans rien réécrire.

Le plus intéressant, c'est ce qu'il y a sous le capot. Et là, surprise. Coreutils for Windows ne réinvente rien, puisqu'il s'appuie sur uutils, un projet communautaire qui réécrit les fameux coreutils de GNU en Rust, un langage réputé pour éviter toute une famille de bugs mémoire.

Autrement dit, Microsoft reprend un travail open source mené par la communauté, l'empaquette proprement et le maintient sous son nom. Le tout s'installe en une seule ligne via WinGet, le gestionnaire de paquets maison de Windows, avec un simple winget install Microsoft.Coreutils.

Côté technique, l'astuce est plutôt élégante. Plutôt que de livrer un exécutable par commande, Microsoft fournit un unique programme, coreutils.exe, et crée à l'installation une série de raccourcis (ls.exe, cp.exe, grep.exe et les autres) qui pointent tous vers lui. Selon le nom que vous tapez, ce programme sait quelle casquette enfiler. Malin.

Tout n'a pas fait le voyage, cela dit. Des commandes comme chmod, chown ou kill restent sur le carreau, faute d'équivalent propre sous Windows, qui ne gère pas les permissions de fichiers à la manière d'Unix.

Ce n'est d'ailleurs pas un geste isolé. Depuis des années, Microsoft a glissé un vrai noyau Linux dans Windows avec WSL, ouvert le code de pans entiers de ses outils et multiplié les passerelles avec l'écosystème open source. Coreutils for Windows s'inscrit dans cette continuité, et confirme que l'éditeur a définitivement enterré la hache de guerre.

Reste que pour quiconque vit dans un terminal et passe ses journées entre WSL, la couche Linux intégrée à Windows, et l'invite de commandes classique, c'est un vrai confort au quotidien. Et voir Microsoft s'appuyer ouvertement sur du logiciel libre écrit en Rust, on n'aurait pas forcément parié là-dessus il y a dix ans.

Bref, le Microsoft qui détestait Linux est bel et bien mort, et c'est tant mieux pour ceux qui codent les deux pieds dans le terminal.

Source : Bleeping Computer


Si vous avez un Zenbook récent avec cet écran miniature encastré dans le couvercle, vous étiez jusqu'ici coincé sous Windows pour l'allumer. Un développeur vient de débloquer la situation.

Olivier Magnier a fait fonctionner le ZenVision d'ASUS sous Linux, en rétro-concevant de A à Z le protocole de communication que le constructeur n'avait jamais documenté publiquement.

Le ZenVision, pour situer, c'est un petit écran OLED monochrome de 3,5 pouces logé dans la coque supérieure de certains Zenbook, dont l'édition Space. Il affiche l'heure, la date, le niveau de batterie, des animations maison ou un message que vous y collez vous-même.

La définition est minuscule. 256 pixels sur 64, de quoi montrer un logo, une horloge ou un QR code, mais certainement pas une vidéo.

Le souci, c'est que tout passait par MyASUS, l'application du constructeur qui n'existe que sous Windows. Sur Linux, l'écran restait éteint alors que le matériel, lui, était bel et bien présent dans la machine.

Pour contourner ça, Magnier a ouvert le logiciel officiel d'ASUS dans Ghidra, un outil de rétro-ingénierie qui décompile un programme pour comprendre son fonctionnement interne, puis il a observé précisément quelles commandes l'application envoyait à l'écran via le port USB.

En clair, il a écouté la conversation entre l'ordinateur et la dalle pour en reconstituer le langage. Une fois ce protocole compris et documenté, le plus dur était fait.

Du coup, il a écrit un pilote (le bout de logiciel qui fait le lien entre le système et le matériel) en Python, publié sous licence MIT , donc librement réutilisable et modifiable par qui veut. À côté, il propose ZenVision-Studio , une application pour charger ses propres animations et même des applets en direct, ces mini-programmes qui affichent des informations animées.

Et comme tout tourne en espace utilisateur, l'adoption devient bien plus simple : pas besoin de toucher au noyau Linux ni de recompiler quoi que ce soit, ça fonctionne par-dessus le système comme un programme classique.

C'est typiquement le genre de bidouille qui rend Linux vivable sur du matériel pensé pour Windows, et qui fait souvent pencher la balance entre garder un double démarrage et basculer pour de bon.

Bref, un gadget purement cosmétique, mais récupéré proprement et offert à tout le monde en open source. C'est chouette.

Source : Phoronix


Un développeur a réussi à contrôler un ordinateur sous Linux sans clavier, sans souris et sans écran, uniquement en tapant du morse sur un bouton et en lisant les réponses clignotées par une petite diode lumineuse.

La machine, c'est la LuckFox Lyra, un ordinateur monocarte vendu autour de 15 dollars, avec 128 Mo de mémoire et un gabarit grand comme une clé USB un peu épaisse, qui fait pourtant tourner un vrai système Linux complet.

L'idée de départ tenait en une contrainte que s'est imposée Gabriel Broussard Korr, son créateur, à savoir piloter cette carte sans jamais y brancher le moindre périphérique, ni clavier, ni dalle, ni rien.

Ce qui a tout déclenché, c'est sa simplicité matérielle. La carte n'a qu'un bouton, celui de démarrage, et une diode pilotable par logiciel. De quoi faire entrer et sortir de l'information, sans rien ajouter.

Côté saisie, vous tapotez vos commandes en morse sur l'unique bouton. Une pression brève pour un point, une pression longue pour un trait, et un script traduit tout ça en commandes pour le shell, l'invite en ligne de commande de Linux.

Pour les réponses, la diode reprend la main. Elle vous renvoie le résultat en clignotant, toujours en morse. Un dialogue complet avec la machine qui passe par une seule LED, dans les deux sens.

Le tout tient dans un script baptisé Morstdio , écrit pour rester compatible avec à peu près n'importe quel système de la famille Unix. Rien de plus.

Sauf que le morse classique ne suffisait pas. L'alphabet d'origine gère les lettres et les chiffres, pas tous les symboles dont un terminal a besoin, comme les barres obliques ou les parenthèses. Korr a donc inventé son "morse pour programmeurs", avec des traits très longs pour marquer les espaces et trois durées différentes à distinguer afin d'éviter toute ambiguïté.

Il a même soigné le confort d'usage, ce qui est franchement inattendu vu le concept. On retrouve des commandes inspirées de l'éditeur de texte vim, une pour exécuter une ligne, une autre pour effacer la saisie, et un re-clignotement qui vous laisse relire ce que vous venez d'entrer avant de valider.

Le plus dingue arrive à la fin. Il a fait tourner llama.cpp, le logiciel qui exécute un modèle d'IA en local, avec un petit modèle Qwen directement sur la carte. Il obtient ce qu'il présente comme le plus petit chatbot autonome du monde, capable de vous répondre en morse à la diode, au rythme d'environ un mot par minute.

Autant dire qu'à cette vitesse, échanger trois phrases avec l'engin relève déjà de l'exploit de patience.

Bref, c'est totalement inutile, et c'est génial.

Source : Hackaday


Il cuit des cookies avec son imprimante 3D

Wed, 03 Jun 2026 13:32:56 +0200 - (source)

Un bricoleur connu sous le nom de Startup Chuck a eu une idée que personne ne lui avait demandée : fabriquer des cookies de A à Z avec son imprimante 3D. Pas seulement les façonner. Les cuire aussi, dans la machine. Le tout documenté dans une vidéo YouTube, évidemment.

Tout commence par l'attirail. Chuck a imprimé en plastique l'ensemble du matériel du pâtissier, comme s'il montait une vraie petite chaîne de production de biscuits.

Et il ne fait pas semblant. Il parle carrément d'une production sérieuse de cookies, avec de quoi tout faire de la première à la dernière étape sans sortir un seul ustensile de cuisine du commerce.

Au menu, un bol à mélanger, des doseurs, un fouet compatible avec un robot KitchenAid, et une spatule équipée d'une lame en TPU, ce filament souple et un peu caoutchouteux qui plie sans casser.

Le plateau de cuisson, lui, est sorti en filament nylon, choisi pour mieux encaisser la chaleur que le plastique habituel.

Reste l'étape qui intrigue vraiment, la cuisson elle-même. L'imprimante est un modèle fermé, avec un caisson tout autour, et Chuck la détourne en mini-four basse température en se servant du plateau chauffant (le lit, en jargon de l'impression 3D) comme résistance pour chauffer la pâte.

Le résultat ? Mitigé. Les cookies sont parfaitement reconnaissables, on voit bien que ce sont des cookies, sauf qu'ils ne dorent jamais. Un lit chauffant plafonne à quelques dizaines de degrés, on est très loin des 180 °C d'un vrai four.

Bref, on récupère une pâte cuite mais pâlotte, plus proche du biscuit mou que de la gourmandise croustillante et dorée dont on rêvait.

Notez aussi que glisser de l'humidité et des ingrédients alimentaires dans une machine prévue pour du plastique, ce n'est une bonne idée ni pour vos futures impressions, ni pour votre estomac.

Le procédé en question, le FDM (le dépôt de fil fondu, couche par couche), laisse de minuscules rainures un peu partout sur les pièces imprimées. L'endroit rêvé pour piéger des résidus de pâte et laisser quelques bactéries s'installer tranquillement entre deux fournées.

On est en plein dans cet esprit bidouille où l'imprimante 3D sert à tout sauf à ce pour quoi elle est faite, juste pour voir si la chose est possible. Et Chuck est le premier à le reconnaître, son truc est une démonstration pour s'amuser, pas une recette à reproduire chez soi, même si votre four est en panne et que vous avez une mega fringale.

Source : Hackaday


Monter son propre serveur Git, ça rime souvent avec déployer une usine à gaz bourrée d'options qu'on n'utilisera jamais. Heureusement, Soft Serve prend le contre-pied total de tout ça ! Ce serveur Git self-hosted de charmbracelet (la bande derrière Bubble Tea, Glow, Freeze et Gum) fait sa vie dans le terminal et se pilote via SSH.

Un coup de brew install charmbracelet/tap/soft-serve (ou Docker, ou go install), vous lancez soft serve et hop, vous voilà avec un serveur Git complet qui tourne grâce à un seul binaire. Pour parcourir vos dépôts, pas besoin de navigateur, vous vous connectez juste en SSH et une petite interface en mode texte s'ouvre direct dans votre terminal. Genre ssh git.chezvous.net, et vous voilà en train de naviguer dans l'arborescence, lire les fichiers avec coloration syntaxique, fouiller les commits. Le tout sans quitter le shell !

Créer un dépôt, ça se fait en une ligne :

ssh -p 23231 localhost repo create mon-projet

Ou alors vous pouvez pousser directement et soft-serve fabrique le dépôt à la volée :

git remote add origin ssh://localhost:23231/mon-projet
git push origin main

Le 23231 dans l'URL, c'est le port SSH par défaut de soft-serve, et vous pouvez le changer dans la config si jamais il vous gêne.

Côté accès, l'autorisation se gère avec les clés SSH publiques. Vous disposez de 4 niveaux de droits (no-access, read-only, read-write et admin-access), vous ajoutez les clés de vos potes ou collègues, et c'est réglé. Attention quand même, par défaut l'accès anonyme en lecture seule est activé, donc pour des dépôts un peu sensibles, basculez le réglage anon-access sur no-access avant de tout pousser. D'ailleurs le serveur cause aussi en HTTP et en Git protocol si vous préférez cloner autrement, avec des tokens d'accès pour le HTTP.

Soft-serve ne cherche surtout pas à remplacer une forge puisqu'on ne peut pas faire de pull requests, y'a pas de système d'issues, ni de CI intégrée. Si vous voulez tout cet attirail, Forgejo restera le bon choix...

Soft-serve ne fait UNE chose : héberger vos dépôts Git proprement, accessibles en SSH, sans chichi. Pour 5 repos perso ou le dépôt d'une petite équipe sans revue formelle, c'est pile poil ce qu'il faut si vous aimez le minimalisme.

Il gère également le Git LFS pour les gros fichiers, les webhooks pour brancher vos automatisations, les hooks Git côté serveur, et même une fonction mirror qui récupère un dépôt distant et le resynchronise tout seul toutes les 10 minutes. Très pratique donc pour garder une copie de vos dépôts GitHub en cas de pépin. Et pour le stockage, derrière c'est SQLite par défaut, ou PostgreSQL si vous voyez plus grand.

Notez que pour le moment, soft-serve n'accepte pas les nouvelles clés RSA en SHA-256, mais uniquement les vieilles RSA en SHA-1 ou des clés Ed25519. Donc si votre connexion SSH se fait jeter sans raison apparente, c'est sûrement ça. Le plus simple, c'est donc de générer une clé Ed25519 et de ne plus y penser...

Et tout ça tombe à pic cet outil je trouve parce qu'entre les Pays-Bas qui migrent vers Forgejo et Ghostty qui claque la porte de GitHub , rapatrier son code chez soi c'est un peu ce qu'on devrait tous faire en ce moment.

C'est codé en Go, sous licence MIT, et c'est dispo aussi bien sur Linux que macOS et Windows ici : soft-serve !


Powered by VroumVroumBlog 0.1.31 - RSS Feed
Download config articles