Scripts en vrac

Bouts de scripts de plusieurs auteurs, à utiliser en connaissance de cause, et toujurs avec prudence !

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

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

  1. vous avez un systéme Ubuntu récent, mais un environnement non classic sans agent policykit qui aille bien …
  2. 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 !
  • utilisateurs/j5012/brouillons/scripts_en_vrac.txt
  • Dernière modification: Le 10/03/2021, 11:58
  • par J5012