https sous Apache – Même à l’école je n’ai jamais eu un A

https sur serveur Ubuntu facile

Depuis fin décembre le blog est enfin en accès https… Je devais le faire aux vacances de Pâques 2016, j’avais repoussé à juillet, puis aux vacances de la Toussaint.

Oui, je suis un fervent adepte de la procrastination, je suis de ceux qui remettent au sur-lendemain dans l’espoir qu’un autre le fera demain. Mais là, je dois me rendre à l’évidence, jamais personne ne le fera à ma place. Je l’ai donc fait entre Noël et le Jour de l’An.

Une fois fini, je fais un petit test sur SSL Server Test… Et là, j’ai un A!
Certains diront, et à raison, Let’s Encrypt c’est pas non plus le top du top… Ok, mais m@rd@ alors! P#tain j’ai un A! Même à l’école j’ai jamais eu un A, alors laissez-moi savourer ce A.
Je vous mets la capture d’écran pour me la péter vous montrer et ensuite on passe à la configuration.

Résultat d'audit SSL affichant une note globale « A » avec des scores élevés pour le certificat, le support de protocole, l'échange de clés et la force de chiffrement.
Un serveur Apache sécurisé avec Let’s Encrypt obtient la note « A » au test SSL de Qualys SSL Labs.

Ubuntu server 16.04 sous apache

https sous apaches avec Let’s Encrypt

Je commence par installer « git » sur /opt/

sudo -s
apt-get install git
git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt --depth=1

→ « sudo -s » Je ne sais pas combien de sudo je vais devoir taper, sans doute plus de trois, alors « sudo -s »
→ « –depth=1 » Je ne souhaite pas récupérer tout l’historique du site.

Générer les certificats

/opt/letsencrypt/letsencrypt-auto --apache -d domaine.fr -d www.domaine.fr

Si vous avez plusieurs domaines, sinon vous pouvez faire simplement:

/opt/letsencrypt/letsencrypt-auto

Configurer le VirtualHost pour l’accès https

Allez dans /etc/apache2/sites-available et modifier les VirtualHost

cd /etc/apache2/sites-available
nano votredomaineSSL.fr

La configuration que j’ai mise

<VirtualHost *:443>
   ...
      SSLProtocol -ALL -SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2
      SSLHonorCipherOrder On
      SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS

      SSLEngine on
      SSLCertificateFile /etc/letsencrypt/live/domaine.fr /fullchain.pem
      SSLCertificateKeyFile /etc/letsencrypt/live/domaine.fr /privkey.pem
   ...
</VirtualHost>

Configurer le VirtualHost http pour une redirection https

cd /etc/apache2/sites-available
nano votredomaine.fr

La configuration que j’ai mise

<VirtualHost *:80>
...
      RewriteEngine on
      RewriteRule ^ https://www.chispa.fr%{REQUEST_URI} [L,QSA,R=permanent]
...
</VirtualHost>

Renouvellement du certificat

ATTENTION, le certificat n’est valable que 90 jours. On peut le renouveler avec la commande:

/opt/letsencrypt/letsencrypt-auto --apache --renew-by-default -d domaine.fr -d www.domaine.fr

Le mieux est de rendre automatique le renouvellement, heureusement Erika Heidi a créer un script pour nous, il s’agit de le-renew.sh
Je l’ai récupéré, rendu exécutable et mis dans la crontab

curl -L -o /usr/local/sbin/le-renew http://do.co/le-renew
chmod +x /usr/local/sbin/le-renew
crontab -e
0 6 * * 1 /usr/local/sbin/le-renew domaine.fr >> /var/log/le-renew.log

Chaque lundi à 6:00, la validité du certificat en question sera vérifié, s’il est toujours valable, au cas contraire il demandera le renouvellement.

Bon, normalement en bon « copiteur » vous aurez un A, et si en plus vous améliorez, je ne vous en parle même pas! Un A+ ou A++.

Effacer définitivement la mémoire ram et swap – secure-delete

Vous perdez votre ordinateur portable, vous êtes cambriolé et on vous vole votre PC… Vous avez chiffré vos disques ou partitions, c’est déjà une bonne protection pour vos données personnelles, contre l’usurpation d’identité et autres malveillances.

Poussez la protection un peu plus loin… Vous êtes paranoïaque, vous avez sans doute raison, quelqu’un d’aussi pointu que votre niveau de parano peut aller fouiller dans la RAM (mémoire vive), le swap, les clusters du/des disque(s)…

Quelques pistes.

« secure-delete » comporte quatre outils (SRM, SMEM, SFIL et SSWAP), ces outils font par défaut 38 passes sur un cluster…

smem (Secure Memory Wiper) supprime les données dans la RAM.

smem

sswap (Secure Free Space Wiper) permet de faire la même chose que smem mais pour le swap, voir plus bas sswap.

srm (Secure remove) permet de supprimer de manière sécurisée des fichiers ou des répertoires de vos disques durs de façon définitive… En effet avec la commande rm les données supprimées sont récupérables.

srm nom_du_fichier
ou
srm -r nom_du_répertoire

sfill (Secure Free Space Wiper) pour effacer toutes les traces conservées dans l’espace libre des disques durs sans formater les disques durs.

