La Brocante du Web 2025#38

Voici la sélection d'articles, projets et vidéos repérés cette semaine.

J'ai un bon vieux Raspberry Pi 2 qui me sert juste à faire tourner DnsMasq pour le DHCP.
Je suis en train de tenter l'upgrade automatique en Debian 13, la flemme de réinstaller from scratch.
Direct Calls for Death and Public Executions:
vid{56af2ca8f75d51c405f4e500d36f4675bad893c47f64870219b82dcae6a62213}
— Permalink
Crawler Baidu
IP : 47.79.[196|218|219].X
Fréquences des visites : Visite par grosse vague, ~700 à 2500 appels par minute
Référer : "https://www.google.com/"
User agent : random
Exemple d'user agent utilisé :
"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Mobile Safari/537.36"
"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 OPR/116.0.0.0"
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36"
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36 Edg/133.0.0.0"
"Mozilla/5.0 (Linux; arm_64; Android 14; SM-A346E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.1012 YaSearchBrowser/24.125.1 BroPP/1.0 YaSearchApp/24.125.1 webOmni SA/3 Mobile Safari/537.36"
"Mozilla/5.0 (Linux; Android 12; Infinix X6817) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Mobile Safari/537.36"
— Permalink
Encore une arnaque.
Encore une fois, on observe un déséquilibre entre propriétaire et locataire... Qui dessert en effet les propriétaires cette fois-ci.
Le problème ? Dossier-Facile.
La solution ? Dossier-Facile.
Dossier-facile permet de certifier qu'on est bien le locataire en question, qu'on possède les ressources adéquates, ou que nos garants les ont.
Avec juste une URL, n'importe qui peut télécharger notre "vie" : nos contrats de travail en détail, nos 3 dernières bulletins de paie, notre avis d'imposition... Bref, tout. En plus c'est certifié par l'état.
Il faudrait que le propriétaire fasse de même (sans bulletin de salaire, ni contrat de travail), mais avec le titre de propriété du bien, avec son adresse exacte, les dimensions exacte du bien, quelques détails obligatoires (cave, balcon, piscine)...
Bref un équilibre entre le locataire et le propriétaire est nécessaire. Enfin, tout le monde aura un historique de visite de "qui" a vu "quoi".
Ainsi plus de problème d'appart qui n'existe pas, ou d'usurpation d'identité en se faisait passer pour un autre "vrai" locataire afin de squatter un bien d'exception.
Donc, petit message subliminal à nos chers législateurs.
Ah mais j'oubliais... "3,5% des ménages détiennent 50% des biens mis en location".
Donc ils font ce qu'il veulent.
Source : https://www.radiofrance.fr/franceinter/logement-3-5-des-menages-detiennent-50-des-biens-mis-en-location-selon-une-etude-d-oxfam-2753920
le gouvernement qui nous avoue qu'ils essayent même plus et pose un plan pour se préparer à un réchauffement de +4°C
spoiler avec un tel réchauffement on déclenche tous les points de basculement climatiques en cascade et l'agriculture n'est plus possible parce que plus aucune plante ne pousse.
vid{56af2ca8f75d51c405f4e500d36f4675bad893c47f64870219b82dcae6a62213}
— Permalink
Srop le revisipnnisme: https://cakeozolives.com/shaarli-antichesse/?Aj_QZA
Regardez il a peut etre pas dit ci-ou ça.
Dans l'ensemble ça reste une neonazi qui profitait de ses capacités oratoires pour "débatre" avec de jeunes étudiants.
Quelques quotes verifiées:
"vaccine mandates for students amount to “medical apartheid”"
"Submit to your husband…You’re not in charge.”
"The 1964 Civil Rights Act was a ‘huge mistake’.”
Perso je ne vois pas comment on peut soutenir une personne comme ça et essayer de le réhabiliter.
C'est du plein révisionisme et prouve pour moi une volonté
claire de refuser de s'informer sur ce qui pourrait contre dire sa vision (c'est à une recherche ces facts checks).
Je ne poste jamais sur du politique ici habituellement mais l a pour moi on passe une limite. C'est de la désinformation pure et dure.
vid{5252f6cedd2897eb38c2689aeca150a93eb2fa048d3548bafc6ed126fa74a213}
— Permalink
Script à ajouter dans l'extension Actions & Tags de Zotero permettant de supprimer les marqueurs tout en conservant certains d'entre eux
Astuce : en commentant les 2 lignes qui affichent une fenêtre pendant la suppression, cela évite de devoir cliquer des centaines, voire des milliers de fois sur OK.
// Delete tags, based on Replace tags
// This script removes all tags from the specified Zotero items, except those in the ignore list.
// add tags you wish to keep to `ignoreTags` list, the list is prefilled with two examples
(async () => {
const ignoreTags = ['#GoldSet', '#ClinicalTrials.gov', '#Cochrane Central', '#Embase', '#Medline', '#Proquest', '#Web of Science', '#WHO ICTRP'];
// ^^^^^ Add tag names here to ignore. ^^^^^^^
// Initialize `targetItems` to the array of `items`, or if `items` is undefined,
// use the single `item` wrapped in an array. If neither exists, default to an empty array.
let targetItems = items || (item ? [item] : []);
// Show an alert message
// await Zotero.alert(null, "Delete all tags except ignored ones");
// Iterate over each item in the `targetItems` array.
for (const currentItem of targetItems) {
// Retrieve all tags associated with the current item.
// Use `.getTags()` to get tag objects, and map to their `tag` property to get tag names.
const tags = currentItem.getTags().map(tag => tag.tag);
// Iterate over each tag in the list of tag names.
for (const tag of tags) {
// Check if the tag is in the ignore list.
if (ignoreTags.includes(tag)) {
// Alert the user that the tag is being skipped.
// await Zotero.alert(null, `Tag "${tag}" is in the ignore list and will not be deleted.`);
continue;
}
// Remove the tag from the current item using `.removeTag()`.
await currentItem.removeTag(tag);
}
}
// The script finishes here.
})(); Une ancienne version de Decypahrr permet de l’utiliser avec Usenet. Non maintenue, je ne recommande pas de s’en servir pour BitTorrent.
J’ai testé sur une petite machine et ça marche mais ça consomme 100% de mon CPU en cas de transcodage couplé au téléchargement sur Usenet. Mais c’est fonctionnel avec les .nzb compatibles (pas de mot de passe, par d’archive).
À l’époque j’avais Usenet-Drive ou encore nzbDAV sur un serveur plus robuste et ça passait très bien même en avance rapide.
Nous sommes dans le cas d’un montage de .nzb « streamable », il n’y a donc aucun debrideur à ajouter.
Le compose que j’utilise build le Dockerfile puisqu’il n’y a pas d’image de publiée et s’occupe du montage rClone du WebDav, celui-ci n’étant pas inclus dans l’interface.
Il faut au préalable avec sa config rClone, qu’on peut créer à la main dans rclone.conf :
[decypharr-usenet]
type = webdav
url = http://192.168.0.163:2828/webdav/usenet
vendor = other
user = ""
pass = ""
URL : l’IP et le port de la WebUI de Decypharr tel qu’indiqué dans le compose
Ici je n’utilise pas de user:pwd pour l’accès à la WebUI de Decypharr. Si vous voulez le faire, il faut y mettre un pwd chiffré :
rclone obscure mon-mot-de-passe
Et donc mon compose
services:
decypharr-usenet:
image: decypharr:usenet
container_name: decypharr-usenet
build:
context: https://github.com/sirrobot01/decypharr.git#usenet
dockerfile: Dockerfile
restart: always
cap_add:
- SYS_ADMIN
security_opt:
- apparmor:unconfined
ports:
- 2828:8282
volumes:
- /mnt/decypharr-usenet:/mnt/decypharr-usenet:rshared
- /home/aerya/docker/decypharr-usenet/configs/:/app
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
devices:
- /dev/fuse:/dev/fuse:rwm
rclone-mount:
image: ghcr.io/rclone/rclone:latest
container_name: decypharr-usenet-rclone
depends_on:
- decypharr-usenet
devices:
- /dev/fuse
cap_add:
- SYS_ADMIN
security_opt:
- apparmor=unconfined
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
volumes:
- /home/aerya/docker/decypharr-usenet/config/rclone:/config/rclone
- /mnt/decypharr-usenet:/mnt/decypharr-usenet:rshared
- /mnt/:/mnt/
ports:
- 5575:5575
restart: always
command:
- mount
- "decypharr-usenet:"
- /mnt/decypharr-usenet
- --config=/config/rclone/rclone.conf
- --log-file=/config/rclone/rclone.log
- --async-read=true
- --allow-non-empty
- --no-modtime
- --allow-other
- --rc
- --rc-no-auth
- --rc-addr=0.0.0.0:5575
- --cache-dir=/mnt/Data/rCloneCache
- --vfs-cache-mode=full
- --vfs-cache-max-age=1h
- --vfs-cache-max-size=50G
- --dir-cache-time=5m
- --vfs-cache-poll-interval=1m
- --vfs-read-chunk-size=128m
- --vfs-read-chunk-size-limit=128m
- --vfs-read-ahead=256k
- --buffer-size=10m
- --umask=002
networks: {}
Je pense que les paramètres de montage de rClone peuvent s’optimiser. Pour l’instant je ne fais pas plus de tests.
La configuration de Decypharr est simple : ajouter un indexeur Usenet et les chemins de téléchargement (le WebDAV)



