Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

Obsidenc - Du chiffrement parano en Rust pour vos dossiers sensibles

Par : Korben
17 décembre 2025 à 10:44

Vous avez des dossiers sensibles que vous aimeriez chiffrer avant de les balancer sur un cloud ou un disque externe ? Ça tombe bien, je vous ai trouvé un petit outil en Rust qui va vous plaire.

Obsidenc , c'est son nom, est un utilitaire de chiffrement que son créateur qualifie de "paranoid-grade". Et après avoir jeté un œil au code source, je peux vous dire que c'est pas du marketing puisque ce truc archive votre répertoire en TAR et le chiffre avec XChaCha20-Poly1305, un algorithme AEAD moderne qui assure à la fois la confidentialité et l'intégrité de vos données.

Côté dérivation de clé, ça utilise Argon2id conforme à la RFC 9106. Pour les non-initiés, Argon2id c'est l'algo qui a gagné le Password Hashing Competition et qui est spécifiquement conçu pour résister aux attaques par GPU et circuits spécialisés (ASIC). L'outil adapte automatiquement les paramètres à votre machine en utilisant 85% de votre RAM disponible (entre 512 Mo minimum et 2 Go maximum) afin de rendre le brute-force astronomiquement coûteux. Et si vous avez moins de RAM dispo, il compense en augmentant le nombre d'itérations.

C'est du code Rust bien propre qui utilise les bibliothèques cryptographiques RustCrypto (bien auditées par la communauté) et le code implémente des bonnes pratiques de sécurité comme le memory locking (mlock sur Unix, VirtualLock sur Windows) pour éviter que vos clés se retrouvent dans le swap, et le zeroize pour effacer la mémoire sensible après utilisation.

Vous compilez ça avec cargo build --release, puis pour chiffrer un dossier :

obsidenc encrypt ~/mon-dossier ~/mon-dossier.oen

Pour déchiffrer :

obsidenc decrypt ~/mon-dossier.oen ~/mon-dossier-dechiffre

Le mot de passe doit faire minimum 20 caractères (pas de négociation possible, déso pas déso) et vous devez le confirmer deux fois. Vous pouvez aussi ajouter un fichier de clé en plus du mot de passe pour du 2FA old-school.

L'outil a aussi quelques protections défensives sympas. Par exemple, il refuse les symlinks (vecteur d'attaque classique), limite le nombre de fichiers à 1 million et la longueur des chemins à 4096 caractères pour éviter les zip bombs. Sur les systèmes Unix, il vérifie même que votre fichier de clé n'est pas lisible par tout le monde (chmod 600 obligatoire).

Cet outil part du principe qu'un attaquant peut avoir accès à votre fichier chiffré et dispose de temps illimité pour tenter de le casser, du coup, tout est conçu pour rendre l'attaque offline la plus douloureuse possible.

Bref, si vous cherchez un moyen de sauvegarder vos dossiers sensibles de manière vraiment sécurisée avant de les balancer sur un cloud ou un disque externe, obsidenc fait le taf et en plus c'est open source (MIT/Apache 2.0) !

Readur - La gestion documentaire avec OCR qui va enfin mettre de l'ordre dans votre bazar

Par : Korben
10 décembre 2025 à 11:11

Vous croulez sous les documents PDF, les images scannées et les paperasses diverses et variées qui traînent un peu partout sur votre serveur et sur votre disque dur ? Et bien y’a un projet open source qui pourrait bien vous simplifier la vie…

Ça s’appelle Readur , et c’est une plateforme de gestion documentaire plutôt moderne codé en Rust pour le backend et en TypeScript/React pour l’interface. Il combine une interface facile à prendre en main, je trouve, avec de l’OCR plutôt balèze qui va scanner tous vos documents pour en extraire le texte et le rendre cherchable.

Comme ça, vous balancez vos fichiers (PDF, images, fichiers texte, documents Office…) via un petit drag-and-drop des familles et Readur fait le reste !

Sous le capot, ça utilise Tesseract pour la reconnaissance de caractères, et gère même plusieurs langues simultanément avec détection automatique, donc pour ceux qui bossent avec des docs multilingues, c’est plutôt chouette…

