Autoblog de Mitsukarenai

Ce site n'est pas le site officiel de Mitsukarenai
C'est un blog automatisé qui réplique les articles de suumitsu.eu

Caméra de sécurité avec smartphone

Mon, 07 Nov 2016 10:57:51 +0000 - (source)

Après avoir lu l’article de Numérama à propos de AtHome, une app Android permettant de faire une caméra de sécurité avec un smartphone, j’ai fait quelques tests et… n’ai pas été très satisfait·e. J’y vois surtout l’utilité pour « garder un œil » sur Bébé pendant son dodo dans sa chambre tout en restant sur le canapé au salon. Les fonctions d’enregistrement etc sont payantes, bien sûr.

Alors j’ai cherché et testé d’autres applications, et ce qui répondait le mieux à mes attentes est IP Webcam couplé avec Filoader.

La configuration est relativement facile mais très complète, il faut nécessairement tester (notamment pour vérifier si la batterie tient la charge !). Tout dépend du smartphone, donc je ne peux que détailler ma config:

L’application  intègre un serveur web, on peut donc consulter la caméra avec un navigateur web, ou VLC, ou plein d’autres options. C’est notamment très pratique pour tester le calibrage de la détection de mouvement ou audio. Flash, vision nocturne, focus, zoom, capture photo, … très pratique. NB: l’accès n’est pas protégé par mot de passe !

 

dfgs

Bon, étape suivante. L’application découpe les enregistrements en séquences de 60 minutes horodatées. Quel est mon besoin ? Je veux mettre en place un dispositif contre les cambriolages. Le flux est trop lourd pour un envoi via internet (j’ai pas la fibre), ça fait du ~100 ko/s montant en permanence, et surtout… une caméra d’intérieur, on veut vraiment pas que ça atterrisse sur un serveur extérieur qu’on ne contrôle pas.

J’ai un serveur NAS, mais dans l’hypothèse d’un cambriolage il se ferait embarquer aussi. Et laisser les enregistrements sur le téléphone implique devoir périodiquement le manipuler. La meilleure solution: .. la Freebox. Il y a de bonnes chances qu’un cambrioleur s’en désintéresse, et elle contient un serveur FTP, et un contrôle parental pour refuser tout accès internet au téléphone. Très bien ! Toutes les heures, le téléphone envoie les enregistrements par FTP sur la Freebox.

À raison de ~300 Mo par heure de jour, et ~50 Mo par heure de nuit, ça nous fait… environ 6 Go d’enregistrements par jour en moyenne. Avec 240 Go dispo dans la Freebox, ça nous fait facilement 1 mois d’archives.

En outre, j’intègre dans mon script de sauvegardes une petite fonction à base de curlftpfs et find pour supprimer les fichiers de plus de 6 jours. Vu que j’exécute ce script manuellement, j’ai pas à craindre de vidange automatique malheureuse d’enregistrements intéressants.

Enfin… dissimuler le téléphone. Pour ce faire, j’ai utilisé un petit carton dans lequel j’ai percé un trou pour l’objectif, et dans sa face intérieure j’ai collé une pochette bricolée dans laquelle je glisse le téléphone. J’ai aussi coupé un « canal » au cutter pour faire passer le câble du chargeur en dessous et derrière le carton, d’où il descend un meuble jusqu’à la prise électrique. Discret, anodin, efficace 🙂  Période d’observation et test, vérifier si le téléphone surchauffe pas, s’il consomme moins que la vitesse de charge de la batterie, …

Et voilà ^^

Note de fin: c’est un sentiment un peu bizarre, je me sais « observé » par une caméra même si c’est moi qui en ai le contrôle. J’ai mis cela en place dans l’hypothèse d’un cambriolage sachant que je m’en voudrais d’avoir eu la possibilité technique d’avoir la tronche de l’auteur, le cas échéant. Et pourtant. Je sais mon sentiment complètement irrationnel, sachant que tout smartphone allumé est un potentiel micro-caméra espion contenant pléthore de capteurs divers et données pouvant servir à traquer la vie privée de l’utilisateur, et un smartphone allumé, bah.. j’en ai un de toute manière.


Sur la haine

Mon, 01 Aug 2016 20:49:10 +0000 - (source)

CNGBcioXAAA8IBE


Du nécessaire débat sur la réduction du labeur humain

Sat, 27 Feb 2016 16:59:03 +0000 - (source)

Sentiment étrange que de voir une corrélation entre le prolongement de l’état d’urgence en France, et la présentation d’un avant-projet de loi de réforme du code du travail quelques jours plus tard. Entre d’un côté l’interdiction possible de manifestations publiques même pacifiques, et de l’autre un texte au contenu proprement hallucinant, porté par une ministre déjà écornée dans « l’opinion publique » par sa méconnaissance du nombre de renouvellements possibles d’un contrat à durée déterminée.

Mais passons. Je laisse à mes confrères et consœurs blogeurses le soin d’entrer dans les détails de cet avant-projet de loi travail, expliquant en quoi il s’agit d’un recul des droits sociaux, un renforcement de la précarité des classes pauvres et moyennes, un suicidaire message politique, et surtout un non-sens économique même dans les modèles du XXe siècle. Et ce d’autant plus que je n’aurais pas à en subir les conséquences directes, mes dépendances financières étant peu rattachées à la santé commerciale et industrielle du pays. Je tenais à prendre de la hauteur, avoir une vue d’ensemble du présent, et pouvoir regarder vers les futurs possibles.

L’évolution technologique peut être motivée par deux grands objectifs, à des proportions variables: l’intérêt économique, et l’intérêt humain. Le capitalisme est souvent associé exclusivement (à tord) au progrès technologique, plaçant l’intérêt humain comme étant la conséquence de l’intérêt économique. On peut parfois voir de manière très explicite cette conception des choses, par exemple lorsqu’un producteur de disques affirme que sans vente de musique, les artistes ne pourraient pas en vivre et donc qu’il n’y aurait pas d’artistes. Mais c’est souvent ce producteur de disque là qui refuserait fermement les concepts comme les licences Creative Commons, alors que celles-ci renforcent les pouvoirs des artistes tout en donnant des libertés et droits au public.

Nous vivons une époque formidable. Car à défaut d’être joyeuse, elle nous amène à penser, à réfléchir, à remettre en question, à réinventer. Sous l’impulsion d’entreprises privées souvent, mais pas que. Régulièrement, je vois apparaitre ici une étude sur la proportion d’emplois qui seraient assurés par des robots, là une actualité sur les progrès réalisés par les concepteurs de voitures sans chauffeurs ou de drones de livraison. Le progrès technologique est exponentiel, au-delà d’une courbe suivant la loi de Moore, posant des défis bien plus difficiles et complexes qu’une simple mission habitée sur la planète Mars. Car c’est de modèles économiques et sociaux qu’il s’agit, touchant 8 milliards de créatures individuellement avides.

Je souriais récemment encore du conflit opposant l’entreprise Uber et ses chauffeurs VTC à l’entreprise G7 et ses taxis parisiens. L’entreprise Uber ne se développe pas bien du tout au Japon, vous savez pourquoi ? Parce que la clientèle est satisfaite du service des taxis pré-existant. Il n’y a donc pas de « rupture », pas de progrès sensible possible dans l’immédiat. Tandis qu’à Paris… je pourrais consacrer un article entier sur le nombre et la variété des critiques communément adressées aux taxis. Mais il ne faut surtout pas perdre de vue qu’Uber gère ses finances exactement comme Google, Amazon, etc: dégager une rentabilité maximale au plus vite, et réinvestir un maximum des bénéfices. Ainsi, l’entreprise paye peu d’impôts et peut développer de nouveaux produits. Un concept économique qui semble mieux marcher que le « modèle français » où pour développer un produit précis, une entreprise est choisie et touche des financements publics. Oui je pense à toi, feu « Cloud Souverain ». Toujours est-il qu’Uber investit tout ce qu’il peut dans la conception de voitures sans chauffeur, et bien qu’ils communiquent peu dessus (contrairement à Google), je pense vraiment qu’ils peuvent réussir à mettre au point un produit très fonctionnel et appuyer la modification de la législation pour permettre son usage, mieux que ce que pourrait faire Google ou Tesla ou Toyota. Ou plutôt: les uns la conception de la voiture, les autre la conception du logiciel. IBM et Microsoft. Une recette qui a déjà marché par le passé, pour un produit que le grand public attend impatiemment.