sfill /répertoire

Retour sur la commande sswap. Avant de l’utiliser, il faut démonter la partition swap.
Vous ne savez pas où elle se trouve :

sudo fdisk -l
(…)
Périphérique Amorçage     Start       Fin  Secteurs   Size Id Type
/dev/sda1                  2048 207077375 207075328  98,8G  7 HPFS/NTFS/exFAT
/dev/sda2             812548094 976771071 164222978  78,3G  5 Étendue
/dev/sda3    *        226609152 812546651 585937500 279,4G 83 Linux
/dev/sda5             812548096 970024959 157476864  75,1G 83 Linux
/dev/sda6             970027008 976771071   6744064   3,2G 82 partition d'échange Linux / Solaris
(...)

Dans notre exemple il s’agit de (/dev/sda6), à vous d’ajuster le « /dev/sdxx »
Ensuite, il faut la désactiver :

sudo swapoff /dev/sda6

Puis on peut nettoyer avec la commande sswap :

sudo sswap /dev/sda6

Pour finir, il faut réactiver le swap :

sudo swapon /dev/sda6

A vous de créer un script qui s’exécute à la fermeture de votre session… Bien sûr ; lisez les man(s) de chaque commande.
Pour la suppression de fichiers, vous pouvez aussi « creuser » du côté de la commande « shred« … Bref, à vous de vous approprier et de partager ! 😉

Calculer pi en ligne de commande sous linux

L’idée de départ, est de me créer un tee-shirt sur lequel il y aurait pi suivi de 311 décimales pour en faire un « truc » graphique.

Je passe sur l’aspect graphique souhaité, je vous montrerai peut-être une fois l’œuvre terminée…

Soit! C’est très futile, mais les futilités nous emmènent toujours vers des chemins imprévus, comme l’idée d’en faire un billet.

Bref! Pour ce graphisme, j’ai besoin de pi à 311 décimales derrière la virgule, soit 3,(311chiffres).
Ouvrons un terminal, certains dirons une console… et voici la ligne de commande bash avec le résultat:

echo « scale=311; 4*a(1) » | bc -l

$ echo "scale=311; 4*a(1)" | bc -l
3.141592653589793238462643383279502884197169399375105820974944592307\
81640628620899862803482534211706798214808651328230664709384460955058\
22317253594081284811174502841027019385211055596446229489549303819644\
28810975665933446128475648233786783165271201909145648566923460348610\
45432664821339360726024914127372458700660

Explications:

  • « echo » renvoie un affichage sur console (saisie, écriture, résultats)… Voir Initiation au shell (boucle for, do, done)
  • « scale=x » scale permet d’indiquer le nombre de chiffres après la virgule (remplacer x par le chiffre souhaité)
  • « 4*a(1) » a(1) se base sur la fonction Arc Tangente a(). Cette formule « 4*a(1) », permet entre autres, le calcul du nombre pi.
  • « | » «pipe» redirige le résultat d’une commande dans le flux d’entrée d’une autre commande. Ici la commande suivante sera « bc » qui est une commande de calculatrice «basic calculator»
  • « bc -l » récupère la formule « 4*a(1) » après le « pipe » pour effectuer le calcul. L’option « -l » utilise la librairie mathématique standard (Define the standard math library) qui utilise, entre autres, la fonction Arc Tangente a()… Voire « man bc »

Si l’on met à « scale » un nombre plus « gros », par exemple « 2000 » le temps de réponse est plus long, on peut « mesurer » le temps de réponse avec la commande « time », exemple:

time echo « scale=2000; 4*a(1) » | bc -l

$ time echo "scale=2000; 4*a(1)" | bc -l
3.141592653589793238462643383279502884197169399375105820974944592307\
81640628620899862803482534211706798214808651328230664709384460955058\
22317253594081284811174502841027019385211055596446229489549303819644\
(...)
74427862203919494504712371378696095636437191728746776465757396241389\
086583264599581339047802759008
real    0m2.470s
user    0m2.470s
sys    0m0.001s

Pas forcement utile au quotidien, donc nécessaire!

Linux – De l’interface graphique à la ligne de commande

Un peu de ma vie privée, ou plutôt de celle de mes farfadets et mes fadettes, j’en ai deux de chaque.

Tous utilisent depuis leur tendre enfance linux… Maintenant, ils l’utilisent plus ou moins en fonction de leurs besoins. Pour celui qui l’utilise le plus, même exclusivement, il s’agit d’un de mes farfadets, l’autre, étant un « gamer« , et l’utilise le moins, les Fadettes sont entre les deux.

J’en viens à l’une des Fadettes, son pc est en dual boot, pour un usage professionnel, elle utilise au maximum linux (la grande majorité du temps) via les applications graphiques qui lui sont proposées, sauf pour certains de ces travaux.

L’interface graphique, c’est bien… Mais parfois, la ligne de commande, c’est mieux ! J’y viens !

« Papa, on a plusieurs photos de divers appareils (4) et elles se mélangent dans le répertoire, on doit rendre un travail chronologique… Tu m’as dit un jour qu’avec ton écran noir (un terminal) et tes lignes, ça peut se faire facilement… Tu peux me montrer ? » (Sur son pc, une multitude de fenêtres ouvertes sur plusieurs bureaux avec divers travaux en route… Pas question de les fermer pour passer sur un autre système d’exploitation).