Pour la recherche, ça repose sur une base PostgreSQL full-text avec plusieurs modes de recherche : simple, par phrase, fuzzy (recherche approximative), ou booléen, ce qui va vous permettre de retrouver n’importe quel bout de texte dans n’importe lequel de vos documents en quelques secondes.

Et si vous avez déjà vos fichiers stockés ailleurs, pas de stress puisque Readur peut se synchroniser avec WebDAV, des dossiers locaux ou du stockage S3. Il y a même un système de surveillance de dossiers qui détecte automatiquement les nouveaux fichiers et les intègre sans que vous ayez à lever le petit doigt. Pratique pour les feignasse comme moi.

Côté authentification, c’est du costaud avec JWT, bcrypt, et support OIDC/SSO pour ceux qui veulent l’intégrer dans leur infra existante et y’a aussi un système de rôles (Admin/User) et tout un tas d’étiquettes avec codes couleur pour organiser vos documents comme bon vous semble.

Pour l’installer, du Docker classique :

git clone https://github.com/readur/readur
cd readur
docker compose up --build -d

Et hop, l’interface est accessible sur localhost:8000. Pour le mot de passe, dans la doc, il est écrit que c’est admin / readur2024 mais c’est faux. Le mot de passe est généré en random au lancement du conteneur Docker. Faut juste regarder dans les logs de Docker et vous pourrez le changer après coup.

Niveau config minimale, comptez 2 cœurs CPU, 2 Go de RAM et 10 Go de stockage donc ça peut le faire sur un NAS ou un petit PC. Et pour de la prod sérieuse avec plein de documents, visez plutôt 4 cœurs ou plus , +4 Go de RAM et un bon SSD de minimum 50 Go.

Voilà, si vous cherchez une alternative auto-hébergeable à Paperless-ngx ou Papermerge avec une stack moderne en Rust, Readur mérite clairement le coup d’œil.

Merci à Letsar pour le partage !

Koharu - Le traducteur de mangas IA qui fait tout le boulot à votre place

Par : Korben
8 décembre 2025 à 10:39

J’sais pas si vous lisez des mangas de temps en temps mais si vous êtes à jour, vous avez peut-être envie de lire la suite, mais malheureusement, souvent c’est pas encore traduit en français. Alors vous 3 solutions… soit vous patientez, soit vous apprenez le japonais… Soit, soit…

Soit vous installez Koharu, un logiciel de traduction de mangas propulsé par IA. C’est hyper bien foutu puisque ça détecte automatiquement les bulles de dialogue, ça lit le texte japonais via OCR, ça efface proprement le texte original avec de l’inpainting, ça traduit le tout avec un modèle de langage aux petits oignons et ça replaque le texte traduit dans la bubulle.

Tout ça en quelques clics, évidemment, sinon ce serait pas drôle !

Le projet est développé par mayocream et c’est du 100% Rust avec une interface Tauri. Pour ceux qui ne connaissent pas, Tauri c’est un peu l’équivalent d’Electron mais en plus léger et plus performant. Le moteur d’inférence utilisé, c’est Candle de HuggingFace, ce qui permet de faire tourner des modèles IA localement sans avoir besoin d’envoyer vos data dans le cloud.

Côté modèles, Koharu embarque plusieurs outils spécialisés. Pour la vision par ordinateur, on a comic-text-detector pour repérer les bulles (avec le petit modèle custom de mayocream ), manga-ocr pour la reconnaissance de caractères et AnimeMangaInpainting pour effacer proprement le texte original. Pour la traduction, c’est vntl-llama3-8b-v2 ou Sakura-GalTransl-7B-v3.7 qui s’y collent et c’est sans galère puisque ces modèles se téléchargent automatiquement au premier lancement.

Et Koharu supporte évidemment l’accélération GPU donc si vous avez une carte NVIDIA, vous pouvez profiter de CUDA et pour les fans d’Apple Silicon avec un M1 à M5, Metal est également supporté. Bref, ça dépote et le logiciel gère aussi la mise en page verticale pour les langues CJK (Chinois, Japonais, Coréen), ce qui est plutôt indispensable quand on traduit des mangas.