Ce matin, j’ai eu droit à une énième déception causée par La Poste. Et vous n’êtes épargnés de lire de lourdes injures publiques envers cette société que parce qu’ils effectuent, à l’heure actuelle, des essais de livraison par drone. Alors je voyais plus tôt ce jeune galérant sur son vélo jaune chargé de sacoches pleines de courriers non électroniques tandis qu’il montait une côte, et je me suis dit: « encore un petit boulot bientôt remplacé par des drones, capables de vous livrer courriers et colis à toute heure, directement chez vous, en moins de 10 minutes, à la demande de l’utilisateur ». Et puis Amazon qui conçoit aussi des drones et s’intéresse à tout ce qui est alimentaire, je me dis que livreur de pizzas est aussi un petit boulot appelé à disparaitre. Peut-être même que des géants tels McDonalds se retrouveraient avec des pieds d’argile…

Je regarde autour de moi, et je peine à trouver des boulots qui ne pourraient pas être assurés aussi bien voire mieux par des robots et l’IA. Même ce qui est artistique. Même ce qui est médical. Même ce qui est sexuel. Même ce qui est politique. Même ce qui est juridique. Même le présent blog pourrait être rédigé par une IA, reposant sur un réseau neuronal ayant analysé mes opinions passées voire la structure-même de mon cerveau afin d’en imiter et surpasser ma pensée. Tournis.

La logique du capitalisme repose sur la réduction des coûts. Les entreprises peuvent remplacer les employés humains par des employés d’IA, et elles vont le faire, massivement, très bientôt. À court terme, voici l’équation envisageable:

  1. le produit est crée, avec des coûts minimisés grâce à la robotique
  2. le produit est vendu très peu cher au grand public
  3. le grand public dépend financièrement d’un revenu universel réparti équitablement
  4. le revenu universel est alimenté par une taxe
  5. la taxe s’applique sur les revenus (et non les bénéfices) générés par l’entreprise faisant travailler des robots

Voici les éléments qui vont forcer l’application de ce genre de modèle:

L’inconnue là dedans, c’est la réaction de la population. En effet, « papy boom » oblige, de nombreuses personnes vont atteindre bientôt l’âge de la retraite. Or, il y aura (et il y a déjà) bien trop peu d’employés (et donc de cotisants) pour maintenir les caisses d’assurance retraite, et le renflouement par un Etat déjà déstabilisé par la baisse des impôts (notamment sur le revenu, décroissant) et des taxes (notamment la TVA, alors que les prix baissent). Pire: l’espérance de vie étant croissante et progrès médical aidant (cellules souches, tout ça), un papy-boomer peut raisonnablement s’attendre à passer la moitié de sa vie à la retraite. Le modèle actuel est catastrophique. Or, et c’est là que ça va faire mal:

Oui, la transition sera ressentie comme étant injuste envers eux. Malheureusement je ne vois pas beaucoup d’autres alternatives plus acceptables. Je vous laisse imaginer la conséquence d’une saisie arbitraire de tous les livrets d’épargne, par exemple, alors que les papy-boomers sont « assis dessus » en vue d’en faire un héritage pour leurs descendants, alors que l’héritage est un patrimoine très inéquitable. Or celles et ceux qui ont les livrets les mieux garnis sont aussi ceux qui touchent le plus de pension retraite, donc c’est peut-être par cette piste-là que le revenu universel de base serait accepté.

Quid du labeur humain donc, remplacé avantageusement par des robots ? Risque t-on de se retrouver dans une société fainéante et incompétente, dépendante des robots, gouvernée par les robots ? Question complexe.

Que les humains vont soudainement ne plus rien faire après que les robots soient capables de s’auto-améliorer, j’y crois pas un seul instant: les humains ne supportent pas l’ennui. À divers degrés, les humains ressentent le besoin d’apprendre, de découvrir, de créer notamment de l’art. N’étant plus enchainés au besoin économique, je prophétise que les humains auront le temps et l’envie d’apprendre, toujours davantage, et la robotique sera là pour développer toujours de nouvelles technologies qu’on pourra admirer et apprendre au quotidien. Ce qu’on y perdrait ? Disparition des prix Nobel, car plus d’humains à récompenser. À moins que le prix Nobel pourra récompenser des algorithmes, féliciter des robots. La profusion de connaissances et technologies sera telle que les humains vont se spécialiser d’eux-même par préférence personnelle, et donc l’humanité sera plus compétente que jamais, capable de restaurer toute son infrastructure en très peu de temps suite à un vent solaire ayant fait griller tous les robots par exemple, exactement comme une fourmilière qui répare les dégâts avec une efficacité déconcertante quand un enfant humain donne un coup de pied dedans.

Les humains, gouvernés par des robots ? Ne rigolez pas, on en a eu très récemment un prémisse en la personne de Jean-Luc Mélenchon, utilisateur et promoteur de NationBuilder. Si NationBuilder est à peine une IA d’assistance aux politiciens en campagne, l’idée d’un gouvernement entièrement IA est plausible… voire souhaitable. J’en ferais presque un slogan: imperium ex silicium.

Est-ce que notre génération saura relever ce défi ? Humains, surprenez-moi !


Sauvegardes incrémentielles avec Attic Deduplicating Archiver

Sun, 09 Aug 2015 23:05:06 +0000 - (source)

Attic est un programme Python développé par Jonas Borgström. Il permet de réaliser des sauvegardes incrémentielles, compressées, chiffrées et morcelées. Concrètement ça se passe ainsi:

  1. une première sauvegarde complète
  2. la seconde sauvegarde ne contient que les fichiers changés depuis la sauvegarde complète
  3. la troisième sauvegarde ne contient que les fichiers changés depuis la seconde
  4. la sauvegarde N ne contient que les fichiers changés depuis la sauvegarde N-1

Lors du processus de restauration, on peut choisir quelle sauvegarde restaurer. Un fichier a été effacé par erreur jeudi, la sauvegarde a lieu tous les vendredis, et on est samedi ? Pas de souci: on peut récupérer le fichier depuis la sauvegarde du vendredi de la semaine précédente.

Une sauvegarde, on en a quasiment jamais besoin. Mais c’est quand on en a besoin qu’on enrage de ne pas avoir fait de sauvegarde. Heureusement pour moi j’utilise différentes méthodes de sauvegarde afin de me donner une redondance double, je n’ai eu à faire appel à Attic qu’une seule fois, précisément pour une question de fichier effacé 3 semaines avant (sachant que mes sauvegardes locales sont des anti-hardware-crash hebdomadaires).

Mon cas

Dans ma stratégie actuelle, Attic a le rôle suivant:

/home → Attic → disque dur secondaire → Attic → DD sauvegarde 1 → DD sauvegarde 2
···································  → hubiC
···································· → Mega

Les dossiers utilisateur me sont en effet absolument précieux, il me les faut donc décompressés sur mes 2 disques durs externes de sauvegarde locale et chiffrés sur le DD secondaire et 2 services de stockage en cloud différents (pour pallier au risque d’arrêt du cloud).

Le détail sur les sauvegardes

Attic traite les données et les stocke dans un dépôt (repository). Ça peut être un dossier local, ou distant (avec sshfs, ou de Attic à Attic via ssh). Attic y stocke 3 fichiers importants:

X étant un chiffre que je devine être le nombre de morceaux traités. hints et index sont des blobs binaires sans doute chiffrés. Il s’agit ici des fichiers d’indexation des sauvegardes, Attic les inclut dans le dépôt ce qui est un bon procédé (contrairement à Duplicity qui les stockait dans .cache, ce qui provoque beaucoup de drames car sans ces index les sauvegardes sont difficilement exploitables)

Et puis il y a un dossier data, un/des sous-dossiers, et là dedans les morceaux des sauvegardes, avec comme nom des chiffres. Blobs binaires, de 5 Mo par défaut.

Usage de base

La documentation de Attic est très complète, sauf que.. en anglais seulement. Concrètement les commandes:

Quelques recommandations et incidents

Si vous envoyez vos sauvegardes sur un/des services externes, il est indispensable de les chiffrer. Pensez-y avant car cela est défini à l’étape d’initialisation du dépôt. Attic chiffre en AES-256 donc si vous avez une phrase de passe solide (20 caractères ou plus) ou un fichier-clé qui ne risque pas la corruption, vous êtes tranquille.

Les noms des points de sauvegarde: je vous recommande fortement d’indiquer la date.