Quand on me parle de mes lignes, ça me rend particulièrement fier, même si au fond de moi-même, je sais que quiconque lit le « man » de « find » et « exiv2 » peut en faire autant, voire mieux, mais bon…

Je lui dis, il suffit de suivre le billet sur mon blog « Renommer les photos par lot en utilisant les métadonnées EXIF« . Et là, magie ! En quelques secondes, les centaines de photographies se renomment par ordre chronologique.

Renommer les photos par lot en utilisant les métadonnées EXIF Magique ou presque, car l’un des appareils n’était pas à la bonne date et heure…
Alors, autres lignes de commande, c’est un peu plus long, en suivant le billet « Modifier la date de vos photos« , et le résultat final est parfait !
Je suis heureux de voir que ma Fadette s’en est très bien sorti et surtout qu’elle s’est rendu compte que la ligne de commande est un parfait complément à ce qui peut se faire via une interface graphique !

Décimales – Binaires – C’est simple

Cela ne s’adresse pas aux informaticiens dont on peut supposer que cela n’a plus de secret pour eux. Certains me diront qu’il existe des sites pour faire les conversions…

Soit ! Le but est de comprendre et savoir le faire, d’autant plus que c’est très simple.

Prenons un chiffre binaire « 1 101 101 » que l’on souhaite convertir en un chiffre décimal. Commençons par écrire le chiffre binaire de façon verticale et inversée (le dernier chiffre en haut). On ajoute le signe multiplier « X » et en face, de haut vers le bas on met 2 puissance 0, puis deux puissance 1, puissance 2 et ainsi de suite jusqu’en bas.

On fait la multiplication. Reste plus qu’à additionner tous ces chiffre et on obtient sa valeur en décimales. Exemple ci-dessous :

1 = 1 X 2⁰ =     1
0 = 0 X 2¹ =     0
1 = 1 X 2² =     4
1 = 1 X 2³ =     8
0 = 0 X 2⁴ =     0
1 = 1 X 2⁵ =    32
1 = 1 X 2⁶ =    64
  ________________
Total          109

Maintenant faisons le travail inverse, convertir 315 en binaire. Deux solutions…

Solution 1 :
Chercher la plus grande puissance de 2 contenue dans 315 (2⁸ = 256, 2⁹ = 512) 2⁹ est trop grand, on prend donc 2⁸ la différence est de 59 (voir plus bas pour les puissances 2)
Donc 315 = 2⁸ + 59
La plus grande puissance (pgp) contenue dans 59 est 2⁵ (32) reste 27
315 = 2⁸ + 2⁵ + 27
La pgp contenue dans 27 est 2⁴ (16) reste 11
315 = 2⁸ + 2⁵ + 2⁴ + 11
La pgp contenue dans 11 est  2³ (8) reste 3
315 = 2⁸ + 2⁵ + 2⁴ + 2³ + 3
La pgp contenue dans 3 est 2¹ (2) reste 1 qui est égale 2⁰
315 = 2⁸ + 2⁵ + 2⁴ + 2³ + 2¹ + 2⁰
La transcription ce fait comme ci-dessous, les puissances absentes comptent pour 0

2⁸  2⁷  2⁶  2⁵  2⁴  2³  2²  2¹  2⁰
__________________________________
1   0   0   1   1   1   0   1   1

Soit : 100 111 011

Solution 2 :
Il suffit de diviser le nombre par 2, puis son résultat par 2 et ainsi de suite jusqu’à la dernière division.

conversion décimales binairesIl suffit de reprendre les chiffres dans le sens de la flèche ce qui fait 100 111 011

Puissances de 2 :

2¹           2
2²           4
2³           8
2⁴          16
2⁵          32
2⁶          64
2⁷         128
2⁸         256
2⁹         512
2¹⁰       1024
2¹¹       2048
2¹²       4096
2¹³       8192
2¹⁴      16384
2¹⁵      32768
2¹⁶      65536
2¹⁷     131072
2¹⁸     262144
2¹⁹     524288
2²⁰    1048576
2²¹    2097152
2²²    4194304

Crypsetup – Chiffrer la partition var

chiffrer la partition var

ATTENTION! La partition « var/ » est solicitée très tôt au boot, la déplacer sans précaution sur une partition chiffrée, c’est vous assurer d’un plantage au démarrage… Sauvegardez et suivez les instructions sans sauter d’étape.

Partons d’un principe que vous ayez déjà une partition chiffrée nommée « d5 » sur laquelle vous souhaitez déplacer le dossier « var » et tout ce qui s’y trouve… Étape par étape…

Pour en savoir plus sur le chiffrement de données allez faire un tour du côté de chez Hoper que je remercie!
Chiffrement-Theorie
Chiffrement-Pratique

Donc c’est fait! Vous avez une partition chiffrée prête à accueillir votre dossier « /var/ »

Déplacer /var dans une partition chiffrée en 6 étapes