Les sources sont dispo sur Github et y’a des binaires pour Windows et macOS directement sur la page des releases. Pour les autres plateformes, faudra compiler vous-même avec Rust et Bun.

Voilà, si vous rêvez de traduire ce manga obscur qui dort au fond d’un forum japonais, Koharu va vous plaire. Et un grand merci à Lorenper pour l’info !

AltSendme - Pour transférer vos fichiers en P2P

Par : Korben
27 novembre 2025 à 09:53

Marre de passer par WeTransfer ou Google Drive pour envoyer un fichier à quelqu’un ? Bah ouais, faut se créer des comptes, attendre que ça upload sur un serveur tiers, et puis est ce que vous savez ce qu’ils font réellement de vos données ?

Ça tombe bien alors car AltSendme est fait pour vous ! C’est un fork

C’est une application desktop open source (sous licence AGPL-3.0) qui permet d’envoyer des fichiers directement d’un ordi à un autre en peer-to-peer. Pas de serveur intermédiaire, pas de stockage cloud, pas de compte à avoir, vous déposez simple votre fichier sur l’app et celle-ci génère un code de partage (un “ticket”) que vous devez ensuite envoyer à votre destinataire par le moyen de votre choix (mail, SMS, chat, pigeon voyageur…), et le transfert se fait en direct !

Le truc cool avec AltSendme c’est que ça utilise, tout comme SendMe , la techno Iroh pour le networking P2P avec du QUIC + TLS 1.3 pour le chiffrement. Donc vos fichiers sont chiffrés de bout en bout et ne transitent jamais par un serveur tiers. Et si la connexion directe entre les deux machines n’est pas possible (becoz du NAT un peu capricieux), l’app fait du hole punching automatique et peut basculer sur un relais chiffré en fallback.

Côté performances, ça peut monter jusqu’à 4 Gbps en théorie ce qui est pas mal pour du P2P. Et si votre connexion saute en plein transfert, pas de panique les amis puisque les téléchargements peuvent reprendre là où ils en étaient.

L’application est dispo sur Windows, macOS et Linux et le code est sur GitHub . Y’a même une interopérabilité possible avec l’outil CLI sendme pour ceux qui préfèrent le terminal. Notez aussi que le dev accepte les dons via Buy Me a Coffee ou GitHub Sponsors si vous voulez soutenir le projet.

Bref, si vous cherchez une alternative à WeTransfer qui respecte votre vie privée et qui ne fait pas transiter vos fichiers par des vilains serveurs d’américains, AltSendme vaut le détour !

Merci à Lorenper pour la découverte !

MicroCAD - Pour coder vos modèles 3D dans la joie !

Par : Korben
25 novembre 2025 à 09:50

Depuis quelques années, dès qu’un outil open source devient un peu vieux ou bancal, un dev Rust débarque et dit “Attendez mes petits poulets, je vais vous refaire ça au propre”. Ça a commencé avec les outils système comme ripgrep qui a remplacé grep, puis fd qui a ringardisé find, et maintenant ça arrive dans l’impression 3D.

Hé oui, MicroCAD est la preuve que même OpenSCAD, ce vénérable langage de modélisation paramétrique qui existe depuis 2010, n’échappe pas à cette mode de réécriture systématique en Rust.

OpenSCAD, tout le monde le connaît dans le monde des makers et de l’impression 3D car c’est un super IDE / langage qui permet de programmer ses modèles 3D plutôt que de les dessiner à la souris dans Blender. Vous écrivez quelques lignes de code pour générer un engrenage, une brique de Lego, ou n’importe quelle forme géométrique complexe, et en théorie, c’est génial, sauf qu’en pratique, la syntaxe a vachement vieilli, les performances sur les gros modèles sont bofs, et l’écosystème est un peu figé dans la pâté.

Bref, OpenSCAD a 15 ans maintenant, et ça se sent. (Un peu comme moi et mes 21 ans de Korben… Snif la poussière ^^)