Le dossier « data » et son contenu ne doivent pas être modifiés par d’autres programmes que Attic. Exemple: j’ai mentionné précédemment que j’utilise Mega, via le logiciel MegaSync (qui fait une synchro à double sens). Et bien puisque Attic prune (supprime) les points de sauvegarde anciens alors que MegaSync n’est pas lancé, ce dernier va au lancement suivant retélécharger les fichiers des points de sauvegardes supprimés ! Attic vous signalera une corruption du dépôt. Heureusement c’est facilement corrigé avec check –repair, Attic supprime les fichiers en trop et nettoie. Par rapport à ça, j’ai inclus dans mon script de sauvegarde un contrôle bloquant: tant que MegaSync n’est pas lancé et prêt à synchroniser les modifications qui seront apportées par Attic, Attic n’est pas exécuté.

Le chiffrement: l’utilisation d’un fichier-clé peut être dangereuse, car ce fichier doit impérativement ne jamais être altéré du moindre bit.. et si ce fichier est nommé « chiffrement-attic » ou autre truc explicite, n’importe qui ayant accès au PC devinera à quoi il sert et pourra accéder aux sauvegardes. C’est pourquoi je préfère les phrases de passe. Cependant j’automatise cela au sein du script avec la commande export ATTIC_PASSPHRASE, donc le script lui-même devient le point faible.

Mon exemple de script de sauvegarde

Il est exécuté par un script-maitre appelé par crontab, et procède tous les 6 jours.

#!/bin/bash
# restore: attic extract $REPOSITORY::(date)
# list: attic list $REPOSITORY(::date)
locker='~/Bureau/attic_cron.lock'
locker1='~/Bureau/please_start_megasync.lock'
locker2='~/Bureau/attic_working.lock'
timermaxage="518400"
sourcefolder='~/'
ATTIC_PASSPHRASE="Entrer ici une phrase de passe solide"
export ATTIC_PASSPHRASE
REPOSITORY='/tmp/home.attic'
timer="$REPOSITORY/timer"
curdate=$(date +%s)
if [ -f $timer ]; then
lastexec=$(stat -c %Y $timer)
echo "timer trouvé, lastexec: $lastexec"
else
lastexec="0"
echo "timer non trouvé"
fi
calcdiff=$(($curdate-$lastexec))
if [ -f $locker ]
then exit
else
touch "$locker"
if [ $calcdiff -gt $timermaxage ]; then
touch "$locker1"
ps ax | grep -v grep | grep megasync > /dev/null
while [ $? != 0 ]; do
sleep 1
ps ax | grep -v grep | grep megasync > /dev/null
done
rm "$locker1"
sleep 13 # on laisse un peu de temps pour connexion MegaSync
touch "$locker2"
attic create --stats $REPOSITORY::`date +%Y%m%d` $sourcefolder
attic prune -v $REPOSITORY --keep-daily=4
rm "$locker2"
touch "$timer"
fi
rm "$locker"
fi

Si vous n’utilisez pas MegaSync, vous pouvez zapper tout ce qui le concerne. Le timer et les verrous (locks) aussi si vous exécutez le script manuellement. Le timer de 518400 secondes ça correspond à 6 jours (le délai entre 2 points de sauvegarde).

Pour ce qui est d’Attic, il crée des points de sauvegarde nommés par exemple « 20150809 ». Avec la commande « attic list » il affiche pour chaque point de sauvegarde la date et l’heure précise, mais bon. Si les noms sont cohérents et prévisibles, faire des trucs comme l’extraction automatisée ça devient plus facile (ce qui se passe chez moi, la sauvegarde la plus récente (attic list $REPOSITORY | tail -n1 | head -c8) étant extraite vers mes disques durs externes  -au passage ça teste donc l’intégrité de la sauvegarde)

« attic prune » avec comme paramètre –keep-daily=4. J’ai besoin d’expliquer ? Cette commande supprime tous les points de sauvegarde précédents SAUF les 4 plus récents. Ce qui dans mon cas me donne une marge jusqu’à 4*6 = 24 jours d’historique, ça me convient.

Adaptez à votre sauce !


Chiffrement LUKS-dmcrypt et automontage

Sat, 21 Mar 2015 22:44:05 +0000 - (source)

Aujourd’hui, j’ai chiffré mon disque dur 🙂

Contexte: j’utilise 2 volumes de stockage internes, à savoir un SSD (pour le système, le /home etc) et un disque dur bien gros (pour l’archive du Mitsu’Media, les fichiers de jeux Steam, …). Le SSD se compose ainsi:

Ça, c’est une combinaison de flemmardise et de bidouilles: l’assistant installation d’Antergos permet de chiffrer le périphérique avec LUKS-dmcrypt, mais pour cette opération il crée un « plan standard » de partitionnement: un /home, un /, et un espace swap. C’est pourquoi j’ai choisi LVM, car alors avec un peu de bidouille on peut supprimer le swap et fusionner le /home au sein du /. Pratique, car GParted n’est d’aucune aide, car ne traitant pas les conteneurs LUKS-dmcrypt.

Bref ! Le disque dur de stockage était bêtement sous partitionnement MBR et type ext4 avec montage automatique défini dans /etc/fstab.


 

Dans un premier temps, j’ai transféré toutes les données de ce disque dur interne vers des disques durs externes. Puis une fois le disque dur vidé, je l’ai formaté ainsi:

Jusque là, c’est cool: gnome-disk-utility (ou palimpsest) dispose d’une fonction de formatage LUKS-dmcrypt, c’est enfantin.

À présent, au démarrage de l’ordinateur, après m’avoir demandé le mot de passe pour déchiffrer le SSD, le système me demande le mot de passe pour déchiffrer le DD. Rébarbatif ! On va automatiser ça.

LUKS est super pratique, car il dispose de « slots » où l’on peut définir un mot de passe, ou un keyfile (dont les X premiers octets sont utilisés comme clé). On peut à tout moment ajouter ou supprimer des clés dans ces slots (en veillant à toujours garder au moins 1 slot utilisé, car sinon après on peut plus déchiffrer, normal). Et si l’on définit un keyfile, il est possible de faire un montage automatique au démarrage. L’intérêt étant bien sûr de placer ce keyfile dans le SSD déjà chiffré par mot de passe.

Ainsi donc, au démarrage, le PC demande le mot de passe pour booter sur le SSD, SSD sur lequel se trouve le keyfile utilisé par crypptab pour déverrouiller le DD, DD qui est ensuite monté automatiquement par fstab.

Mon dernier problème: si le /home est intégralement sauvegardé 2 fois sur disques durs externes, ce n’est pas le cas du DD, beaucoup trop gros. Donc je me cherche une solution:

Financièrement la dernière solution semble meilleure, mais avec quelle solution de chiffrement ? Je pensais par exemple à du 7-zip à mot de passe: chiffrement AES donc assez solide, les noms de fichiers dans l’archive sont aussi chiffrés, et il y a un contrôle d’intégrité… bref, déjà finir le retransfert des données ^^


Petit test de compression d’images

Thu, 12 Mar 2015 11:55:39 +0000 - (source)

L’informatique évolue, les techniques de compression s’améliorent, et il est trop facile de rester figés dans ses anciennes habitudes 🙂 Donc j’ai voulu faire un petit comparatif de compressions d’images spécialisées photographies.

Image source: Sunset at Fjärdlång, Stockholm archipelago (Sweden) par Tommie Hansen (Creative Commons by)

Pour cette image, j’ai fait une première compression JPEG (libjpeg-turbo) avec niveau de qualité faible mais toutes les optimisations disponibles: en sort une image de 320 ko, mon « mètre-étalon », toutes les autres techniques de compression devront faire des images de poids égal ou inférieur.

Et puisque je ne peux pas envoyer un fichier PNG pour chaque compression (+ de 20 Mo à chaque fois), j’ai extrait une partie de l’image avec imagemagick: -crop 1200×700+3700+500  (cette zone correspond aux arbres en arrière plan à droite, une bonne cible car peu représentatifs de l’image mais tout de même assez détaillés).

Voici donc le résultat libjpeg-turbo fait avec GIMP (cliquez pour avoir en taille réelle):

zjpg

Pour remplacer JPEG, il y a eu 2 formats: JPEG-XR et JPEG2000. Globalement, ils se sont plantés: très faible adoption et des problèmes de brevets et tout. JPEG2000 est une compression wavelet tandis que JPEG-XR est un classique DCT. J’ai obtenu avec XnView, JPEG2000:

zjpg2000

On remarque que la technique de compression wavelet a du sens pour les dégradés, mais des détails sont complètement « lavés ».

JPEG-XR:

zjxr

Un peu mieux, non ? Bon, passons aux choses sérieuses. Firefox ne sait pas (encore ?) décoder les images WebP, et il y a une raison à cela: Mozilla a estimé que le WebP n’apporte qu’un faible gain de qualité par rapport à JPEG (je suis pas de cet avis), et pour le prouver ils développent une nouvelle bibliothèque d’encodage JPEG, nommée MozJPEG. L’avantage est énorme: il produit des images lisibles par tous les décodeurs JPEG disponibles. Donc pour tester cela, j’ai compilé MozJPEG 3, qui vient en remplacement de libjpeg-turbo (donc GIMP peut l’utiliser). La compression est plus lente, mais on remarque tout de suite que le paramètre de qualité peut être tiré vers le haut par rapport à libjpeg-turbo pour obtenir un poids équivalent. Voici donc ce que ça donne:

zmozjpeg

Visuellement, MozJPEG est meilleur que JPEG-XR. Bien joué ! Bah du coup je garde MozJPEG comme librairie d’encodage JPEG sur mon PC 🙂 Mais ça reste qu’un « petit ».

Passons aux champions issus du monde de la vidéo: WebP et BPG. Le premier utilise les techniques d’encodage du VP8 développé par Google, le second les techniques du H.265 et est crée par Fabrice Bellard. Oui, LE Fabrice Bellard.

La principale amélioration de ces formats de compression est leur filtre de deblocking. Visuellement, ça rend beaucoup mieux. Voici ce que ça donne en WebP via plugin GIMP:

zwebp

Et maintenant, BPG via bpgenc:

zbpg

C’est diablement difficile de les départager. BPG parvient à un peu plus de détails (cime des arbres, moins de « bavures », la mousse sur le rocher..) MAIS crée une sorte d’inconsistance de qualité, on arrive à distinguer des blocs dans les arbres. Si on observe la mer et les nuages, BPG s’arrache un léger avantage de qualité.

Avec WebP et BPG dans un mouchoir de poche, la suite s’annonce intéressante. Car Google continue de foncer dans son format vidéo, avec le VP9 dont j’espère de nettes optimisations de compression à la prochaine version stable de libvpx, alors que Google annonce déjà commencer à bosser sur VP10…   Côté H.265, bah ça se tourne les pouces…  j’ai fait quelques tests avec x265 par exemple, et bien on est encore loin de remplacer H.264 high 10bit.

BPG bien que prometteur pourrait ne rester qu’une « démo technique », qui se heurterait aux cauchemars des brevets relatifs à JPEG, l’histoire du GIF, les clowneries du MPEG-LA avec H.264 et les horizons à peine éclaircis avec H.265.

Et puis je me dois de mentionner le projet Daala, supporté par la fondation Xiph et Mozilla, qui pourrait également introduire un format d’image hautement efficace en se débarrassant des contraintes de la compression DCT et de la lessiveuse wavelet pour des techniques inédites.


ISIS-chan

Mon, 26 Jan 2015 11:59:06 +0000 - (source)

On se rappelle d’Ebola-chan ? Voilà ISIS-chan.

isis-chan_B8OyIG8CAAIM3ZQ

ISIS, caricaturée sous les traits d’une jeune femme.

En y pensant, c’est une très bonne réponse: les médias étant les médias, toutes les prises d’otages et exécutions sont rapportées. À défaut de censurer toute information à ce sujet, il y a que trois options: déstabiliser le peuple et le gouvernement les faisant sur-réagir et envoyer des troupes (l’objectif de terroristes), ignorer la prise d’otages, ou décrédibiliser les preneurs d’otage via la caricature.

En réalité il est impossible de sauver des vies (vu que si payement de rançon il y a, davantage de prises d’otages auront lieu plus tard conduisant mécaniquement à davantage de morts). Le problème étant aussi que les médias ont la (très mauvaise) habitude d’interviewer la famille etc et donc d’afficher de l’émotion pure et contagieuse, démontrant aux preneurs et apprentis preneurs d’otages que l’action est efficace. Il leur est alors facilement possible de détourner la faute de la conclusion (exécution) au gouvernement. Ce que ISIS a fait en rejetant la faute sur Shinzo Abe pour l’exécution de Haruna Yukawa.

En fait, les internautes japonais avec #ISISクソコラグランプリ « ISIS grand prix du collage pourri » et #ISISちゃん  « ISIS-chan »  jouent avec un couteau à double lame (si vous me permettez..): rire et se moquer des preneurs d’otages leur démontre que le peuple n’a pas peur d’eux et ne se laisse pas faire et que toute nouvelle action sera à nouveau raillée et caricaturée, le revers de la médaille étant que ces moqueries pourraient leur faire sous-estimer le danger de la zone (imaginez carrément un pèlerinage de japonais voulant voir de leurs propres yeux la zone contrôlée par ISIS pour espérer rencontrer ISIS-chan et partager un melon avec elle…). Cependant, les internautes ont aussi un objectif avec ISIS-chan: faire du « Google bombing » avec de la SEO efficace pour contrer les images de propagande d’ISIS et polluer leur communication sur le web bien mieux que la contre-propagande souvent ratée par la CIA.

En vertu de la constitution japonaise et de son article 9, le Japon renonce définitivement à la guerre. Ce qui fait débat bien sûr puisque dès l’intervention américaine lors de la guerre de Corée, le général MacArthur a demandé au gouvernement japonais de constituer une force militaire d’auto-défense, la JSDF. Laquelle n’a jamais vraiment remplacé les bases militaires américaines au Japon mais dispose d’un potentiel militaire suffisant pour repousser toute attaque venant de Corée du Nord (mais sans doute pas de Chine) ~ ce qui entre en contradiction avec l’article 9. Or, puisque la JSDF ne fait pas la guerre, les troupes sont régulièrement envoyées comme soutien à la reconstruction dans les zones de conflit notamment Irak. Bien que la JSDF ne dispose pas de capacité de riposte tout comme les Casques Bleus de l’ONU, leur implication logistique a désigné le Japon comme cible possible pour ISIS. D’où cette prise d’otage, avec une demande de rançon équivalente aux fonds débloqués par le Japon pour la logistique en Irak (200 millions de dollars). Les otages sont Kenji Goto, journaliste freelance, et Haruna Yukawa, décrit comme « touriste de guerre », ils ne font pas partie de la JSDF et des opérations logistiques du Japon.

Bien évidemment, l’article 9 interdit à la JSDF d’entrer en conflit armé avec ISIS même pour libérer des otages, et il ne fait pas de doute que l’ISIS le sait, forçant la main sur la négociation. Et en matière de libération d’otages, les forces occidentales engagées en Irak sont… pas hyper efficaces #euphémisme. Reste la seule solution, super dangereuse: équiper et soutenir les armées irakiennes et insurgés kurdes du territoire du Kurdistan irakien, ainsi que les insurgés syriens qui ne sont ni avec ISIS, ni avec Bachar el-Assad. Avec une situation très explosive avec le Pakistan, la Turquie, l’Iran, l’Arabie Saoudite, l’Israël, l’Afghanistan, la Palestine, le Yémen et les Émirats Arabes Unis, tous impliqués dans un mouchoir de poche avec des oppositions religieuses (juifs, chrétiens, kurdes, chiites, sunnites, wahhabites, ..). Et c’est sur ces divisions et tensions que l’ISIS a pu « facilement » se croquer les nords de la Syrie et l’Irak. S’attaqueront-ils aux puissants Turquie et Iran ? Probablement pas. Ils pourraient par contre gober la Syrie et se placer face à l’Israël (sans pour autant entrer en guerre contre eux, mais ça leur assurerait un fort recrutement parmi les peuples qui n’ont pas de sympathie pour Israël aka «le petite satan»). Mais le pire là-dedans: les énormes stocks de gaz moutarde, sarin et VX dont dispose la Syrie. Oui, il y a urgence à démanteler ces stocks avant qu’ils tombent entre de mauvaises mains. Je m’entends: entre des mains encore plus mauvaises que le sanguinaire Bachar el-Assad.

ISIS-chan, tout comme Ebola-chan, sont des personnifications « moe » particulièrement controversistes très appréciées par 2ch/4chan/8chan/reddit, et ce ne sont certainement pas les dernières personnifications qui apparaîtront sur l’internet.