1 Créer un fichier « crypttab » dans /etc/
Mettre le nom de la partition chiffrée, le « /dev/XXX » Correspondant « none » et la méthode de chiffrement. Ici, nous prenons l’exemple qu’il s’agit du /dev/sda5… Recherchez votre « dev/ » avec la commande « sudo fdisk -l »:

# vi /etc/crypttab

Et mettre

d5   /dev/sda5    none     cipher=aes-xts-plain64,size=512

2 Rechercher UUID de la partition avec la commande « blkid »

# blkid
/dev/sda1: UUID="53ca7412-1ff7-105d-13fd-b15ab0d5" TYPE="ext4"
/dev/sda5: UUID="24fda933-44f3-30da-1947-3c4508af77ae" TYPE="swap"
/dev/mapper/d5: UUID="f254212d-9492-fab0-9220-4f5dad3c940a" TYPE="ext4"

Il s’agit de la 3ème ligne

3 Ouvrir le fichier « fstab » et rajouter à la fin:

UUID="f254212d-9492-fab0-9220-4f5dad3c940a" /var    ext4    defaults    0    0

Vérifier avec la commande df -h, vous devriez voir la ligne suivante dans la liste

# df -h
(…)
/dev/mapper/d5   650G    1,4G  382G   1% /var

Moi j’ai:
/dev/mapper/d5_unformatted   650G    1,4G  382G   1% /var
Mais ça marche très bien !

4 Vérifier les processus en cours

# ps -eaf | less

D’autres préférerons « more »

# ps -eaf | more

    Arrêter les bases de données et apaches… dans mon cas:

# /etc/init.d/mysql stop
# /etc/init.d/apache2 stop
# /etc/init.d/postgresql stop

Puis revérifier:

# ps -eaf | less

5 Copier le contenu de /var dans /d5

# cp -a /var/* /d5/

renommer le dossier /var pour pouvoir « faire marche arrière » en cas de problème.

# mv /var /var.old

6 C’est fini, on redémarre.
Seule contrainte, il faudra mettre un clavier et un écran sur le serveur qui demandera un mot de passe au moment de monter /var, donc à chaque reboot.

# reboot

LVM et cryptsetup partitioner et chiffrer un disque dur

J’ai mis ce billet dans la catégorie serveur, mais en réalité cela s’applique à n’importe quel PC

Vous venez d’installer un disque supplémentaire sur votre pc.

Vous souhaitez le partitionner avec LVM (logical volume management ou gestion par volumes logiques) puis chiffrer les partitions avec Cryptsetup.

Prenons ici un disque dur de 1To et que l’on souhaite faire deux partitions qu’on nommera « donnees » et « save »

Vérifier les disques montés, et éviter de se tromper de disque. 🙂
Deux commandes utiles
sudo fdisk -l
sudo df -h

Avant tout, connaître sur quel « dev » se trouve le nouveau disque.

sudo fdisk -l
(...)
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 têtes, 63 secteurs/piste, 121601 cylindres, total 1953525168 secteurs
(...)
Le disque /dev/sdb ne contient pas une table de partitions valable
(...)

On commence par créer notre volume physique

sudo pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created

Puis on crée le groupe de volume

sudo vgcreate mvg /dev/sdb
  Volume group "mvg" successfully created

Maintenant on crée les volumes logiques (nos nouvelles partitions) :

sudo lvcreate -n donnees -L 700g mvg
  Logical volume "donnees" created
sudo lvcreate -n save -L 300g mvg
  Volume group "mvg" has insufficient free space (59267 extents): 76800 required.

Houps ! lors de la création du 2ème volume, il n’y a pas assez de place…
Solution et explication:
Il se trouve qu’il ne reste pas 300 Go de disponible mais, comme il l’indique seulement 59267 « extends ».
La taille d’un extend dépend des paramétrages utilisés lors de la création de la configuration LVM.
Par défaut, il fait des extends de 4 Mo.
Il indique donc très justement que pour créer un volume de 300 Go, il te faudrait 59267 « bouts » de 4 Mo.
Volume group « mvg » has insufficient free space (59267 extents): 76800
Pour utiliser tout l’espace restant, le plus simple est de lui indiquer une taille en extend, dans ce cas :

sudo lvcreate -n save -l 59267 mvg

Notez bien que ce n’est plus -L (taille) mais -l (extend), le petit l permet d’indiquer une taille directement en nombre d’extend, et pas en Mo/Go/To etc. »

Là le disque dur sous LVM est opérationnel…. Le chiffrage est un plus…

Maintenant je souhaite chiffrer les 2 partions créées, puis les monter respectivement dans « /mnt/donnees » et « /mnt/save »
Dans l’ordre: on se rend sur le répertoire /mnt, puis on crée les 2 répertoires (donnees et save).

cd /mnt
sudo mkdir donnees
sudo mkdir save

On chiffre les partitions avec cryptsetup, on y mets un type de fichier (là ext4) puis on les montes.

sudo cryptsetup -y --cipher=aes-xts-plain64 -s 512 create don /dev/mvg/donnees
sudo mkfs -t ext4 /dev/mapper/don
sudo mount /dev/mapper/don /mnt/donnees
sudo cryptsetup -y --cipher=aes-xts-plain64 -s 512 create sav /dev/mvg/save
sudo mkfs -t ext4 /dev/mapper/sav
sudo mount /dev/mapper/sav /mnt/save