C’est pourquoi une équipe de développeurs allemands a décidé de tout reprendre de zéro. Le projet s’appelle µcad (prononcez ça microcad), et c’est la même philosophie qu’OpenSCAD, mais avec une syntaxe moderne inspirée de Rust, avec évidemment de meilleures performances, et une architecture plus solide. Vous pouvez donc toujours composer des formes basiques pour créer des géométries complexes, faire des opérations booléennes, et exporter vos modèles en .STL pour l’impression 3D ou en SVG pour la découpe laser.

L’installation est hyper simple si vous avez Rust sur votre machine :

`cargo install microcad`

Ensuite vous lancez

`microcad export ./examples/bricks/brick.µcad`

et vous avez votre fichier STL prêt à imprimer.

Les exemples sur leur site incluent un spirographe, des briques Lego, et des engrenages donc rien de révolutionnaire, mais c’est le hello world de la modélisation 3D.

MicroCAD est soutenu par le Prototype Fund , un programme qui finance 25 à 30 projets open source tous les six mois. C’est un fond géré par l’Open Knowledge Foundation Deutschland et financé par le ministère fédéral de l’Éducation et de la Recherche allemand. C’est donc une vision stratégique à long terme de la souveraineté numérique de l’Allemagne par l’open source.

Voilà, pendant qu’en France on subventionne des licornes et des startups qui font des apps de livraison, l’Allemagne finance tranquillement son infrastructure logicielle open source. Ils préfèrent bâtir des fondations solides plutôt que de balancer des paillettes au visage de tout le monde.

Le projet vient de sortir en version alpha 0.2.14 , juste à temps pour leur DemoDay. A tester d’urgence donc et on verra à terme si MicroCAD arrive à remplacer OpenSCAD dans le cœur des makers (le fameux Makœur ^^).

Cardinal - Le Everything de Windows débarque enfin sur macOS

Par : Korben
21 novembre 2025 à 10:59

Si vous avez déjà utilisé Everything sous Windows, vous savez à quel point c’est relou de ne pas avoir d’équivalent sur Mac. Spotlight c’est bien gentil, mais pour faire une recherche de fichiers précise avec des filtres avancés, c’est pas vraiment ça.

Heureusement, y’a Cardinal qui vient combler ce vide !

Cardinal c’est donc un outil de recherche de fichiers ultra-rapide pour macOS qui reprend la même syntaxe de recherche que ce qu’on retrouve dans Everything. Vous tapez vos critères, et pouf, les résultats apparaissent instantanément. Ce projet est développé par un certain Donough Liu, codé en Rust avec Tauri pour l’interface, et distribué, évidemment, sous licence MIT.

Alors qu’est-ce qu’on peut faire avec ?

Bah déjà, la syntaxe de recherche est hyper puissante. L’espace sert d’opérateur AND, donc si vous tapez “brouillon rapport” vous obtenez tous les fichiers qui contiennent les deux mots. Vous pouvez aussi filtrer par extension avec “*.pdf briefing* pour ne voir que les PDF, ou par taille avec “.zip size:>100MB” pour trouver les grosses archives zip.

Y’a aussi le filtre “infolder:” pour limiter la recherche à un dossier spécifique. Et si vous voulez exclure certains types de fichiers ou utiliser des regex, c’est possible aussi. Bref, y’a tout ce qui manque cruellement à Spotlight.

Et les raccourcis clavier sont bien pensés, je trouve. Cmd+Shift+Space pour afficher Cardinal depuis n’importe où (comme vous le faites avec Spotlight), Espace pour prévisualiser le fichier sélectionné avec Quick Look, Cmd+R pour afficher vos trouvailles dans le Finder, Cmd+C pour copier le chemin. Que du classique !

Pour l’installer, téléchargez le .dmg depuis les releases GitHub et installez le. L’app supporte aussi plusieurs langues grâce à un bouton dans la barre de statut, ce qui est top si vous préférez une interface en français.

Le seul truc à garder en tête, c’est que Cardinal doit indexer vos fichiers pour être rapide, donc la première indexation peut prendre un peu de temps selon la taille de votre disque, mais ensuite c’est instantané !

Merci à Lorenper pour le partage !

iMessage Exporter - Pour faire un backup de vos conversations iMessage

Par : Korben
19 novembre 2025 à 08:29