Selon le consensus actuel sur l’imageboard japonais 2ch, voilà le profil de ISIS-chan:

Et bien sûr il y a un Tumblr pour ça et un Twitter.

EDIT: et une page sur Know Your Meme, logiquement.

Quelques exemples de détournements et ISIS-chan:

B8AFgtrCUAAkNnHB750yTICEAA4rNAB8AFgzpCMAEYQl7B78RXySCAAAe9WeB78RX4ECUAAKr_ZB7zQSLICQAAJwJYB789J6UCAAELkIQB78e6yNIcAE-ReaB78e6yOIAAAFhBvB7-ji12CAAA65UEB7-ji18CUAASstvB742sYgCYAE-jf5B8II12WIEAA0rY6B79tw09IcAAozHDB8BTMEvCUAAaofoB8RGchmCQAApFcwB8RGchnCcAAea51B72Q27VIAAEAzsVB8Q_iSNCEAA8RlxB8BxavCCcAAJscIB8G77zECEAAkZ7TB8HrPbkIcAAM0X9B8OFI6eCcAAaXUTB8P4QnoCUAAD2qHB8RGSDYCIAAFwreB8WgL6pCMAAcCFN

isis-chan_5b7 isis-chan_B8bbGe_CcAAZ-cg isis-chan_B8cxpEtCMAAMn26 isis-chan_B8dGB1TCcAAdFVM isis-chan_B8ga4MrCIAAJUOK isis-chan_B8leVxXCIAENPfo isis-chan_B8leVxXCYAEv2kJ isis-chan_B8m4QjaCQAEi5jH isis-chan_B8m5CJkCQAAl9Qe isis-chan_B8m8aBcCIAAfpM8 isis-chan_B8m8aCCCcAEwsZM isis-chan_B8m8aCNCIAApCMc isis-chan_B8m95XNIMAEHLxk isis-chan_B8m95zJIYAAVwjT isis-chan_B8mKvu7CQAESG7d isis-chan_B8mMqYRCIAMN5cs isis-chan_B8mNC2sCcAADXmn isis-chan_B8mndogCAAEdGGU isis-chan_B8mtEVCCcAE5F-r isis-chan_B8Mxy38IMAEfdJY isis-chan_B8N9GXRCEAAb3d_ isis-chan_B8NfHvZCIAA8EXi isis-chan_B8NfWFKCcAELudY isis-chan_B8N-HZWCUAEvYat isis-chan_B8Nj5ZfCUAA3Khb isis-chan_B8N-rfqCUAAy5g2 isis-chan_B8NTWtFCcAAnTDs isis-chan_B8nvyUwCQAEJs_I isis-chan_B8Omn2fCUAABb0z isis-chan_B8OnfhiIIAEjmP_ isis-chan_B8OnfozIYAAE0Fl isis-chan_B8oNpanCYAE6YH1 isis-chan_B8OyIG8CAAIM3ZQ isis-chan_B8p25yFCYAA0tcn isis-chan_B8pFffKCIAAuEiy isis-chan_B8PhjijCEAMHzPZ isis-chan_B8PK4CjCIAAjbA8 isis-chan_B8PpwKECMAACzr2 isis-chan_B8PQRkECcAEaI1u isis-chan_B8qBnFECcAEhZ9o isis-chan_B8qIElxCQAEQNNT isis-chan_B8qiXVYCEAAUU1q isis-chan_B8QLo6gCAAMgVjm isis-chan_B8qUv4QCAAEp9Ah isis-chan_B8QZ9sVCUAAlxuV isis-chan_B8Sb9PVCcAAKDb- isis-chan_B8SE9OVCAAAtrKm isis-chan_B8SinE-CIAA-OXZ isis-chan_B8SNaY3CcAAJZhU isis-chan_B8SOy58CcAIbfBE isis-chan_B8SxpOyCUAAX3YF isis-chan_B8TYz1_CAAAKqnx isis-chan_B8UGbE2CIAINc_I isis-chan_B8WZdv6CIAIQuNl isis-chan_B8XshgkCcAAAPxE isis-chan_B8YG6izCcAAAmiZ isis-chan_B8YI2vwCIAEhens isis-chan_HBg2aHR0cDovL2Vt isis-chan_tumblr_niqr5j2VCv1u9oq3jo8_1280 isis-chan_tumblr_niqr95ki0n1u9oq3jo1_1280 isis-chan_tumblr_niqskkYZsA1u9oq3jo2_540 isis-chan_tumblr_nir08wEsqo1u9oq3jo2_1280isis-chan_B8s3LLyCAAAj7or isis-chan_B8ufadLCYAEmYN isis-chan_B8usbLnCcAAe61i isis-chan_B8v-92WCUAAutK5 isis-chan_B8vc6fHCIAADi7s isis-chan_B8vsojNCUAAF4wM isis-chan_B8wnmKMCUAEbrF7 isis-chan_B8wo-YGCAAE9Iix isis-chan_B8wSIjtCUAEN2ST isis-chan_B8wSwTBCEAAF1JM isis-chan_B8xRWPaCQAAm0HH isis-chan_B8y23LoCMAEs54D isis-chan_B8z7KRoCAAED2jM isis-chan_B8zo3QuCQAEENgNB870G4WCYAAHTMUB9A0XBnIQAAmCBQB8sY7P9CEAAl3euB8_MeV5IEAAQkva B9FI840CAAAzIin B9FSjSLCcAEeUhp B89Fnd6IAAMnfEl563931093527568384_1590984644_0 563948559448297473_2995853846_0 563986714088046592_2995853846_0B8moDalCUAAgVyD B9IZvaZCEAAuph4 B9PQGaMCIAAfkfQ B9PQwY-CUAIv8Zr563840792595144705_2932162754_0564744195680632832_3014276389_0 564755271877001219_3014276389_0isis-chan_B8s3LLyCAAAj7or isis-chan_565779142147198976_2995853846_0isis-chan_566091201472778240_2995853846_0isis-chan_566431884188479488_3011497742_0 isis-chan_566446771446894592_3011497742_0 isis-chan_566461915019214848_3011497742_0 isis-chan_566476968988663808_3011497742_0 isis-chan_566479612331302914_2499145980_0isis-chan_566711179553148928_3004052682_0isis-chan_567024302281609216_93757831_0isis-chan_569629374301020162_2882604147_0 isis-chan_569780314333011969_2499145980_0isis-chan_574922228380364801_320124624_0isis-chan_562792041118445568_3004052682_0isis-chan_564077942909575168_3004052682_0isis-chan_573080116152016897_134405173_0isis-chan_575261476866277377_2932162754_0isis-chan_577039313281536000_1712687240_0isis-chan_579997555162894336_141771476_0isis-chan_572002580680732672_3000808488_0isis-chan_580004526863753216_141771476_0isis-chan_582670003138215936_2995853846_0isis-chan_560899001944260608_15724704_0

 (all copyrights to the respective #ISISちゃん artists)

Et enfin, une chanson !


Charlie, liberté, fraternité, humanité, etc

Tue, 13 Jan 2015 00:31:24 +0000 - (source)

Ça y est, on voit et entend les politiciens se jeter sur les corps encore chauds des victimes des assassinats, parlant ici de « coopération accrue entre opérateurs et autorités », où là de « référendum sur la peine de mort »…

Le vrai combat, ami·e·s hacktivistes et netizen, commence maintenant. Ce que j’ai pu entendre de plus violent: le « Patriot Act à la française », sous-entendant guerres impérialistes à l’autre bout du monde (aka « pétrole contre nourriture »), attaques de drones tuant des civils et innocents, ouverture de camps militaires dans un régime dictatorial pour y détenir et torturer des prisonniers pour leur arracher des infos inutiles (au passage, Guantanamo coûterait presque 4 millions de dollars par an et par prisonnier), persécution des lanceurs d’alerte (Chelsea Manning, Edward Snowden) et hacktivistes qui dérangent (Julian Assange), fichages hallucinants des transports de marchandises et personnes, exigence sans juge à l’ensemble des fichiers détenus par les sociétés privées,…  Les temps vont être durs pour nos libertés individuelles, et il n’est pas question de lâcher quoi que ce soit au profit de la peur et la terreur.

Je lis et j’entends certains d’entre vous rappeler le propos tenu par Charlie Hebdo, je n’y répondrais que la qualification du propos est et doit rester aux juridictions compétentes avec des plaidoiries contradictoires. Car à défaut de cela, c’est de la « justice populaire » où deux enragés s’octroient un droit de vengeance à l’AK47, où d’autres enragés balancent grenades et cocktails Molotov dans des synagogues, mosquées, restaurants kebab et supérettes kascher. Laissez la justice calmer les haines et entreprendre les vengeances adéquates à la place des personnes lésées ou qui s’estiment telles. La justice est lente, mais la justice française est bonne.

Un petit rappel de jugement ? http://www.maitre-eolas.fr/post/2007/03/22/580-le-jugement-de-l-affaire-charlie-hebdo

Ensuite, pour rester dans le fond de la problématique: quel que soit votre propos, vous offenserez des personnes. Je répète et je souligne, pour nos amis la presse américaine censureuse de « fuck »: TOUT PROPOS OFFENSERA. C’est ce fameux adage du « on ne peut pas plaire à tout le monde ». Le but est de savoir qu’on offensera, de savoir à quel point on offensera, et que l’on accepte en retour d’être offensé·e. Tout peut être débattu de manière constructive, sans atteindre à la vie de la partie adverse. Vous savez quoi ? Je propose d’ajouter aux cours d’éducation civique des leçons et exercices d’argumentation et plaidoiries. Il s’agit moins de former de futurs avocats que d’apprendre aux futurs citoyens de confronter et défendre leurs opinions et accepter celles des autres. La résultante ? Je pense que nombre de discriminations dogmatiques (religion, origines, apparence physique, sexe et genre, orientation sexuelle, opinions politiques, ..) s’en retrouveraient réduites.

« Liberté » scandaient les participants au grand rassemblement dimanche dernier. Liberté de la presse, liberté d’expression….   slogans qui auraient eu toute leur place lors de la censure de hara-kiri en 1970 (« Bal tragique à Colombey – un mort »). Or là, on est pas dans la situation d’un État qui censure Charlie Hebdo. L’impact sur la liberté de la presse et la liberté d’expression est faible, voire nul, sauf si toute personne souhaitant s’exprimer s’auto-censure par peur de représailles. Non un mot qui aurait été mieux: fraternité. La fraternité, c’est le préambule de la solidarité. C’est ce qui fait qu’on parvient à vivre ensemble la plupart du temps paisiblement, qu’on se réconcilie quand on s’embrouille, et qu’ensemble avec nos différences on forme une Nation unique.

Liberté, fraternité… manque plus que l’égalité pour que la devise de la Ve république française soit au complet, n’est-ce pas ? Oui mais: l’égalité me dérange. Bien sûr c’est important que tous les citoyens soient égaux en droits, mais à mon sens le mot « justice » devrait être utilisé à la place. Pour illustrer rapidement: l’égalité donne à tout citoyen les mêmes places dans le bus, la justice donne aux personnes handicapées un espace pour la chaise roulante, la fraternité et la solidarité donne que les personnes valides laissent cet espace libre et aident la personne en chaise roulante à monter dans le bus.

Dans le cas présent, comment est honorée la fraternité ? Elle l’est en ne stigmatisant pas, elle l’est en ne demandant pas aux musulmans de se désolidariser de ce qui leur est totalement étranger, elle l’est par des non-opprimés (chrétiens, athées, blancs, riches, hétérosexuels, sédentaires,..) défendent et viennent en aide aux opprimés (musulmans, juifs, noirs, pauvres, homosexuels, nomades,..). La fraternité est fraternité quand elle est sincère, désintéressée et spontanée. Et je souhaite que tous les citoyens s’en rappellent et changent en ce sens.

Les victimes de ces assassinats, quand on y pense, illustrent à merveille l’hétérogénéité qui unit la France: des hommes, des femmes, des ouvriers, des français fraîchement accueillis dans la nationalité, des artistes de gauche, des policiers de droite, des personnes de couleur, des athées, des chrétiens, des musulmans, des juifs, des français d’outre-mer,… Cette hétérogénéité, il faut à tout prix la préserver. Qu’elle reste la force et l’essence de la France, unie dans la différence, et non l’objet des haines et déchirements que l’extrême droite prépare pour demain ou que les terroristes tentent encore aujourd’hui.

Élargissons notre point de vue. Voyons cette Union Européenne, prix Nobel de la paix mérité, rassemblant 28 États et mille cultures différentes. On débat avec nos voisins, on trolle à l’occasion, on se chamaille, on se retrouve et on avance ensemble. L’Union Européenne est une super-Nation, certes imparfaite car encore en construction, mais qui est précieuse pour nous, citoyens. Car à partir de l’UE, un espoir est permis: celui d’une nouvelle Union, en lieu et place d’une ONU somme toute limitée. Car nombre de sujets, tels que le réchauffement climatique, mettent en jeu la survie de l’espèce humaine voire la survie des êtes vivants sur cette belle planète bleue, et il n’y a guère qu’ensemble que l’on sera efficaces pour empêcher les catastrophes futures.


Faute de manifeste, vous n’avez qu’une vision parcellaire de mes opinions. Et c’est volontaire puisque certaines d’entre elles sont si libérales qu’elles me demanderaient une énergie colossale à expliquer, surtout en contexte d’autres opinions nettement moins libérales voire contradictoires. Mais finalement c’est ça aussi, l’humanité: la contradiction, la subtilité et les notes de bas de page. « Prismes de personnalités ». Débattre de la liberté d’expression ? Je pense que oui: la liberté d’expression vaut la peine qu’on débatte à son sujet de temps en temps, voire tous les ans, voire plus souvent encore. Pour ma part, j’estime qu’un débat authentique ne peut avoir lieu que si chaque opinion peut être librement exprimée et opposée, au final la question ne serait pas celle de la liberté d’expression totale, mais bien la sagesse d’utilisation de cette liberté, de la fraternité qui doit lui être attachée ?

N’ayons pas peur. Soyons ensemble. Avançons ensemble. Vive la France. Vive l’humanité. Vive la vie.


L’après-TPB: DHT, infohash et indexation

Thu, 11 Dec 2014 19:41:10 +0000 - (source)

Rappel du contexte: The Pirate Bay ne répond plus suite à un raid, et vu le délai il est bien possible que TPB ait définitivement tiré sa révérence, ce qui n’est pas une mauvaise chose en soi. Car il est temps de laisser place à une indexation automatique et décentralisée de tous les fichiers torrent.

D’emblée, il faut avertir: les échanges avec le protocole BitTorrent ne sont pas chiffrés et il n’est pas difficile de déterminer qui possède un contenu et qui le télécharge. Nul besoin donc de pleurnicher sur la fonction de « modération » que permettait la centralisation autour d’un faible nombre d’indexeurs de fichiers torrent, les fichiers terroristes, pédophiles et nazis gagneront effectivement en visibilité mais aussi faciliteront grandement le travail des autorités compétentes. Et bien sûr, libre aux indexeurs de DHT de filtrer l’océan de contenus à la petite cuillère si « faciliter l’accès » à certains contenus pose des problèmes légaux et/ou moraux.

La DHT (Distributed Hash Table) de BitTorrent est un mécanisme vraiment bien conçu: avec un infohash (identifiant unique de torrent), le client lance une requête à ses pairs immédiats, lesquels retournent vers quels relais s’adresser dans le  « troupeau » immédiat, jusqu’à trouver un « troupeau » dans lequel se trouve un pair qui possède le torrent correspondant à cet infohash, et le transmette au client. À chaque torrent correspond un infohash, et à chaque infohash correspond un torrent: si vous créez un nouveau torrent à partir des mêmes fichiers, vous aurez beaucoup de mal à retrouver un même infohash: tout doit correspondre à la perfection, du nom à la taille des pièces jusqu’aux méta-données inutiles style date de création ou client+version à son origine.

Vous me demanderez: est-ce possible de récupérer le torrent correspondant à un infohash précis ? Oui, ça l’est. Aria2.

Il y a un site que j’utilise de temps en temps pour « liquéfier » des téléchargements difficiles depuis des seeds chinois par exemple:  Furk. Ce site, vous pouvez lui faire télécharger un torrent soit en lui donnant le fichier .torrent, soit en entrant un infohash ou magnet. Ça m’intriguait: je me mets en seed sur un torrent, je l’envoie sur le site, et j’observe: se connecte un serveur néerlandais tournant sous Aria2.

Aria2 est un client de téléchargement en CLI, avec de la communication RPC pour être facilement commandable, Aria2 sait faire du HTTP(S), FTP, BitTorrent, Metalink. Un petit couteau suisse. Mais surtout: il prend en charge les liens Magnet BTIH, se connecte à la DHT…..  et permet de sauvegarder juste le torrent et sortir les métadonnées sous forme de texte. Une pièce majeure de mon puzzle: Aria2 fait la transition entre un torrent de la DHT et une base de données indexant les torrents.

Ouais mais, les infohash… d’où ils viennent ? Il faut un crawler de DHT: un logiciel qui se connecte à la DHT et écoute ce que les pairs immédiats recherchent/téléchargent/partagent. J’en ai trouvé un: simDHT, écrit en Python2. C’est cool Python, sauf que j’ai jamais vraiment développé en Python pour l’instant, que c’est de la version 2, et que le script ne sort pas les résultats dans stdout. La façon de récupérer les infohash reçus est donc…  jugez plutôt:

AVANT:

class Master(object):
def log(self, infohash, address=None):
print "%s from %s:%s" % (
infohash.encode("hex"), address[0], address[1]
)

APRÈS:

class Master(object):
def log(self, infohash, address=None):
print "%s from %s:%s" % (
infohash.encode("hex"), address[0], address[1]
)
f = open("infohash/"+infohash.encode("hex"),'w')
f.close()
)