Et voilà, c’est fini !

Pour « démonter » les volumes.

sudo umount /mnt/donnees
sudo cryptsetup remove don
sudo umount /mnt/save
sudo cryptsetup remove sav

Pour y accéder par la suite, à chaque démarrage il faudra taper les commandes suivantes:

sudo cryptsetup --cipher=aes-xts-plain64 -s 512 create don /dev/mvg/donnees
sudo mount /dev/mapper/don /mnt/donnees
sudo cryptsetup --cipher=aes-xts-plain64 -s 512 create sav /dev/mvg/save
sudo mount /dev/mapper/sav /mnt/save

Pour aller plus loin:
4 billets sur LVM et 2 sur le chiffrage sur le site Hoper sur l’onglet « Partage de connaissances »

Mps-youtube des vidéos depuis un terminal

Regardez des vidéos depuis un terminal.

Encore un billet qui sent le réchauffé… Je l’ai retesté pour réécriture et c’est encore plus simple sur Ubuntu 14.04 que lors de mon ancien billet sur ubuntu 12.04.

Quand on est sur un terminal, il arrive que l’on est envie d’un peu plus d’animation. Et pourquoi pas visionner et télécharger des vidéos en streaming depuis youtube en ligne de commande… Pms-youtube est fait pour ça!

Facile à installer et à utiliser.

$ sudo apt-get install python-pip
$ sudo pip install mps-youtube
$ sudo pip install mps-youtube --upgrade

Si vous n’avez pas déjà installé mplayer, c’est le moment.

$ sudo apt-get install mplayer

On lance avec:

$ mpsyt

Et on arrive sur la fenêtre d’accueil de pms-youtube.
En tapant « h » on a l’aide sur les commandes disponibles et c’est très complet!

> h

En revenant sur la page d’accueil on peut faire une recherche. Comme j’aime le reggaeton Cubain, dont « El Micha », je tape /El Micha. On peut remplacer le « / » par un « . » , ça marche aussi.

> /El Micha

On obtient une liste, il n’y a plus qu’à choisir.

PlayList affiché sur un terminalSi je tape par exemple « 8 », j’obtiens que la vidéo.

> 8

Et voilà ce qu’on obtient!

Écran sur lequel il y a un terminal où l'on voit la play list et en dessous une vidéo.A tester, c’est vraiment super!

Télécharger des vidéos et sons avec Youtube-dl (multi sites)

Télécharger des vidéos et sons avec Youtube-dl (multi sites)

Télécharger des vidéos ou bandes sons

Youtube-dl permet de télécharger des vidéos, ou uniquement la bande son, ou encore la vidéo sans le son (en fonction des plates-formes). Contrairement à son nom, il ne s’arrête pas à youtube, il est multi-sites (youtube, Dailymotion, Vimeo, Wat-TV, Arte…) alors pourquoi un tel nom? Il s’agit certainement d’un projet qui à l’origine visait youtube mais comme beaucoup d’applications libres, les contributeurs l’ont fait évoluer… La magie du logiciel libre!

Pourquoi utiliser une telle application? Si vous avez un débit trop bas et qu’il vous est impossible de regarder le moindre clip en streaming, même en basse qualité, cela peut être une solution pour vous… Votre beau-frère a fait une vidéo de votre anniversaire avec un fond musical que vous n’appréciez pas et vous souhaitez récupérer que la vidéo sans le son, il a aussi fait un discours et vous souhaitez récupérer la bande son sans la vidéo…

Bref! plein de possibilités (en fonction des plates-formes).

ATTENTION: ici, pas question de faire l’apologie du “piratage”, il s’agit de palier aux problèmes de basse connexion que peuvent rencontrer certains ainsi qu’aux problèmes de conception des plates-formes vidéos et leurs lecteurs flash.

