YouTube Shorts introduit un minuteur quotidien qui interrompt le défilement au seuil choisi, déployé par vagues sur mobile avec alerte désactivable par l’utilisateur.
Les IA qui tentent de poutrer nos infras depuis 2 ans…
Avec une partie intéressante sur les SDK Android utilisés dans ces app pour servir de proxy et ainsi transformer les utilisateur·ices de l'app en membre d'un botnet.
Un emulateur windows qui tourne sur android. On peut faire tourner des jeux windows sur Android.
Mon collègue fait tourner GTA IV sur son smartphone, et ça a l'air de passer pour moi aussi, compatible Steam.... (Permalink)
Je ne sais pas quand ni comment, le panneau de configuration des LEDs sur mon NAS Lincstation N1 avait disparu. Plus rien dans /boot/config/… Heureusement, je viens de retrouver tout ce qu’il faut sur GitHub, grâce à mluisbrown.
Juste pour les LEDs, j’ai copié le dossier /led dans /boot/config et édité mon fichier /boot/config/go en conséquence :
#!/bin/bash
export UNRAID_GUID=xxx
export UNRAID_NAME=HomeBox
export UNRAID_DATE=xxx
export UNRAID_VERSION=Pro
/lib64/ld-linux-x86-64.so.2 /boot/config/unraider
# Start the Management Utility
/usr/local/sbin/emhttp
#bash /boot/config/mergerfsusenetdrive-start.sh
#/boot/config/mergerfsusenetdrive-stop.sh
# Start the LED Service
cp -r /boot/config/led/ /usr/local/sbin/led/
chmod 777 /usr/local/sbin/led/go_8130_led_linux
nohup /usr/local/sbin/led/go_8130_led_linux >/dev/null 2>&1 &
Ensuite, plutôt que de redémarrer le NAS, autant tout lancer à la main
UNRAID c’est bien. Mais UNRAID sauvegardé c’est mieux. Enfin… à moins de refaire mon boulet… Et je ne parle pas des données telles que photos, films, musiques, etc, au moins sécurisées par la parité, mais bien de celles liées à l’OS (configuration globale, plugins…) ou aux Dockers eux-mêmes (images, configs…).
Si on peut installer X outils de sauvegarde indépendants (Kopia, Duplicati, Restic…), je pense qu’on est surtout très nombreux à utiliser le plugin Appdata Backup (qui ne devrait plus être maintenu, mais) qui fait le boulot avec du backup incrémental des données des Dockers et du /boot. Surtout qu’on peut lui ajouter des scripts avant/après chaque étape, histoire de personnaliser à fond tout ça.
Cependant, 2 précautions valent mieux qu’une, et l’outil UNRAID Config Guardian de stephondoestech permet de créer des sauvegardes récurrentes (cron en variable du Docker) des configurations d’UNRAID et des Dockers (qui tournent, pas les stoppés pour l’instant). De surcroît avec un script de restauration d’urgence pour tout remettre en place simplement et rapidement. Utilisé en parallèle du plugin Appdata Backup, cet outil se concentre sur l’OS même, sa configuration, ses plugins et sort un gros compose.yml pour remettre en branle tous les Dockers.
« UCG » permet de lister les containers et leurs volumes/variables
et d’en faire une sauvegarde via un chemin local. Ce dernier pouvant être un disque dur, une clé USB, un montage de NAS/FTP, un montage rClone…
Et ce ne sont que des configurations, ça ne prend donc pas de place à stocker.
Il y a quelque temps on m’a demandé si je connaissais un agrégateur et lecteur de vidéos auto-hébergé. Après avoir parlé des classiques Plex, Emby, Jellyfin, Kodi, j’ai compris que c’était comme prendre un tank pour aller chercher le pain… vu qu’il s’agissait d’avoir une interface de lecture de vidéos X.
Le fait est que je n’ai rien trouvé de probant, simple, assez récent, puis ça m’a saoulé. J’ai donc créé MiniVid, présenté ici et dont le code est publié sur GitHub !
Bien évidemment, ça s’adapte parfaitement à d’autres vidéos comme des clips, documentaires, téléchargements YouTube, Twitch etc.
MàJ du 05.09.25 : j’ai publié le Docker sur GitHub, y’a plus à build localement, vous pouvez utiliser ghcr.io/aerya/minivid:latest
MàJ du 08.09.25 : j’ai ajouté un script Windows-MiniVid.cmd – Il installera si nécessaire Docker Desktop sur la machine,
– Guidage complet pour la configuration de MiniVid (édition complète disponible),
– Ajout de dossiers locaux comme distants (SMB/CIFS avec ou sans user:pwd).
📂 Navigation par dossiers
Accédez à vos vidéos avec une arborescence claire.
🔖 Tags automatiques extraits des noms de fichiers
Tags globaux par dossier
Tags individuels par fichier
Multi-sélection et recherche par tags
Blacklist configurable pour supprimer les mots inutiles (and, the, source, etc.)
🔍 Recherche avancée
Par nom de fichier
Par tags multiples
Par favoris
Par statut Lue / Non lue
🗂 Filtres et tris personnalisables
Nom
Taille
Date de modification
Statut Lues / Non lues
⭐ Favoris
Marquez vos vidéos d’un clic (★)
Accédez à la vue dédiée « Favoris »
🎥 Lecteur intégré (HTML5 natif)
Supporte mp4, webm et mkv (Chrome/Chromium)
Les fichiers non compatibles avec Firefox (.mkv, .avi, .flv, .m2ts) sont automatiquement basculés en remux/transcodage à la volée avec ffmpeg si activé
🖼 Miniatures automatiques
Générées avec ffmpeg
Capture par défaut à 5 secondes (pour éviter logos/intro)
Ajustable via variables (MINI_THUMB_OFFSET, MINI_THUMB_MAX)
📱 Interface responsive
Desktop, tablette et mobile
🌙 Mode clair / sombre
Bascule instantanée
🛠 Page Maintenance
Rescan complet de la bibliothèque
Purge des miniatures
Journal d’événements en direct (logs des actions)
⏱ Scan automatique
Toutes les heures par défaut
Intervalle configurable via MINI_SCAN_INTERVAL
🔐 Authentification optionnelle
Mode public ou mono-utilisateur avec identifiant/mot de passe
⚙ Configuration simple
Tout se règle via variables d’environnement dans votre docker-compose.yml
Variable
Valeur par défaut
Description
MEDIA_DIRS
(vide)
Liste des dossiers vidéos (séparés par `
MEDIA_NAMES
Dossier 1, Dossier 2…
Noms affichés pour chaque dossier (même ordre que MEDIA_DIRS)
MINI_ALLOWED_EXT
.mp4,.webm,.mkv,.avi,.flv,.m2ts
Extensions autorisées
MINI_BANNED_TAGS
(vide)
Liste de mots à ignorer lors de la génération de tags (and,the,source,…)
DATA_DIR
/data
Dossier de stockage interne (état, favoris, prefs)
THUMB_DIR
/cache/thumbs
Dossier cache des miniatures
MINI_USER
(vide)
Identifiant de connexion (optionnel)
MINI_PASS
(vide)
Mot de passe de connexion (optionnel)
SECRET_KEY
(aléatoire)
Clé de session Flask (authentification)
MINI_PLAYBACK
direct
Mode lecture : direct, auto, remux
MINI_TRANSCODE
0
Autoriser le transcodage H.264/AAC (1 = oui, 0 = non)
MINI_FIREFOX_MKV_FALLBACK
1
Force le remux des .mkv dans Firefox
MINI_AUTOSCAN
1
Activer le rescan automatique (1 = oui)
MINI_SCAN_INTERVAL
3600
Intervalle entre scans auto (en secondes)
MINI_THUMB_OFFSET
5
Seconde du screenshot miniature
MINI_THUMB_MAX
30
Offset max (si vidéo longue)
MINI_FFPROBE_TIMEOUT
10
Timeout en secondes pour ffprobe/ffmpeg
API_READ_KEY
(vide)
Clé API (optionnelle) pour accès en lecture seule
Pour l’installation et la configuration, reportez-vous au dépôt GitHub.
Exemple de docker-compose.yml
services:
minivid:
image: ghcr.io/aerya/minivid:latest
container_name: minivid
restart: always
environment:
TZ: Europe/Paris
MEDIA_DIRS: /videos1|/videos2|/videos3|/videos4|/videos5
MEDIA_NAMES: ruTorrent|MeTube|Docs|Concerts|Tests formats vidéo
DATA_DIR: /data
THUMB_DIR: /cache/thumbs
MINI_ALLOWED_EXT: .mp4,.webm,.mkv,.avi,.flv,.m2ts
MINI_PLAYBACK Mode de lecture : auto
MINI_TRANSCODE: 1
MINI_FIREFOX_MKV_FALLBACK: 1
MINI_THUMB_OFFSET: 5
MINI_THUMB_MAX: 30
MINI_AUTOSCAN: 1
# Auth (prises du .env ; si vide => pas d'auth)
MINI_USER: ${MINI_USER}
MINI_PASS: ${MINI_PASS}
SECRET_KEY: 032cb57bd9a0ed97c62a46518aaa3cf2ka9d256da92e17e75e75d282ad5cda87
# Liste noire tags (les mots de moins de 3 lettres sont automatiquement bannis)
MINI_BANNED_TAGS: >
and,the,source,video,videos,vid,vids,film,movie,part,
les,une,des,ils,elles,sur,sous,dans,par,pour,sans,avec,chez,
cet,cette,ces,mon,mes,ton,tes,ses,notre,nos,votre,vos,leur,leurs,
qui,que,quoi,dont,quand,comme,
your,they,for,with,without,into,onto,about,this,that,these,those,
here,there,then,than,are,was,being,been,have,had,just,only,
over,under,very,more,most,less,were,com,net
volumes:
- /mnt/user/rutorrent-direct:/videos1:ro
- /mnt/user/MeTube:/videos2:ro
- /mnt/user/TEST/Docs:/videos3:ro
- /mnt/user/TEST/Concerts:/videos4:ro
- /mnt/user/TEST/Formats:/videos5:ro
- /mnt/user/appdata/MiniVid/data:/data
- /mnt/user/appdata/MiniVid/cache:/cache
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
ports:
- "8080:8080"
# Scan toutes les INTERVAL secondes
minivid-scheduler:
image: curlimages/curl:8.10.1
container_name: minivid-scheduler
depends_on:
- minivid
restart: always
environment:
APP_URL: ${APP_URL}
MINI_USER: ${MINI_USER}
MINI_PASS: ${MINI_PASS}
INTERVAL: ${INTERVAL}
command: >
sh -c '
set -eu;
for i in $(seq 1 60); do curl -fsS "$APP_URL/maintenance" >/dev/null 2>&1 && break || sleep 2; done
while :; do
if [ -n "$MINI_USER" ] && [ -n "$MINI_PASS" ]; then
# login (remember=on)
curl -sS -c /tmp/c.jar -X POST "$APP_URL/login" \
-d "username=$MINI_USER" -d "password=$MINI_PASS" -d "remember=on" -o /dev/null || true
if curl -sS -b /tmp/c.jar "$APP_URL/api/maintenance/progress" | grep -qi "\"running\"\\s*:\\s*true"; then
sleep 120
else
curl -m 5 -sS -b /tmp/c.jar -X POST "$APP_URL/api/maintenance/rescan" -o /dev/null || true
fi
else
curl -m 5 -sS -X POST "$APP_URL/api/maintenance/rescan" -o /dev/null || true
fi
sleep "$INTERVAL"
done
'
Exemple de .env
# URL interne du service
APP_URL=http://minivid:8080
# Auth (laisser vide pour désactiver l'auth)
MINI_USER=admin
MINI_PASS=admin
# Fréquence en secondes (3600 = 1h)
INTERVAL=3600
L’indexation des fichiers se fait à la volée au 1er lancement, plus ou moins rapidement selon la quantité de vidéos et le CPU. Le transcodage sous Firefox/LibreWolf peut faire souffrir le CPU sur une petite machine, je ne l’ai pas optimisé vu qu’il est plus rapide de passer par un autre navigateur.
Aucun appel externe, tout est 100% local. Fonctionne en http://IP:port comme en reverse proxy.
Vivaldi dit "non" à l'IA dans son navigateur. C'est celui que j'utilise depuis quelques années sur Android et j'en suis très satisfait, il fait le taff.
Je continue mon tour d’horizon des solutions de streaming à la carte, légales ou non selon les pays, et qui permet de se créer et maintenir une bibliothèque multimédia sans stockage local.
Je n’aborderai pas publiquement les solutions de streaming depuis des .nzb directement.
Je vais détailler ici l’installation manuelle de Decypharr, Prowlarr et Radarr/Sonarr/Plex mais tout est notamment inclus dans le script SSDv2 (avec une grosse et belle nouveauté à venir).
J’en profite pour remercier Laster13 et Teal-C pour leurs réponses à mes questions.
La dernière mouture de Decypharr embarque rClone et sa configuration sera automatisée. Mes tests sont réalisés avec Prowlarr et des indexeurs FR publics dont YGG via « api.eu », le débrideur AllDebrid ; et je ne « tape » que dans le contenu en cache chez AD (donc aucun téléchargement). Verdict : RàS pour les films, quelques saisons de séries manquantes uniquement dans le cache, OK avec le téléchargement.
Le plus important est de bien comprendre que si on demande aux *arrs d’organiser les bibliothèques dans /mnt/Bibliothèques, ils ne vont y mettre que des symlinks vers le montage rClone d’AllDebrid (/mnt/decypharr). Les *arrs, pour traiter les fichiers, tout comme Plex (ou autre) pour leur lecture, doivent avoir accès à ce montage rClone. C’est pourquoi il est impératif de monter ce dossier en volume pour chaque Docker devant y avoir accès.
Bibliothèques : dossier racine pour les *arrs Data/rCloneCache : j’avais déjà le dossier pour autre chose, j’utilise le même
decypharr/alldebrid : montage de mon compte AD decypharr/qbit : dossier de téléchargement (simulé) des fichiers. Les sous-dossiers radarr/sonarr seront ajoutés automatiquement lors de la configuration de Decypharr (tags)
Il faut installer et lancer Decypharr avant le reste vu que tout dépend ensuite du montage du débrideur et des symlinks. Idem s’il faut relancer le Docker Decypharr, il faut relancer les autres ensuite.
/mnt/decypharr/qbit devant être commun aux *arrs et Plex, on y montera /mnt:/mnt dans chaque ainsi que /mnt/decypharr/qbit:/mnt/decypharr/qbit dans les *arrs qui sauront directement où aller chercher les fichiers à traiter.
La configuration n’est pas vraiment expliquée dans la doc, la mienne n’est peut-être pas optimale mais fonctionne.
Je n’ai rien modifié dans l’onglet général. J’ai testé les notifications Discord (attention on voit la passkey des trackers utilisés) mais y’a vraiment pas d’intérêt si on ne fait qu’utilise le cache du débrideur (pas de téléchargement).
Pour la partie débrideur, on fait notre choix, on colle une clé API (ou plusieurs) et j’ai configuré le montage dans
/mnt/decypharr/alldebrid/__all__
On peut ajouter plusieurs débrideurs. On pourra les attribuer à un *arr lié à Decypharr et même les sélectionner lors de l’ajout manuel d’un .torrent
J’utilise le WebDav et je NE COCHE PAS la case Download Uncached pour qu’il ne télécharge aucun fichier (sur AD) mais n’utilise que son cache. Je fais ça parce que je voulais tester le cache d’AD et ne voulais pas télécharger des fichiers sans les partager. On peut tout à fait faire les 2 mais attention, il n’y aura pas de seed (donc ratio 0). A ne pas faire chez les Tier 1 sous peine de voir son compte banni ! Certains ont créé des scripts qui captent les .torrent utilisés pour les mettre en seed depuis un client local ou sur un serveur. Dans ce cas, Decypharr est utilisable sans crainte sur les trackers privés.
Configuration du client qBittorrent émulé. Je met le chemin qui correspond au volume local dont je parlais au début
/mnt/decypharr/qbit
On peut ajouter les *arrs soit depuis Decypharr soit depuis les *arrs eux-mêmes. Je n’ai qu’AD en débrideur j’ai donc laissé la sélection auto mais on peut choisir. Par exemple Radarr sur AD et Sonarr sur RD ou Sonarr4K sur TB etc. Selon les goût de chacun. Ce qui est certain, c’est que le cache de contenu MULTi/FRENCH est évidemment plus important sur AD et RD que sur TB, principalement utilisé par les anglophones pour Stremio.
Le Repair est le contrôle et la réparation des symlinks. Qui peuvent être cassés si le contenu lié est effacé du débrideur. Dans ce cas, selon la config, ça peut soit rechercher sur le débrideur (si le fichier a été renommé, vu que ça fonctionne avec le hash et non le nom) soit ça ira chercher un autre .torrent via les *arrs. Pour l’instant je laisse l’option par défaut à savoir « per torrent » mais il est peut-être préférable d’utiliser « per file ». Dans le cas d’un .torrent de saison complètement, que ça ne recherche que l’épisode manquant (du cache) plutôt que de tout relancer. Je l’ai mis en autotmatique, toutes les 24h.
Et enfin la partie rClone. Le monte globalement dans /mnt/decypharr et souhaite utiliser un cache (100Go) dans un dossier (et disque) qui me sert déjà à ça : /mnt/Data/rCloneCache On peut sans doute améliorer cette configuration mais Plex lit un fichier de 94Go sans broncher…
Avec le mode de téléchargement activé, voici le rendu. PausedUP signifie que le .torrent est complété (et de fait plus en seed).
Je ne montre que l’exemple de configuration de Radarr. Pour Sonarr c’est la même logique. Chez moi c’est derrière un VPN pour des interrogations de sources hors Prowlarr et NZBHydra, il n’y a donc pas de port de publié. Je retire tous les volumes par défaut pour ne monter que /mnt/decypharr/qbit:/mnt/decypharr/qbit et /mnt:/mnt
Configuration du dossier racine : /mnt/Bibliothèques/Films
Configuration du client de téléchargement si on n’a pas ajouté Radarr depuis Decypharr. Il faut sélectionner qBittorrent
Et dans l’adresse il faut mettre l’URL (ou l’IP) de Decypharr et le port (et SSL si vous utilisez une URL et un reverse proxy). Le nom d’utilisateur et le mot de passe sont l’URL de Radarr et sa clé API. La catégorie : radarr (et donc sonarr pour Sonarr ofc!)
Ne surtout pas cocher la case Sequential Order (sinon ça DL localement)
Et comme le même chemin/volume est monté dans chaque Docker, il n’y a aucun Remote Path Mapping à mettre
Lors de l’ajout d’un film, la complétion est quasi instantanée pour peu que le fichier cherché soit déjà dans le cache d’AllDebrid. Si vous activez le téléchargement des fichiers non encore en cache, ça peut prendre quelques minutes.
En regardant de plus près, on voit bien que c’est un symlink vers le cache d’AllDebrid
aerya@StreamBox:/mnt/Bibliothèques/Films$ ls -l Alien\ -\ Romulus\ \(2024\)/
total 4
lrwxrwxrwx 1 root root 208 Aug 25 18:55 Alien.Romulus.2024.MULTi.VFF.2160p.UHD.BluRay.REMUX.DV.HDR.HEVC.TrueHD.7.1.Atmos-ONLY.mkv -> /mnt/decypharr/alldebrid/__all__/Alien.Romulus.2024.MULTi.VFF.2160p.UHD.BluRay.REMUX.DV.HDR.HEVC.TrueHD.7.1.Atmos-ONLY/Alien.Romulus.2024.MULTi.VFF.2160p.UHD.BluRay.REMUX.DV.HDR.HEVC.TrueHD.7.1.Atmos-ONLY.mkv
ncdu 1.19 ~ Use the arrow keys to navigate, press ? for help
--- /mnt/Bibliothèques/Films/Alien - Romulus (2024)- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@ 4.0 KiB [###################################################] Alien.Romulus.2024.MULTi.VFF.2160p.UHD.BluRay.REMUX.DV.HDR.HEVC.TrueHD.7.1.Atmos-ONLY.mkv
Plus globalement, tous les fichiers sont bien chez AllDebrid, monté via WebDav/rClone et je n’ai localement que des symlinks qui ne prennent aucune place. En théorie, on pourrait se faire cette installation sur une Carte MicroSD de quelques Go
ncdu 1.19 ~ Use the arrow keys to navigate, press ? for help
--- /mnt ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
15.9 TiB [###################################################] /decypharr
4.0 MiB [ ] /Bibliothèques
Pour terminer, la configuration de Plex. Toujours avec /mnt:/mnt de monté pour garantir l’accès aux symlinks.
Un guide de sécurisation et de maximisation de la vie privée sur Android, tout en gardant un équilibre entre utilisabilité du système et protection trop contraignante à l'usage.
Un emulateur windows qui tourne sur android. On peut faire tourner des jeux windows sur Android.
Mon collègue fait tourner GTA IV sur son smartphone, et ça a l'air de passer pour moi aussi, compatible Steam.... (Permalink)
Il n'est pas toujours aisé de s'y retrouver dans les ROM pour Android entre GrapheneOS, /e/, LineageOS, etc. Ce comparatif permet d'y voir plus clair en matière de vie privée, de sécurité et d'autres critères.
Sans surprise pour ma part, GrapheneOS se hisse au-dessus du lot (cf. liens partagés par le passé dans mon Shaarli). Mais il ne supporte que les Google Pixel, alors si vous avez un smartphone d'une autre marque, il faudra partir sur une autre ROM.
Le même auteur a publié d'autres comparatifs, en entête de la page.