(ouais WordPress défonce l’indentation)

Cool cool. Bon. simDHT reçoit dans les 80 infohash par minute, jusque là ça va. Je fourre les infohash dans un fichier, et j’en nourris Aria2:

aria2c -j 10 --dht-listen-port=6881 --bt-stop-timeout=30 --bt-metadata-only=true --bt-save-metadata=true -i infohash.list

Les paramètres:

Ça donne quoi ? Bah. Ça montre surtout que la DHT est polluée par du spamflood: sur 200 infohash, vous aurez genre 2-5 « vrais torrents ». Ou alors il n’y avait aucun pair qui a le torrent. Ou alors trop loin ou trop lent pour le délai de 30 secondes. Mais on va pas laisser tourner Aria2 pendant une heure puisque, logiquement, Aria2 rediffuse le spam dans la DHT quand il tente d’en avoir le torrent.

Mais voilà, on a des .torrent ! On peut afficher les métadonnées ainsi:

aria2c -S fichier.torrent

À ce stade, j’ai fait un petit script PHP pour (tenter de) parser les métadonnées obtenues et en faire du JSON, qu’on peut alors brancher à du SQLite ou MariaDB ou tout autre SGBD au centre d’un moteur de recherche de torrent sur le web… mais puisque je me sens ridicule avec mon PHP tout moisi qui sait pas array_search(), je vais limiter mes ambitions. Mais les fichiers torrent sont là, traitables, indexables.

