Décryptage d’une commande “compliquée” sous Linux



Le shell est un outil très puissant, mais qui fait peur, parce qu’il parait souvent très compliqué. Aujourd’hui, je vous propose de faire un pas à pas pour comprendre comment tout ça fonctionne, pour ne plus avoir peur.

Histoire de voir à quoi nous avons affaire, voici sans plus de préambule la commande kifépeur :

wget -q -O - $pagelink | grep "\.mp4" | cut -d\" -f 4 | sed 's/1080p/720p/g'
J’ai pondu ça en cherchant à récupérer le lien direct des vidéos sur le site Jeuxvideo.com, puisqu’ils ne sont plus disponibles depuis la refonte du site (ils étaient à destination des Mac’eux, qui n’ont pas l’horreur Flash). $pagelink contient donc un lien vers une des pages du site, qui contient la vidéo convoitée, comme cette page par exemple.

  Rappel sur le pipe: non j’ai pas fait d’erreur, le pipe, c’est le nom qu’on donne au “|”. Son utilité, renvoyer le résultat d’une commande à une autre commande. Notre ligne d’exemple est ainsi un enchaînement de commandes qui chacune travaille avec le résultat de la précédente. Voyons donc chaque étape, en commençant par le début, celle du téléchargement de la page :

<div class="header-video">
<div itemscope itemtype="http://schema.org/Organization">
 <span itemprop="name" content="Jeuxvideo.com"></span>
</div>
<meta itemprop="videoFrameSize" content="mp4" />
<meta itemprop="description" content="la derniere fois que coeurdevandale et realmyop se sont retrouves devant tag 140961 mirror s edge il..." />
<meta itemprop="contentUrl" content="http://video1080.jeuxvideo.com/chroniques/s/p/speed-game-mirror-s-edge-2-144960-1439971518-1080p.mp4" />
<meta itemprop="duration" content="PT0H41M41S" />
<meta itemprop="videoQuality" content="1080p" />
<meta itemprop="encodingFormat" content="mpeg4" />
<meta itemprop="thumbnail" content="http://image.jeuxvideo.com/images/videos/chroniques-images/s/p/speed-game-mirror-s-edge-2-144960-1439971518-low.jpg" />
<meta itemprop="playerType" content="Flash" />
<meta itemprop="name" content="Speed Game - Mirror&#039;s Edge de retour, fini en 30:45" />
<div class="titre-video">
 <span>Chronique</span> Speed Game - Mirror&#039;s Edge de retour, fini en 30:45
 </div>
 <div class="foot-video">
  <div class="date-comm">
  <time datetime="2015-08-22T12:02">22/08/2015 à 12:02</time>
Ce résultat est ensuite envoyé à cette partie :

grep "\.mp4"
grep est un outil pour vous retourner les lignes d’un fichier (ou ici, du résultat du wget), ici on cherche les lignes dans lesquelles se trouve le “mot” “.mp4” :
<" meta itemprop="contentUrl" content="http://video1080.jeuxvideo.com/chroniques/s/p/speed-game-mirror-s-edge-2-144960-1439971518-1080p.mp4" />
Yes, une seule ligne ! On la passe ensuite à la moulinette de la partie suivante :
cut -d\" -f 4
cut est un utilitaire qui, comme son nom l’indique dans la langue de Shakespeare, découpe la chaîne qu’on lui donne en morceaux suivant un séparateur, ici le “, et on lui dit de renvoyer le f-ième morceau :
 http://video1080.jeuxvideo.com/chroniques/s/p/speed-game-mirror-s-edge-2-144960-1439971518-1080p.mp4
On approche du but, ceci dit comme j’ai pas un débit de malade, je ne cherche pas le lien de la vidéo en Full HD, mais en 720p. Par chance, il suffit de remplacer le 1080p au bout du lien par 720p, et c’est sed qui s’en charge :
 sed 's/1080p/720p/g' 

En gros, remplacer “1080p” par “720p”. Pourquoi mettre le “p” à la fin ? Pour éviter de remplacer aussi video1080 par video720 au début du lien, au risque de rencontrer des erreurs :

http://video1080.jeuxvideo.com/chroniques/s/p/speed-game-mirror-s-edge-2-144960-1439971518-720p.mp4

Et voilà, j’ai mon lien final :)