Installation (je suis Ubuntu, un simple…

sudo apt-get install youtube-dl

Ou si vous souhaitez la dernière version:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install youtube-dl

Les exemples ci-dessous ne laissent pas préjuger de mes goûts, j’ai pris les liens au hasard, juste à titre d’exemple.

Utilisation rapide youtube-dl:
– Il suffit de coller l’url de la vidéo juste après youtube-dl en laissant un espace pour télécharger une vidéo.

$ youtube-dl https://www.youtube.com/watch?v=e-ORhEE9VVg

– pour la bande son, mettre l’option « -x »

$ youtube-dl -x https://www.youtube.com/watch?v=e-ORhEE9VVg

Dans ces deux exemples on ne choisit pas la qualité téléchargée souvent la plus basse par défaut.
En fin de cet article solution pour Dedian Jessie

Utilisation pour les plus exigeants:

– Youtube: Voir les qualités proposées pour une vidéo donnée, utiliser l’option « -F » (en majuscule)

$ youtube-dl -F https://www.youtube.com/watch?v=e-ORhEE9VVg
#----Ci-dessous le résultat de la commade----
#----Ca vaut pour les exemples plus bas----
[youtube] e-ORhEE9VVg: Downloading webpage
[youtube] e-ORhEE9VVg: Extracting video information
[youtube] e-ORhEE9VVg: Downloading js player en_US-vflsXGZP2
[youtube] e-ORhEE9VVg: Downloading DASH manifest
[info] Available formats for e-ORhEE9VVg:
format code extension resolution note
171         webm      audio only  DASH audio , audio@128k (worst)
140         m4a       audio only  DASH audio , audio@128k
139         m4a       audio only  DASH audio   49k , audio@ 48k (22050Hz), 1.57MiB
140         m4a       audio only  DASH audio  129k , audio@128k (44100Hz), 4.17MiB
171         webm      audio only  DASH audio  136k , audio@128k (44100Hz), 3.95MiB
172         webm      audio only  DASH audio  208k , audio@256k (44100Hz), 5.94MiB
141         m4a       audio only  DASH audio  255k , audio@256k (44100Hz), 8.28MiB
160         mp4       144p        DASH video , video only
278         webm      256x144     DASH video  108k , webm container, VP9, 12fps, video only, 2.41MiB
160         mp4       256x144     DASH video  121k , 12fps, video only, 3.38MiB
242         webm      240p        DASH video , video only
133         mp4       240p        DASH video , video only
242         webm      426x240     DASH video  234k , 24fps, video only, 4.37MiB
133         mp4       426x240     DASH video  256k , 24fps, video only, 7.63MiB
243         webm      360p        DASH video , video only
134         mp4       360p        DASH video , video only
243         webm      640x360     DASH video  409k , 24fps, video only, 7.80MiB
134         mp4       640x360     DASH video  381k , 24fps, video only, 7.82MiB
244         webm      480p        DASH video , video only
135         mp4       480p        DASH video , video only\r\n244  webm  854x480  DASH video  640k , 24fps, video only, 12.30MiB
135         mp4       854x480     DASH video  742k , 24fps, video only, 15.84MiB
247         webm      720p        DASH video , video only
136         mp4       720p        DASH video , video only
247         webm      1280x720    DASH video 1148k , 24fps, video only, 22.81MiB
136         mp4       1280x720    DASH video 1299k , 24fps, video only, 30.59MiB
248         webm      1080p       DASH video , video only
137         mp4       1080p       DASH video , video only
248         webm      1920x1080   DASH video 2271k , 24fps, video only, 40.15MiB
137         mp4       1920x1080   DASH video 2593k , 24fps, video only, 58.56MiB
17          3gp       176x144
36          3gp       320x240
5           flv       400x240
43          webm      640x360
18          mp4       640x360
22          mp4       1280x720    (best)

Téléchager la qualité qui vous intéresse avec l’option « -f » (en minuxcule).
Imaginons que vous souhaitez que la bande son échantillée à 255k vous utilisirez l’option « -f 141 »
Vous ne souhaitez que la vidéo sans le son avec au format 1920×1080 « -f 248 »
Vous souhaitez la vidéo avec le son à la meilleur qualité proposée « -f 22 »
Exemple :

$ youtube-dl -f 22 https://www.youtube.com/watch?v=e-ORhEE9VVg

– Pour Dailymotion, c’est le même principe

$ youtube-dl -F http://www.dailymotion.com/video/x20w1rz_iggy-azalea-black-widow-ft-rita-ora-official-video_music
[dailymotion] x20w1rz: Downloading webpage
[dailymotion] x20w1rz: Extracting information
[dailymotion] x20w1rz: Downloading embed page
[info] Available formats for x20w1rz:
format code extension resolution  note 
ld          mp4       320x240     (worst)
standard    mp4       512x384     
hq          mp4       848x480     
hd          mp4       1280x720    
hd180       mp4       1920x1080   (best)

Si par exemple on souhaite la meilleure version :

$ youtube-dl -f hd180 http://www.dailymotion.com/video/x20w1rz_iggy-azalea-black-widow-ft-rita-ora-official-video_music

– Sur Vimeo

$ youtube-dl -F http://vimeo.com/1084537
[vimeo] 1084537: Downloading webpage
[vimeo] 1084537: Extracting information
[vimeo] 1084537: Downloading webpage
[info] Available formats for 1084537:
format code extension resolution  note 
h264-mobile mp4       480x272     (worst)
vp6-sd      flv       504x284     
vp6-hd      flv       1280x720    
vp8-hd      flv       1280x720    (best)

$ youtube-dl -f vp8-hd youtube-dl -F http://vimeo.com/1084537

– Pour Wat-TV

$ youtube-dl -F http://www.wat.tv/video/votez-pour-faire-briller-talents-74vt3_74crj_.html
[wat.tv] votez-pour-faire-briller-talents: Downloading webpage
[wat.tv] 11985159: Downloading JSON metadata
[wat.tv] 11985159: Downloading server time
[wat.tv] 11985159: Downloding SD video URL
[wat.tv] 11985159: Downloading server time
[wat.tv] 11985159: Downloding HD video URL
[info] Available formats for 11985159:
format code extension resolution  note 
Mobile      mp4       unknown     (worst)
SD          mp4       unknown     
HD          mp4       unknown     (best)

$ youtube-dl -f [code (ici Mobile, SD ou HD)] [url]

– Et il en va de même pour Arte (si vous avez la rediffusion sur votre box, c’est mieux et moins long de visionner ce que vous souhaitez).

$ youtube-dl -F http://www.arte.tv/guide/fr/043395-000/tom-sawyer
[arte.tv:+7] 043395-000: Downloading webpage
[arte.tv:+7] 043395-000: Downloading JSON metadata
[info] Available formats for 043395-000_PLUS7-F:
format code   extension resolution  note 
HLS_SQ_2      m3u8      640x360     VOA, Version allemande 2200k  (worst)
HLS_SQ_1      m3u8      640x360     VF-STF, VF 2200k 
HLS_SQ_4      m3u8      640x360     VFAUD, Audiodesc. 2200K
RTMP_LQ_2     flv       320x200     VOA, Version allemande  300k 
RTMP_MQ_2     flv       720x406     VOA, Version allemande  800k
RTMP_EQ_2     flv       720x406     VOA, Version allemande 1500k 
RTMP_SQ_2     flv       1280x720    VOA, Version allemande 2200k
RTMP_LQ_1     flv       320x200     VF-STF, VF  300k 
RTMP_LQ_4     flv       320x200     VFAUD, Audiodesc.  300k 
RTMP_MQ_1     flv       720x406     VF-STF, VF  800k 
RTMP_MQ_4     flv       720x406     VFAUD, Audiodesc.  800K
RTMP_EQ_1     flv       720x406     VF-STF, VF 1500k
RTMP_EQ_4     flv       720x406     VFAUD, Audiodesc. 1500K
RTMP_SQ_1     flv       1280x720    VF-STF, VF 2200k
RTMP_SQ_4     flv       1280x720    VFAUD, Audiodesc. 2200k 
HTTP_MP4_MQ_2 mp4       720x406     VOA, Version allemande  800k
HTTP_MP4_EQ_2 mp4       720x406     VOA, Version allemande 1500k 
HTTP_MP4_SQ_2 mp4       1280x720    VOA, Version allemande 2200k 
HTTP_MP4_MQ_1 mp4       720x406     VF-STF, VF  800k 
HTTP_MP4_MQ_4 mp4       720x406     VFAUD, Audiodesc.  800k 
HTTP_MP4_EQ_1 mp4       720x406     VF-STF, VF 1500k 
HTTP_MP4_EQ_4 mp4       720x406     VFAUD, Audiodesc. 1500K
HTTP_MP4_SQ_1 mp4       1280x720    VF-STF, VF 2200k
HTTP_MP4_SQ_4 mp4       1280x720    VFAUD, Audiodesc. 2200k  (best)

$ youtube-dl -f HTTP_MP4_SQ_4  http://www.arte.tv/guide/fr/043395-000/tom-sawyer

Un ami Jld m’a rapporté un soucis sous Debian Jessie, avec le message d’erreur suivant:

youtube-dl https://www.youtube.com/watch?v=e-ORhEE9VVg
[youtube] Setting langage
[youtube] e-ORhEE9VVg: Downloading webpage
[youtube] e-ORhEE9VVg: Downloading video info webpage
[youtube] e-ORhEE9VVg: Extracting video information
[youtube] e-ORhEE9VVg: Encrypted signatures detected.
[youtube] e-ORhEE9VVg: Downloading js player vflw4H1P-
ERROR: Signature extraction failed: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 479, in _decrypt_signature
(…)

Sa solution :
Téléchargé la version 2014.12.01-1 disponible sur le dépôt de la version instable (Sid) et installé par

# dpkg -i youtube-dl_2014.12.01-1_all.deb

Pour en savoir plus:

$ man youtube-dl

Changer son adresse MAC sous linux

C’est quoi une adresse MAC ?

L’adresse MAC (Media Access Control address) est un identifiant, codé sur 6 octets en hexadécimales (base16). Cette adresse est censée être unique et propre à chaque carte ou périphérique réseau. Exemple d’adresse MAC : 00:1a:92:a8:55:ff

Pour en savoir plus sur ce qu’est une adresse MAC.

Pourquoi changer son adresse MAC ?

Si par exemple un serveur ou hotspots fait du filtrage MAC et vous vous êtes fait blacklister de façon incompréhensible et vous souhaitez vous reconnecter… Changer l’adresse MAC peut être une solution… C’est aussi une solution à d’autres obstacles.

Plusieurs façons de changer votre adresse MAC.

Une façon simple est de le faire à la main :

# ifconfig eth1 hw ether 00:0c:bc:b5:68:6e

Mais avec macchanger on peut faire plus…
Pour modifier l’adresse MAC nous allons faire appel au programme macchanger.
S’il n’est pas installé : apt-get install macchanger

Une fois installé, voyons les options

$ macchanger -h
GNU MAC Changer
Usage: macchanger [options] device
  -h,  --help                   Print this help
  -V,  --version                Print version and exit
  -s,  --show                   Print the MAC address and exit
  -e,  --ending                 Don't change the vendor bytes
  -a,  --another                Set random vendor MAC of the same kind
  -A                            Set random vendor MAC of any kind
  -p,  --permanent              Reset to original, permanent hardware MAC
  -r,  --random                 Set fully random MAC
  -l,  --list[=keyword]         Print known vendors
  -m,  --mac=XX:XX:XX:XX:XX:XX
       --mac XX:XX:XX:XX:XX:XX  Set the MAC XX:XX:XX:XX:XX:XX

Avant de détailler les options… de quelle interface réseau souhaitez-vous modifier l’adresses MAC ?

– Listez avec « ifconfig » vous verrez (ethX pour les filaires, wlanX pour les wifi) et leur adresse MAC se trouve après Hwaddr.
Pour l’exemple nous allons utiliser eth1.

– Connaître l’adresse MAC permanente et courante de eth1 ainsi que le fabriquant.

$ macchanger -s eth1
Current MAC:   00:0c:bc:b5:68:6e (Iscutum)
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)