Donc amusez-vous à expérimenter vous-même la récupération et identification d’infohashes dans la DHT 🙂  Mon script:

#!/bin/bash
echo "## finding infohashes..."
timeout 60 python2 simDHT.py
count=$(ls infohash | wc -l)
echo "## processing $count infohashes..."
cd "infohash"
for file in *; do
echo "magnet:?xt=urn:btih:$file&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce" >> ../infohash.list;
rm "$file"
done
cd ..
aria2c -j 10 --dht-listen-port=6881 --bt-stop-timeout=30 --bt-metadata-only=true --bt-save-metadata=true -i infohash.list
rm 'infohash.list'
for file in *.torrent; do
aria2c -S $file >> "infohash/$file.metadata"
mv $file "db/"
done
php parse.php


À titre d’info, voilà ce que j’ai pu avoir avec ~4 minutes de fonctionnement:

57e3eee00b3ba637ead378c0a91821a28a3af840: Chelovek.Nojabrja.2014.Dc.Eng.HDRip.avi
281f90d4314fb29c0501209f3397349a875dce1c: Once Upon a Time S04E06 HDTV x264-LOL[ettv]
595900a6b58a30cd8b8ff999faae60f0616f873f: The.Daily.Show.2014.12.08.Norman.Lear.HDTV.x264-BATV.mp4
a7f5eec587bd3f31532e20b0e1603524d02bfe9e: [www.Cpasbien.pe] Marvels.Agents.Of.S.H.I.E.L.D.S01E20.FRENCH.LD.BDRip.XviD-RNT
b51c7241d26584cf4bf2c4cf7fab84acb6082866: Deliver Us from Evil (2014)
f10aea5762918b80b2a303d827c04c13eb9af125: Lager.X-Ray.2014.P.WEB-DLRip.1400MB.avi
86fdc07104a5524d2976264b24ca0a7126565c8f: The Walking Dead - Temporada 5 [HDTV][Cap.508][Español Castellano]


 

Addendum, 13 décembre:

Oh je me rappelle d’une chose: Tribler. Ce client BitTorrent a une fonction de recherche de torrent intégrée, et pour ce faire il enregistre les torrents qui circulent dans la DHT ! Vous pouvez trouver dans le répertoire de téléchargement un dossier appelé « collected_torrent_files », contenant les miniatures, fichiers de métadonnées et les torrents eux-mêmes. N’ayez pas peur d’avoir des dizaines de milliers de fichiers à cet endroit, Tribler est vraiment bien conçu !


J’ai perdu confiance

Wed, 19 Nov 2014 18:21:41 +0000 - (source)

Ma curiosité est mon plus gros défaut. Ma soif de savoirs est ma malédiction. Ma recherche de moyens à rendre le monde meilleur m’expose ses faiblesses et me révèlent les catastrophes à venir, tel un trailer de mauvais film d’horreur au goût de navet. Nous vivons dans un mélange, dans une soupe qui tantôt vous amènent à l’optimisme, tantôt à une sévère misanthropie. Je ressens à la fois de la fierté et de la honte dans mes actions, un double sentiment de vanité et d’auto-flagellation productive. Je tiens à vous assurer que je ne suis pas sous les effets d’une drogue, si ce n’est ceux du tourment intellectuel mêlés aux plaisirs artificiels du chocolat.

Nous vivons avec nos valeurs. Chacun·e d’entre nous a sa propre morale, sa propre éthique, ses propres opinions, ses propres combats prioritaires. Moi et nombre de mes lecteurs habituels attachent par exemple une grande importance au partage de la culture et au respect de la vie privée, ce qui fait que nous pouvons nous rallier pour dénoncer les effets de dispositifs législatifs tels que la Hadopi ou la LOPPSI. Nous étions ignorés, voire raillés, traités de conspirationnistes paranoïaques. Pourquoi de tels sujets n’ont pas fait plus réagir ? Parce que leur futilité était avérée et connue ? Parce qu’il y avait « des sujets plus importants »© ? Parce que nos détracteurs avaient un intérêt direct au status quo ?

Nous avions raison à souligner l’inutilité de la Hadopi, cette « pauvre » petite haute autorité administrative qui a même réussi à se mettre à dos les mafias de l’industrie culturelle qui ont été à son origine. Pourtant, l’heure du bilan n’a toujours pas sonné.

Nous avions raison à signaler que le blocage de sites par injection administrative aux FAI ne se limiterait pas à la pédopornographie: c’est désormais un dispositif applicable au terrorisme et aux jeux d’argent, avec quelques signes que ça allait s’étendre à des sujets tels que le sexisme, le racisme et l’homophobie. Nous avons beau affirmer haut et fort que s’opposer au blocage administratif ne signifie absolument pas que nous cautionnons les contenus visés, le « vous défendez les pédophiles / vous êtes avec les terroristes » est leur argument capital pour passer les lois en force. Le ver est si profondément dans la pomme démocratique que le blocage des sites « terroristes » ne se verra pas même constitutionnellement vérifié par le Conseil Constitutionnel, à croire que le faux droit constitutionnel à la sécurité balaye tous les autres droits.

J’en viens à affirmer ici-même que Mitsu est un algorithme capable de pseudo-conscience tel un Marlowe survitaminé, juste pour éviter la peine à une hypothétique Police de la Pensée de rechercher une personne demain, dans 10 ans ou dans 100 ans, pour des propos et des pensées tenus en 2014 et avant. Sur l’internet rien ne s’oublie, et cela est à la fois le plus grand allié du peuple et son plus grand ennemi.

Je n’ai plus confiance en la communication

