-
Notifications
You must be signed in to change notification settings - Fork 1
/
title_grabber.sh
81 lines (81 loc) · 2.09 KB
/
title_grabber.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/bin/bash
RESTORE='\033[0m'
LRED='\033[01;31m'
LGREEN='\033[01;32m'
LYELLOW='\033[01;33m'
if pgrep -x "tor" > /dev/null
then
echo "Tor running..."
sleep 1
reset
else
echo "Tor not running..."
echo 'Start Tor before running this script.'
exit 1
fi
if [ "$#" -ne 1 ]
then
echo 'Title grabber v1'
echo 'ANK Exposure 2019'
echo ''
echo 'Gets titles of onion links.'
echo "Usage: $0 list_file"
exit 1
fi
echo 'Title grabber v1'
echo 'ANK Exposure 2019'
echo ''
echo 'All links will be stored in links.txt'
echo 'Any links with no title will be stored in unknown.txt'
echo ''
for link in $(cat $1); do
addr=$(echo "$link" | sed 's~http[s]*://~~g')
output=$(curl --connect-timeout 20 -s --socks5-hostname localhost:9050 $link | grep -iPo '(?<=<title>)(.*)(?=</title>)')
printf "$LGREEN"
printf "$addr"
printf "$RESTORE"
printf " -- "
if [[ -z "$output" ]] ; then
printf "$LRED"
printf "No Title"
printf "$RESTORE"
printf "\n"
echo "$link" >> unknown.txt
else
printf "$LYELLOW"
printf "$output"
printf "$RESTORE"
printf "\n"
echo "$link" >> links.txt
fi
done
echo ''
echo 'Would you like to check hosts that did not contain a title? Y/N'
read -r -p ">> " CHOICE
if [[ $CHOICE =~ ^([yY][eE][sS]|[yY])+$ ]]; then
for j in $(cat unknown.txt); do
addr_unk=$(echo "$j" | sed 's~http[s]*://~~g')
output_unk=$(curl --socks5-hostname localhost:9050 --connect-timeout 20 -Is $j | head -n 1)
printf "$LGREEN"
printf "$addr_unk -- "
printf "$RESTORE"
if [[ -z "$output_unk" ]] ; then
printf "$LRED"
printf "No response"
printf "$RESTORE"
printf "\n"
else
printf "$LYELLOW"
printf "Responded"
printf "$RESTORE"
printf "\n"
fi
done
echo "Would you like to clear unknown.txt? Y/N"
read -r -p '>> ' CHOICE2
if [[ $CHOICE =~ ^([yY][eE][sS]|[yY])+$ ]]; then
> unknown.txt
else
continue
fi
fi