La première ligne est l’adresse que j’ai mis plus haut, la deuxième est celle d’origine.

Les commandes suivantes doivent être lancées avec les droits « root » (sauf l’option -l). Soit vous optez pour « sudo » ou « sudo -s »

Changer l’adresse MAC sans changer le fabricant. En effet les trois premiers octets de l’adresse MAC identifient le fabricant (pas tout à fait, je vous laisse lire wikipédia, si le sujet vous intéresse)
Avant il faut désactiver la carte par « ifconfig down » eth1 et la réactiver ensuite avec l’option « up »

# ifconfig eth1 down
# macchanger -e eth1
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
Current   MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
New       MAC: 00:1a:92:ad:83:0c (Asustek Computer Inc.)
# ifconfig eth1 up

– Revenir à l’adresse MAC d’origine, l’option -p

# ifconfig eth1 down
# macchanger -p eth1
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
Current   MAC: 00:1a:92:ad:83:0c (Asustek Computer Inc.)
New       MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
# ifconfig eth1 up

– Obtenir une adresse MAC aléatoire d’un fabricant et du même genre, l’option -a

# ifconfig eth1 down
# macchanger -a eth1
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
Current   MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
New       MAC: 00:13:1c:c9:cc:1a (Litetouch, Inc.)
# ifconfig eth1 up