Une fois Decypharr configuré et le tout relancé, j’ai bien mon montage
root@StreamBox:/mnt# df -H
Filesystem Size Used Avail Use% Mounted on
tmpfs 824M 4.3M 819M 1% /run
/dev/sdb2 251G 183G 56G 77% /
tmpfs 4.2G 0 4.2G 0% /dev/shm
tmpfs 5.3M 8.2k 5.3M 1% /run/lock
/dev/sda1 472G 108G 341G 25% /mnt/Data
tmpfs 824M 115k 823M 1% /run/user/1000
decypharr-alldebrid 1.2P 0 1.2P 0% /mnt/decypharr/alldebrid
decypharr-usenet: 1.2P 0 1.2P 0% /mnt/decypharr-usenet
Avec les contenus de tests
root@StreamBox:/mnt# tree decypharr-usenet/
decypharr-usenet/
├── __all__
│ ├── 28.Years.Later.2025.MULTi.VFQ.Hybrid.2160p.UHD.BluRay.REMUX.CUSTOM.DV.HDR10Plus.HEVC.TrueHD.7.1.Atmos-ONLY
│ │ └── bd7925555a625f9db23d7ddf2ae4cfe64fc8c250d5d308.mkv
│ ├── Barbie.2023.MULTi.VF2.HDR.DV.2160p.WEB.x265-FW
│ │ └── daec752aec35c12cca5178469508afb58b7dbebfb93ef6e139cf.mkv
│ ├── Demolition.2015.MULTi.TRUEFRENCH.1080p.BluRay.REMUX.AVC.AC3.DTS.HDMA.5.1-PATOMiEL
│ │ └── lHWf3M0BMGkf.mkv
│ ├── Final.Destination.Bloodlines.2025.MULTi.TRUEFRENCH.1080p.BluRay.x264-Ulysse
│ │ └── ee3d99f582465188bdb26588adcd67846f9e410d2a128fc072b9596f0b035e.mkv
│ ├── Superman.2025.MULTi.VFQ.2160p.Bluray.REMUX.DV.HDR10.HEVC-BDHD
│ │ └── 6641c6843c54ea19333837ac52c889d991363f2303.mkv
│ ├── The.Electric.State.2025.MULTi.HDR.2160p.WEB.H265-LOST
│ │ └── 32f2be574e0ef3edaf3e547771d04a003129.mkv
│ └── V.H.S.Viral.2014.MULTi.1080p.WEB.H264-SUPPLY
│ └── 5c27f2c7ca6d9f3d26a749c23a43f0e6cd0470b9fd87.mkv
├── __bad__
└── version.txt
10 directories, 8 files
On peut d’ailleurs, comme pour la version BitTorrent, parcourir le WebDAV depuis Decypharr

Le tout est accessible depuis Jellyfin. Et on peut configurer les *arrs avec ce WebDAV comme expliqué dans mon tutoriel sur Decypahrr « normal ».
Pour ce test j’y suis allé à l’arrache et ai monté directement /mnt/decyphrarr-usenet en médiathèque sous Jellyfin

Sans transcodage, donc qu’avec le téléchargement Usenet, ça passe bien (Jellyfin sous LibreWolf).


En revanche avec un 2160p en transcodage mon serveur ne fait pas le poids


Tout ça pour dire que cette mouture de Decypharr est plus un PoC, certes fonctionnel, qu’un acteur majeur et durable du segment du streaming de .nzbs.
![]()
Perso, je trouve énorme que :
Limite, le voleur "pourrait" ouvrir un site web, comme une concession.
Rigolez pas. Je pense que c'est déjà fait...