-
Notifications
You must be signed in to change notification settings - Fork 85
/
Copy pathscript.sh
144 lines (122 loc) · 2.79 KB
/
script.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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
#!/bin/bash
# This should generate a list of domains 1-20 wrapped around a root "word"
echo ""
echo "____________________________________________________________________________"
echo ""
## variables
source /etc/youtubeadsblacklist/script/vars/scriptvars.var
## whiptail required
WHATITIS=whiptail
WHATPACKAGE=whiptail
if
which $WHATITIS >/dev/null;
then
echo "$WHATITIS Already Installed"
else
echo "Installing $WHATITIS"
apt-get install -y $WHATPACKAGE
fi
echo ""
## gawk required
WHATITIS=gawk
WHATPACKAGE=gawk
if
which $WHATITIS >/dev/null;
then
echo "$WHATITIS Already Installed"
else
echo "Installing $WHATITIS"
apt-get install -y $WHATPACKAGE
fi
echo ""
echo "____________________________________________________________________________"
echo ""
## If we want a fresh start
if
(whiptail --yesno "Do you want to skip rootsubs from previous runs?" 10 80)
then
:
else
rm $ROOTSUBSOLDLIST
rm $ROOTSUBSBADLIST
fi
## delete old domains list
if
ls $DOCTOSPITOUTOLD &> /dev/null;
then
rm $DOCTOSPITOUTOLD
else
:
fi
## backup old domains list
if
ls $DOCTOSPITOUT &> /dev/null;
then
mv $DOCTOSPITOUT $DOCTOSPITOUTOLD
else
:
fi
## Sort and dedupe rootsubs list
cat -s $ROOTSUBSLIST | sort -u | gawk '{if (++dup[$0] == 1) print $0;}' > $TEMPFILE
mv $TEMPFILE $ROOTSUBSLIST
## Let's skip the ones we've already handled
if
ls $ROOTSUBSOLDLIST &> /dev/null;
then
gawk 'NR==FNR{a[$0];next} !($0 in a)' $ROOTSUBSOLDLIST $ROOTSUBSLIST > $TEMPFILE
rm $ROOTSUBSOLDLIST
else
cp $ROOTSUBSLIST $TEMPFILE
fi
cp $ROOTSUBSLIST $ROOTSUBSOLDLIST
for source in `cat $TEMPFILE`;
do
echo "Processing $source"
echo ""
for i in {1..20}
do
DOMAINONE=r"$i"---sn-"$source".googlevideo.com
DOMAINTWO=r"$i".sn-"$source".googlevideo.com
SOURCEIPFETCHONE=`ping -c 1 $DOMAINONE | gawk -F'[()]' '/PING/{print $2}'`
SOURCEIPONE=`echo $SOURCEIPFETCHONE`
SOURCEIPFETCHTWO=`ping -c 1 $DOMAINTWO | gawk -F'[()]' '/PING/{print $2}'`
SOURCEIPTWO=`echo $SOURCEIPFETCHTWO`
if
[[ -n $SOURCEIPONE ]]
then
echo "$DOMAINONE is located at $SOURCEIPONE"
echo "$DOMAINONE" | tee --append $DOCTOSPITOUT &>/dev/null
else
echo "$DOMAINONE" | tee --append $ROOTSUBSBADLIST &>/dev/null
fi
if
[[ -n $SOURCEIPTWO ]]
then
echo "$DOMAINTWO is located at $SOURCEIPTWO"
echo "$DOMAINTWO" | tee --append $DOCTOSPITOUT &>/dev/null
else
echo "$DOMAINTWO" | tee --append $ROOTSUBSBADLIST &>/dev/null
fi
unset SOURCEIPONE
unset SOURCEIPTWO
## Done with Loop
done
echo "____________________________________________________________________________"
echo ""
done
## Remove temp file
CHECKME=$TEMPFILE
if
ls $CHECKME &> /dev/null;
then
rm $CHECKME
else
:
fi
touch $DOCTOSPITOUT
touch $DOCTOSPITOUTOLD
cat $DOCTOSPITOUTOLD $DOCTOSPITOUT >> $TEMPFILE
rm $DOCTOSPITOUT
mv $TEMPFILE $DOCTOSPITOUT
HOWMANYLINES=$(echo -e "`wc -l $DOCTOSPITOUT | cut -d " " -f 1`")
echo "New List Contains $HOWMANYLINES Domains."