– Obtenir une adresse MAC aléatoire d’un fabricant et de n’importe quel genre, l’option -A

# ifconfig eth1 down
# macchanger -A eth1
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
Current   MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
New       MAC: 00:0c:bc:b5:68:6e (Iscutum)
# ifconfig eth1 up

– Obtenir une adresse totalement aléatoire, option -r

# ifconfig eth1 down
# macchanger -r eth1
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
Current   MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
New       MAC: 5c:96:67:da:37:81 (unknown)
# ifconfig eth1 up

– Attribuer une adresse MAC manuellement, option –mac
on va attribuer l’adresse : 00:0c:bc:b5:68:6e
Cette méthode correspond à la façon de faire à la main dit en début de billet.

# ifconfig eth1 down
# macchanger --mac=00:0c:bc:b5:68:6e eth1
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
Current   MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
New       MAC: 00:0c:bc:b5:68:6e (Iscutum)
# ifconfig eth1 up

– Pour lister les vendeurs, option –list
ex. : listons les adresse mac de  Asustek

# macchanger --list=Asustek
Misc MACs:
Num    MAC        Vendor
---    ---        ------
3148 - 00:0c:6e - Asustek Computer Inc.
3716 - 00:0e:a6 - Asustek Computer Inc.
4364 - 00:11:2f - Asustek Computer Inc.
4533 - 00:11:d8 - Asustek Computer Inc.
5041 - 00:13:d4 - Asustek Computer Inc.
5583 - 00:15:f2 - Asustek Computer Inc.
5902 - 00:17:31 - Asustek Computer Inc.
(...)

Script pour changer d’adresse à chaque démarrage

– Changer son adresse MAC à chaque démarrage.
Choisissez votre carte dont vous souhaitez modifier l’adresse MAC ainsi que l’option.
Dans cet exemple on continue avec la carte eth1 et on va choisir l’option -r pour avoir une nouvelle adresse MAC aléatoire à chaque démarrage.
Bien-sûr, vous pouvez modifier plusieurs cartes dans ce même script, je le montre en commentaire #
Facile, on va créer un script avec les commandes qu’on a vu ci-dessus.
Dans votre éditeur de texte favori écrivez :

#!/bin/bash
# Désactiver la/les interface(s) réseaux
# ifconfig eth0 down
ifconfig eth1 down
# ifconfig wlan0 down
# ifconfig wlan1 down
# Générer une adresse MAC aléatoire pour le/les interface(s) réseaux
# /usr/bin/macchanger -r eth0
/usr/bin/macchanger -r eth1
# /usr/bin/macchanger -r wlan0
# /usr/bin/macchanger -r wlan1
# Réactiver la/les interface(s) réseaux
# ifconfig eth0 up
ifconfig eth1 up
# ifconfig wlan0 up
# ifconfig wlan1 up

– Enregistrez sous… par exemple monmacchanger.sh
– placez-le dans /etc/init.d/
– Placez-vous sur /etc/init.d/
– Rendez-le exécutable

# chmod +x monmacchanger.sh

Autoriser le script à chaque démarrage

# update-rc.d monmacchanger.sh defaults 15

C’est fini, maintenant à chaque démarrage la/les interface(s) réseau(x) aura/auront une nouvelle adresse MAC.