La communication, historiquement, a toujours accompagné le développement économique et intellectuel de la population. L’internet ne fait pas exception à cette règle, et tous les jours je suis en admiration devant les acquis de l’internet, et du potentiel qui se révèle à moi petit à petit. Mais comme dans toute révolution, il y a les révolutionnaires, et les conservateurs. Dans la communication, je relève que certains exploitent la révolution à des fins lucratives (Google, Facebook,..), et d’autres à des fins sécuritaires (NSA,…). Or si la NSA est capable de tout collecter, partout, tout le temps, sans forcément avoir un but dans cette collecte, c’est bien parce que les acteurs du but lucratif sont devenus des géants incontournables, sur lesquels la NSA peut mettre ses crocs.

Peut-on seulement fuir ces géants, peut-on s’exclure de la collecte massive de la NSA ? La réponse est non: on ne peut que réduire, décentraliser, diluer. Par exemple, DuckDuckGo et StartPage/Ixquick se servent respectivement des moteurs de Bing (Microsoft) et Google, tous deux bien « NSAisés ». Surfer sur le web sans la MOINDRE dépendance avec Google relève du parcours du combattant. J’ai perdu confiance. Je me sais sous enregistrement, je me sais sous surveillance, je me sais oiseau dans une cage dorée.

Je pourrais utiliser exclusivement Freenet, pourtant je continue à utiliser le web et -folie suprême- je m’exprime sur ce blog.

Je n’ai plus confiance en la république et ses élus

Je n’ai de mots assez durs envers la république et ses représentants. Je vomis littéralement sur l’argument du « moins pire système politique », car il excuse les dérives de ce système romain. Peu importe sa « couleur politique », peu importe ses idées, le président de la république française est un monarque suprême aux pouvoirs colossaux, inaugurés par un militaire suite à un coup d’état, et perverti par ses successeurs -tous masculins. Quelle folie touche les français, à chaque fois que 10% d’entre eux font arriver au pouvoir un énergumène spécialiste de la vocalise et expert en rien ? Quelle mouche pique les français pour qu’ils en viennent à idolâtrer un présidieu, actuel ou passé ? Par les effets de quelle drogue les français considèrent t-ils normal de confier le pouvoir législatif à des copains aristocrates, ploutocrates et gérontocrates du présidieu ? Par quelle Télétubbinerie est-il correct d’insérer des textes dans la loi alors qu’elles sont votées par une dizaine de députés, quand l’Assemblée en compte 577 ?

Je pourrais participer à l’instauration d’un régime démocratique par sélection aléatoire, pourtant je continue à me cantonner à l’abstention.

Je n’ai plus confiance en l’économie

Keynes, tes théories sur la macro-économie ont été triturées, dérivées, manipulées et torsadées dans tous les sens jusqu’à l’absurde. Il est urgent de trouver un nouveau système économique, défavorisant l’accumulation de la richesse, tout en favorisant la préservation des ressources disponibles. Pour que le « profit pour le profit » ne signifie pas la ruine complète de l’humanité et de la vie sur Terre. Pour que les humains n’aient plus de travail, car cela est mon souhait. Je vous enfoncerais vos « ressources humaines » dans vos narines de Picsou, tiens. Je ne veux plus travailler pour travailler. Je ne veux plus travailler pour vivre. Je ne veux plus faire travailler pour vivre. Je veux juste vivre. Laissons le travail aux machines. Donnons tout le travail aux machines. Et vivons nos vies, comme tous les autres êtres vivants.

Je pourrais travailler sur les algorithmes robotiques qui prendront en charge tout le labeur humain et qui réguleront les humains, pourtant je n’ose affronter le regard des humains qui qualifieront mes travaux de « pur terrorisme à la Matrix »

Je n’ai plus confiance en les monnaies étatiques

..et c’est là peut-être mon opinion la plus simple dans sa conception et la plus redoutable dans ses effets. Qui dit échange économique dit échange de valeurs, de devises, de monnaies. C’est quelque chose que je pratiquais déjà très tôt, à une autre échelle: j’échangeais un Phanpy contre un Mimigal. Ce système de troc de Pokémon, institutionnalisé par Nintendo et son appareil maléfique (le câble Link, un truc tout con qui coûtait la peau du cul car propriétaire), initiait déjà nombre d’entre nous aux valeurs relatives des biens. Un Pokémon gagnait par exemple en « valeur » en fonction de sa rareté à l’état sauvage, de sa difficulté de capture, de son niveau natif et obtenu, de ses capacités, de son objet tenu, de son apparence rare (shiney) voire sa maladie (PokéRus). Fallait voir les négociations que ça donnait, on aurait dit Gazprom et le contrat de gaz pour l’Ukraine.

J’ai connu le passage à l’Euro, et bien que cette monnaie unique a grandement favorisé les échanges avec nos voisins européens et ailleurs dans le monde, j’entendais souvent que « tout devient plus cher depuis le passage à l’Euro ». Je faisais mes calculs et effectivement, avec le taux de 1 € = 6,56 Francs, les prix ont sensiblement augmenté. Encore maintenant j’entends des gens faire des conversions avec ce taux et conclure que « oh la la 120 Francs, vous vous rendez compte ! ». J’en conclus que de nombreux gens ne sont pas habitués au concept d’inflation, vous savez, ce truc qui fait que vous consommez plutôt qu’épargnez, et que les allemands ont raison de garder à un niveau limité. Car je vous assure qu’avec le Franc, le prix actuel d’une baguette de pain irait chercher dans les ~150 Francs. Vous pensez que j’abuse ? Je vous assure qu’on aurait déjà connu une hyperinflation en France, avec une potentielle ruine de toute l’économie. L’Euro a retardé cette échéance parce que les allemands ont la tête sur les épaules et qu’ils savent que trop bien ce qu’il en coûte de laisser une hyperinflation galopante tout balayer sur son passage jusqu’au point où être multi-milliardaire signifiait toucher le salaire moyen.

L’Etat a le contrôle sur la monnaie étatique à plusieurs niveaux, il peut ainsi « injecter » de la monnaie dans l’économie (concrètement ça signifie faire apparaître comme par magie des Euros disponibles à taux bas que les banques peuvent emprunter pas cher pour les re-prêter à des tiers) et il se finance sur l’impôt et les taxes, perçus dans cette même monnaie. Voilà le plan de Keynes avec « l’Etat-providence », financer l’économie grâce à l’investissement et la consommation. Or, quand on ne peut plus investir faute de croissance (et donc faute de taux d’intérêt intéressants), les salaires ne progressent pas, la population s’appauvrit et la consommation baisse, ce qui réduit les taxes et limite l’impôt, qui à son tour vient grever les finances publiques qui pourront moins investir etc etc etc. C’est une catastrophe en devenir en France, parce qu’il n’y a jamais eu autant de chômeurs (→ consommation en baisse), que la croissance est nulle (→pas de fonds à réinvestir), que cela force à emprunter à taux hauts (→augmentation de la dette publique), et que c’est une vraie poudrière. Qu’on se le dise: la dette publique de 120% du PIB des États-Unis d’Amérique ou celle de 260% du Japon n’empêchent absolument pas ces deux pays de fonctionner à peu près bien économiquement: tant qu’il y a de la musique, tout le monde danse.

Mais quand la musique s’arrêtera ? Ça se passera comme à Chypre en 2013: confiscation des dépôts bancaires des entreprises et particuliers. Pas les plus riches, déjà domiciliés sous les horizons suisses ou bahamiens. Cet événement a été l’électrochoc pour moi: Timo a parfaitement raison de strictement limiter son utilisation de comptes en banque. Car d’une perte de confiance en les monnaies étatiques découle une perte de confiance au système bancaire. Ma banque ne verra dans ses livres que les Euros que je dépenserai à court terme, toute mon épargne sera en Bitcoin ou autre chiffromonnaie, ou en métaux précieux (bijoux). Car j’ai confiance dans la précision mathématique des chiffromonnaies et la rareté des métaux précieux.

Je pourrais couper tous les ponts avec l’Euro dès maintenant, pourtant j’ai encore une MasterCard rattachée à un compte bancaire d’une banque qui fait 75% de son chiffre d’affaires au Luxembourg (officiellement).

Je n’ai plus confiance en moi-même

Sans arrêt, je fais des actions contraires à mon éthique.

Tout cela me pèse dernièrement. Tout cela me fait douter. Tout cela me ronge. Et je n’ai comme consolation que les catastrophes à venir m’impacteront bien moins que la majorité de mes congénères. Misanthrope, vous dis-je…

Mitsu, 19 novembre 2014


Powered by VroumVroumBlog 0.1.31 - RSS Feed
Download config articles