Vous avez combien de messages iMessage sur votre Mac ?

10 000 ? 50 000 ? Plus ????

Vous en avez des amis, dites moi ! Et maintenant, petite question piège : Combien de ces messages pouvez-vous réellement exploiter en dehors de l’app Messages d’Apple ?

Hé bien la réponse va vous surprendre (non) : zéro !

Hé oui, car vos conversations sont stockées dans une base SQLite quelque part sur votre disque dur , mais Apple a fait en sorte que vous ne puissiez rien en faire. Les pièces jointes sont planqués dans des dossiers obscurs avec des noms aléatoires, les métadonnées sont éclatées sur une quinzaine de tables, et les timestamps sont au format Apple (pas Unix). Vous pouvez donc ouvrir la base avec DB Browser si vous voulez, mais vous allez juste pleurer du sang devant votre écran et perdre votre joie de vivre.

Et le plus beau dans tout ça c’est qu’Apple ne propose AUCUN moyen d’exporter vos messages. Y’a rien. Y’a des boutons d’export pour vos photos, pour vos mails, pour vos contacts, mais pour vos SMS et iMessages, c’est podzob !

Donc si vous voulez quitter l’écosystème Apple et migrer vers Android (mais qui fait ça ??? lol), bonne chance pour récupérer ces 10 ans de conversations torrides avec Monique de la compta. Et si vous avez besoin d’archiver des échanges professionnels pour raisons légales, à part faire des centaines de captures écran ou de copier coller, j’vois pas.

Heureusement, un dev nommé ReagentX en a eu marre de cette situation et a créé imessage-exporter, un outil open source en Rust qui fait exactement ce qu’Apple refuse de faire à savoir vous donner accès à VOS propres données dans un format lisible et portable.

L’outil tourne sur macOS évidemment, mais aussi sur Linux et Windows. Comme ça, même si vous avez viré votre Mac depuis 3 ans, vous pouvez quand même récupérer votre ancienne base iMessage et l’exporter tranquillement depuis votre machine Ubuntu ou Windows.

Et au niveau des formats d’export, vous avez le choix entre du txt et du html. Le format html est particulièrement bien foutu parce qu’il recrée l’interface visuelle d’iMessage avec vos bulles bleues et grises, les heures d’envoi, et surtout il préserve tous les médias : photos, vidéos, audios, tout y passe. Vous vous retrouvez avec un site html statique que vous pouvez ouvrir dans n’importe quel navigateur et parcourir comme si vous étiez dans l’app Messages, sauf que là c’est rien qu’à vous et personne peut vous le reprendre (sauf le karma ^^).

Pour l’install, si vous êtes à l’aise avec Rust, hop, un simple cargo install imessage-exporter fera l’affaire. Sinon y’a un package Homebrew (brew install imessage-exporter) ou des binaires précompilés sur la page du projet pour Mac Intel et Apple Silicon.

Notez qu’il vous faudra aussi installer ImageMagick et ffmpeg pour la conversion des pièces jointes, mais rien de sorcier. Ensuite, côté utilisation, c’est de la ligne de commande pure et dure. Par exemple, pour exporter toutes vos conversations en html avec les médias dans votre dossier personnel, vous tapez :

imessage-exporter -f html -c clone

Si vous voulez exporter uniquement les conversations avec un contact spécifique, vous pouvez filtrer par numéro de téléphone :

imessage-exporter -f html -c clone -t "0612345678"

Et si votre base iMessage est corrompue ou que vous soupçonnez des problèmes, l’outil intègre aussi une fonction diagnostic qui va scanner la base et vous remonter les anomalies.

Et l’outil gère iMessage, RCS, SMS, MMS, les conversations de groupe, les messages formatés, les threads de réponse, les messages édités, les traductions, les sondages, les votes, et même les arrière-plans de chat custom. C’est ouf ! Et ça c’est parce que ReagentX maintient ce projet depuis des années et suit les updates Apple en temps réel, ce qui n’est franchement pas une mince affaire vu qu’Apple change régulièrement le schéma de leur base.

Normal que ce projet cartonne !

