lundi 15 septembre 2014

Obtenir le nom et prénom d'un numéro de téléphone inconnu en ligne de commande (merci à Facebook :-))

Il y a quelques mois j'ai signalé une faille (qui en est vraiment une) à Facebook concernant la possibilité pour un utilisateur d'internet lambda (non forcément membre de Facebook) d'obtenir le nom et prénom d'un utilisateur en connaissant simplement son numéro de téléphone, cela fait de Facebook une formidable source d'information même un annuaire en ligne hors du commun, fait remarquable, votre nom et prénom peuvent être affichés à quiconque même si vous avez défini votre numéro de téléphone comme confidentiel, entendez par là "vous seul pouvez le voir"... Apparemment non, toute la planète peur le lier à votre identité ;-), Facebook a considéré que ce n'était pas une faille et ne l'ont donc pas résolu. voici la fonction à ajouter à votre .bashrc:
function get_name {
    NUM="$@"
    echo $(wget -qO- --post-data="email=$1" "https://m.facebook.com/login/identify?ctx=recover") | tee -a .fb_log | grep -oP '<strong>(.*?)</strong>' | sed -e :a -e 's/<[^>]*>//g;/</N;//ba'
}
Utilisation:
get_name "+indicatifnuméro"

Générer un nombre aléatoire de longueur arbitraire en bash

Cette petite fonction à ajouter à votre .bashrc génère un nombre aléatoire de longueur spécifiée en premier argument (la longueur 1 ne marche pas!)
function random {
    LEN=$1
    MAX=$(printf '9%.0s' $(seq 1 ${LEN}))
    ((LEN--))
    MIN=1$(printf '0%.0s' $(seq 1 ${LEN}))
    shuf -i ${MIN}-${MAX} -n 1
}

Lister tout les noms de domaines d'une adresse IP (reverse IP lookup in CLI)

Cette fonction est à ajouter dans votre fichier .bashrc et prend en paramètre une adresse IP pour afficher la liste de tout les domaines s'y trouvant:
function get_domains {
    wget -qO- "http://domains.yougetsignal.com/domains.php" --post-data="remoteAddress=$1&key=&_=" | grep -oP "([da-z.-]+).([a-z.]{2,6})([/w .-]*)*/?"
}

Affectations multiples de variables en bash

Si vous voulez affecter plusieurs variables en une seule ligne de commande, utilisez read
read a b c <<<$(echo 1 2 3)
echo "$a | $b | $c"

mardi 26 août 2014

Animated gifs for GFS runs

Here are two functions that generate animated gis for rain and winds in europa/north africa:

function gfs_rain {
mkdir -p /tmp/gfs && cd /tmp/gfs
i=1
wget -qO- "http://www.meteociel.fr/modeles/gfse_cartes.php?ech=6&code=code&mode=2&mode3h=1&carte=0" | grep -m 1 -oP "http://modeles.meteociel.fr/modeles/gfs/run/gfs-2-\d+-3h.png" | while read l; do
wget -c $l -O $i.png; ((i++))
done
mogrify -resize 512x341 *.png
ls | grep -oP "^\d{1}.png" | xargs -i{} mv {} 0{}
convert -delay 20 -loop 0 * gfs-rain.gif
}

function gfs_winds {
mkdir -p /tmp/gfs && cd /tmp/gfs
i=1
wget -qO- "http://www.meteociel.fr/modeles/gfse_cartes.php?ech=39&code=0&mode=14&mode3h=1" | grep -m 1 -oP "http://modeles\.meteociel\.fr/modeles/gfs/runs/.*?\.png" | while read l; do
wget -c $l -O $i.png; ((i++))
done
mogrify -resize 512x341 *.png
ls | grep -oP "^\d{1}.png" | xargs -i{} mv {} 0{}
convert -delay 20 -loop 0 * gfs-winds.gif
}

dimanche 24 août 2014

Night mode on your laptop

Whenever you want to read ebooks by night, it's preferable to dim the screen light, use xrander for this:

xrandr --output LVDS1 --gamma 1:1:1 --brightness 0.4

Wget via Tor

Here is a pair of function to add in the .basrc file that create a wget function runing through Tor, and a newnym() function to swith its IP address whenever we get black(grey)listed, do not forget to add your password if you changed it in the control port of Tor (and also the port itself it you changed it):

function newnym {
PORT="$@"
echo -e 'authenticate ""\nSIGNAL NEWNYM' | telnet localhost 1${PORT} > /dev/null 2>&1
}

function twget {
URL="$@"
torsocks wget -qO- ${URL} 2> /dev/null
}