Fix content audit findings across Serveex, Nonsense and recycled guides
Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
@@ -28,6 +28,6 @@ Tout ceci de manière complètement autonome, avec une fréquence choisie en var
|
||||
|
||||
Plus d'infos directement sur le repo :
|
||||
|
||||
::card{title="🐋 __AdGuard CIDRE Sync__"}
|
||||
[Robot de synchronisation de la blocklist d'AdGuard](https://git.djeex.fr/Djeex/adguard-cidre)
|
||||
::card{title="🐋 __AdGuard CIDRE Sync__" to="https://git.djeex.fr/Djeex/adguard-cidre" target="_blank"}
|
||||
Robot de synchronisation de la blocklist d'AdGuard
|
||||
::
|
||||
|
||||
@@ -20,66 +20,66 @@ Ainsi, ce script :
|
||||
* Chiffre avec le mot de passe
|
||||
* Détruit l'archive non chiffrée
|
||||
|
||||
```
|
||||
```bash [Terminal]
|
||||
#!/bin/bash
|
||||
|
||||
# Directory where LUKS headers will be backed up
|
||||
# Dossier où seront sauvegardés les headers LUKS
|
||||
DEST="/root/luks-headers-backup"
|
||||
mkdir -p "$DEST"
|
||||
|
||||
echo "🔍 Searching for LUKS containers on all partitions..."
|
||||
echo "🔍 Recherche des conteneurs LUKS sur toutes les partitions..."
|
||||
|
||||
# Loop through all possible disk partitions (including NVMe and SATA)
|
||||
# Parcourt toutes les partitions disque possibles (y compris NVMe et SATA)
|
||||
for part in /dev/sd? /dev/sd?? /dev/nvme?n?p?; do
|
||||
# Skip if the device doesn't exist
|
||||
# Ignore si le périphérique n'existe pas
|
||||
if [ ! -b "$part" ]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# Check if the partition is a LUKS encrypted volume
|
||||
# Vérifie si la partition est un volume chiffré LUKS
|
||||
if cryptsetup isLuks "$part"; then
|
||||
# Find the parent disk device (e.g. nvme0n1p4 → nvme0n1)
|
||||
# Trouve le disque parent (ex. nvme0n1p4 → nvme0n1)
|
||||
disk=$(lsblk -no pkname "$part" | head -n 1)
|
||||
full_disk="/dev/$disk"
|
||||
|
||||
# Get the serial number of the parent disk
|
||||
# Récupère le numéro de série du disque parent
|
||||
SERIAL=$(udevadm info --query=all --name="$full_disk" | grep ID_SERIAL= | cut -d= -f2)
|
||||
if [ -z "$SERIAL" ]; then
|
||||
SERIAL="unknown"
|
||||
fi
|
||||
|
||||
# Extract the partition name (e.g. nvme0n1p4)
|
||||
# Extrait le nom de la partition (ex. nvme0n1p4)
|
||||
PART_NAME=$(basename "$part")
|
||||
|
||||
# Build the output filename with partition name and disk serial
|
||||
# Construit le nom du fichier de sortie avec le nom de partition et le numéro de série
|
||||
OUTPUT="$DEST/luks-header-${PART_NAME}__${SERIAL}.img"
|
||||
|
||||
echo "🔐 Backing up LUKS header of $part (Serial: $SERIAL)..."
|
||||
echo "🔐 Sauvegarde du header LUKS de $part (Numéro de série : $SERIAL)..."
|
||||
|
||||
# Backup the LUKS header to the output file
|
||||
# Sauvegarde le header LUKS dans le fichier de sortie
|
||||
cryptsetup luksHeaderBackup "$part" --header-backup-file "$OUTPUT"
|
||||
if [[ $? -eq 0 ]]; then
|
||||
echo "✅ Backup successful → $OUTPUT"
|
||||
echo "✅ Sauvegarde réussie → $OUTPUT"
|
||||
else
|
||||
echo "❌ Backup failed for $part"
|
||||
echo "❌ Échec de la sauvegarde pour $part"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Create a timestamped compressed tar archive of all header backups
|
||||
# Crée une archive tar compressée et horodatée de toutes les sauvegardes de headers
|
||||
ARCHIVE_NAME="/root/luks-headers-$(date +%Y%m%d_%H%M%S).tar.gz"
|
||||
echo "📦 Creating archive $ARCHIVE_NAME..."
|
||||
echo "📦 Création de l'archive $ARCHIVE_NAME..."
|
||||
tar -czf "$ARCHIVE_NAME" -C "$DEST" .
|
||||
|
||||
# Encrypt the archive symmetrically using GPG with AES256 cipher
|
||||
echo "🔐 Encrypting the archive with GPG..."
|
||||
# Chiffre l'archive symétriquement avec GPG et le chiffrement AES256
|
||||
echo "🔐 Chiffrement de l'archive avec GPG..."
|
||||
gpg --symmetric --cipher-algo AES256 "$ARCHIVE_NAME"
|
||||
if [[ $? -eq 0 ]]; then
|
||||
echo "✅ Encrypted archive created: ${ARCHIVE_NAME}.gpg"
|
||||
# Remove the unencrypted archive for security
|
||||
echo "✅ Archive chiffrée créée : ${ARCHIVE_NAME}.gpg"
|
||||
# Supprime l'archive non chiffrée pour plus de sécurité
|
||||
rm -f "$ARCHIVE_NAME"
|
||||
else
|
||||
echo "❌ Encryption failed"
|
||||
echo "❌ Échec du chiffrement"
|
||||
fi
|
||||
```
|
||||
|
||||
|
||||
@@ -77,6 +77,6 @@ services:
|
||||
|
||||
Plus d'infos directement sur le repo :
|
||||
|
||||
::card{title="🐋 __Socat Proxy__"}
|
||||
[A lighteweight bind mount socket proxy](https://git.djeex.fr/Djeex/socat-proxy)
|
||||
::card{title="🐋 __Socat Proxy__" to="https://git.djeex.fr/Djeex/socat-proxy" target="_blank"}
|
||||
Un proxy de socket léger basé sur un bind mount
|
||||
::
|
||||
|
||||
Reference in New Issue
Block a user