Pour l’histoire, j’utilise ce lien ensuite pour télécharger la vidéo avec wget, appelé soit seul soit avec trickle. Ça vous parle ? C’est normal, j’en ai parlé de l’article sur le contrôle de vitesse de téléchargement. Sinon, Jeuxvideo.com fait partie des sites supportés par youtube-dl, mais j’ai découvert ça après avoir codé mon truc.

Des possibilités infinies

On le voit, au final, on a mis bout à bout plusieurs outils qui ne font chacun qu’une seule chose, mais qui le font bien. Imaginez que les commandes sont des blocs Lego différents, et pensez (ou cherchez sur le Web) à toutes les créations plus hallucinantes les unes que les autres que sont capables de créer les gens qui jouent avec. C’est pareil, difficile de ne pas trouver une solution à un problème avec de telles possibilités de combinaison.

Par exemple, quand on a pas la possibilité d’avoir Fail2ban sous la main, chercher dans les logs de votre serveur Web les IPs les plus violentes en les classant par fréquence d’occurrence, et pourquoi pas bannir les 5 du groupe de tête, les plus agressives. En clair, une fois maîtrisées ces commandes “de base”, seule votre imagination vous bridera. Amusez-vous bien.

Source: seboss666

Powerline script pour révolutionner votre Bash terminal


L'apparence de ton Bash Terminal ne te plait pas ? Tu veux la changer ? Que dis-tu de Powerline-shell ? Vous voulez que votre Bash Terminal ressemble au miens ?

C'est simple. Pour appliquer ce changement tu dois faire comme suit :


  • Télécharger ce script python 
  • Puis déplacer le fichier téléchargé dans votre : /home/user_name
  • Puis il faut le rendre exécutable avec cette commande: 

chmod +x powerline-bash.py

  • Puis ouvrir le fichier Bashrc avec cette commande (J'utilise gedit, vous pouvre choisir l'éditeur texte de votre choix) : 


sudo ~/.bashrc

  • À la fin de votre fichier Bashrc faut ajouter ces lignes : 

function _update_ps1() {

export PS1="$(~/powerline-bash.py $?) "

}

export PROMPT_COMMAND="_update_ps1"


Et voilà ! Ouvre à nouveau votre Bash Terminal et amuse-toi !
Pour plus d'informations : Powerline-shell 

Hollywood – Simuler une fenêtre de hacking comme au cinéma, sur Ubuntu


Comme vous l’avez souvent vu au cinéma ou à la télé, les réalisateurs rivalisent d’idées (plus ou moins réalistes) quand il s’agit de mettre en scène des informaticiens de la mort-qui-tue, capables de hacker la terre entière en deux clics seulement. Nous les voyons souvent derrière leur écrans aux mille fenêtres ouvertes, tapoter joyeusement et faire défiler des trucs de toutes les tailles et de toutes les couleurs. J’aimerais que ce soit aussi facile dans la vraie vie, mais ça n’est pas le cas. Alors si comme moi vous êtes une semi-tanche en informatique et que vous avez envie de donner le change comme au cinéma, sachez que c’est possible si vous tournez sur Ubuntu. Hollywood est un outil signé Dustin Kirkland (le chef de projet d’Ubuntu Cloud), aussi inutile qu’indispensable et conçu dans le but de faire de vous un vrai faux hacker, comme à Hollywood. Il utilise pour cela une session Byobu (Tmux) et un panel d’outils tels que ccze, screen, cmatrix, speedometers, mplayer2, kerneltop, logtop, netmrg, nload, nmon, ntop, powertop, sagan, etc, lancés simultanément dans une fenêtre scindée. Le résultat est assez amusant et bien que cela ne serve à rien, c’est vraiment très fun. Comme je le dis souvent « c’est toujours plus beau quand c’est inutile », alors si ça vous tente nous allons voir tout de suite comment en profiter.

Si la capture d’écran ne vous suffit pas et que vous voulez voir la bête en action avant de vous lancer, vous pouvez jeter un œil à cette petite vidéo :

Ça a du chien non ?!! :)

S’il vous le faut absolument et que vous tournez sur Ubuntu, il suffit d’entrer ces quelques lignes dans votre terminal pour en profiter :

sudo apt-add-repository ppa:hollywood/ppa

sudo apt-get update

sudo apt-get install hollywood

Une fois que c’est fait il suffit d’ouvrir byobu et d’entrer ceci dans le terminal :

hollywood

Utilisez CTRL + C quand vous désirez quitter le programme.
Amusez-vous bien.

Source : lamiradadelreplicante.com