Voilà si vous tenez un minimum à vos données, allez faire un tour sur le repo GitHub d’imessage-exporter … çaa prend 10 minutes à installer, et vous dormirez mieux en sachant que vos échanges et autres souvenir seront conservés bien au chaud sur votre prochain backup.

Et un grand merci à Lorenper de m’avoir signalé ce projet.

TwoFace - Quand les sandbox deviennent inutiles

Par : Korben
18 novembre 2025 à 12:23

TwoFace est un outil développé par Synacktiv qui permet de créer des binaires Linux ayant 2 comportements bien distincts. Un comportement parfaitement inoffensif qui s’active dans 99% des cas et un comportement malveillant qui ne se déclenche que sur une machine ciblée spécifiquement pour l’occasion.

Comme ça, votre sandbox verra toujours la version “propre” parce qu’elle n’aura pas le bon UUID de partition.

D’après la doc de Synacktiv, voici comment ça fonctionne : Vous avez deux binaires en fait… Y’en a un qui est inoffensif et un autre malveillant. TwoFace les fusionne alors en un seul exécutable. Ainsi, au moment du build, le binaire malveillant est chiffré avec une clé dérivée depuis l’UUID des partitions disque de la machine cible. Cet UUID est unique, difficile à deviner, et stable dans le temps ce qui est parfait pour identifier une machine spécifique.

Ensuite au lancement, quand le binaire s’exécute, il extrait l’UUID du disque de la machine. Pour ce faire, il utilise HKDF (Hash-based Key Derivation Function) pour générer une clé de déchiffrement depuis cet UUID et tente de déchiffrer le binaire malveillant caché. Si le déchiffrement réussit (parce que l’UUID match), il exécute le binaire malveillant. Par contre, si ça échoue (parce que l’UUID ne correspond pas), il exécute le binaire inoffensif.

Le projet est écrit en Rust et c’est open source ! Et c’est une belle démo (PoC) d’un problème que tous ceux qui font de l’analyse de binaires ont. En effet, d’ordinaire, pour révéler le vrai comportement d’un malware on l’exécute dans une sandbox et on peut ainsi observer en toute sécurité ce qu’il fait, les fichiers qu’il crées, les connexions réseau qu’il établit etc…

Mais avec TwoFace ça casse cette façon de faire. Et c’est pareil pour les antivirus qui verront toujours la version inoffensive tant que l’UUID ne correspond pas.

Techniquement, TwoFace utilise memfd_create() pour exécuter le binaire déchiffré en mémoire, sans toucher au disque, ce qui veut dire zéro trace sur le système de fichiers. Le binaire malveillant apparaît directement en RAM, s’exécute, puis disparaît. Et si vous utilisez io_uring pour l’écriture mémoire, il n’y a même pas de trace syscall visible via strace.

Et ça, c’est la version basique car le document de Synacktiv mentionne également d’autres techniques avancées possibles comme du déchiffrement dynamique page par page du binaire ELF, des mécanismes anti-debugging, des chained loaders multi-niveaux…etc…

Le parallèle avec la backdoor XZ Utils backdoor est très instructif car celle-ci a failli compromettre des millions de serveurs Linux parce qu’un seul mainteneur a poussé du code malveillant dans une lib compressée. Elle a alors été découverte parce qu’un dev a remarqué un ralentissement SSH bizarre et a creusé… Et TwoFace montre qu’on peut faire encore pire sans toucher à la supply chain.

Pas besoin de corrompre un mainteneur de projet, de pousser un commit suspect chez Github. Là suffit d’écrire du code parfaitement propre, de le compilez avec TwoFace pour une machine spécifique, et de le déployez. Le code source sera alors auditable ainsi que le binaire mais l’audit ne révèlera rien parce qu’il se fera dans un environnement qui n’aura pas le bon UUID.

Après, techniquement, une défense existe. Vous pouvez par exemple détecter les appels à memfd_create(), monitorer les exécutions en mémoire, tracer les déchiffrements crypto à la volée…etc., mais ça demande du monitoring profond, avec un coût performance non-négligeable. Et ça suppose aussi que vous savez ce que vous cherchez…

Bref, si ça vous intéresse, c’est dispo sur GitHub !

❌
❌