mirror of
https://github.com/prurigro/buildhosts.git
synced 2024-11-21 05:42:32 -05:00
Clean up formatting and add missing dependencies to buildhosts
This commit is contained in:
parent
fa33357b92
commit
99ed481d97
2 changed files with 38 additions and 29 deletions
|
@ -29,7 +29,7 @@ default_sources=(
|
|||
'http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext'
|
||||
)
|
||||
|
||||
script_dependencies=('curl' 'sed')
|
||||
script_dependencies=('curl' 'mv' 'sed' 'sort')
|
||||
|
||||
# Set the script name
|
||||
script_name="${0//*\/}"
|
||||
|
@ -121,6 +121,7 @@ function buildhosts_build {
|
|||
|
||||
# Download the the current source into $source_data and fail if the result is empty
|
||||
source_data=$(curl -C - -s "$source" | tr -d "\r")
|
||||
|
||||
[[ -n "$source_data" ]] \
|
||||
|| buildhosts_error "Could not download list @ $source"
|
||||
|
||||
|
@ -203,7 +204,7 @@ done
|
|||
}
|
||||
|
||||
# Fail if run with no commands
|
||||
[[ -z "$1" ]] && buildhosts_error "A valid command must be provided" 1
|
||||
[[ -z "$1" ]] && buildhosts_error 'A valid command must be provided' 1
|
||||
|
||||
# Run the command entered by the user
|
||||
case "$1" in
|
||||
|
@ -217,6 +218,6 @@ case "$1" in
|
|||
buildhosts_help 1
|
||||
;;
|
||||
*)
|
||||
buildhosts_error "Invalid command" 1
|
||||
buildhosts_error 'Invalid command' 1
|
||||
;;
|
||||
esac
|
||||
|
|
60
p2p-to-hosts
60
p2p-to-hosts
|
@ -1,44 +1,52 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
if [[ -z "$1" ]] || [[ -z "$2" ]]; then
|
||||
echo "Error: Run this scrip with a blocklist URL in p2p format and an output file as arguments"
|
||||
[[ -z "$1" || -z "$2" ]] && {
|
||||
printf '%s\n' 'Error: Run this scrip with a blocklist URL in p2p format and an output file as arguments' >&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
P2PLIST=$(sed 's|^.*:||' < <(wget -q -O - "$1" | gunzip) | grep -E "^[0-9]*.[0-9]*.[0-9]*.[0-9]*-[0-9]*.[0-9]*.[0-9]*.[0-9]*$")
|
||||
[[ ! $(grep -E "^[0-9]*.[0-9]*.[0-9]*.[0-9]*-[0-9]*.[0-9]*.[0-9]*.[0-9]*$" <<< "$P2PLIST") ]] && echo "Error: The URL ${1} does not appear to contain a P2P-formatted blocklist" && exit 1
|
||||
p2plist=$(sed 's|^.*:||' < <(wget -q -O - "$1" | gunzip) | grep -E "^[0-9]*.[0-9]*.[0-9]*.[0-9]*-[0-9]*.[0-9]*.[0-9]*.[0-9]*$")
|
||||
|
||||
for address_range in ${P2PLIST[@]}; do
|
||||
IP1=$(cut -d '-' -f 1 <<< "$address_range")
|
||||
IP1_1=$(cut -d '.' -f 1 <<< "$IP1")
|
||||
IP1_2=$(cut -d '.' -f 2 <<< "$IP1")
|
||||
IP1_3=$(cut -d '.' -f 3 <<< "$IP1")
|
||||
IP1_4=$(cut -d '.' -f 4 <<< "$IP1")
|
||||
grep -q -E "^[0-9]*.[0-9]*.[0-9]*.[0-9]*-[0-9]*.[0-9]*.[0-9]*.[0-9]*$" <<< "$p2plist" || {
|
||||
printf '%s\n' "Error: The URL $1 does not appear to contain a P2P-formatted blocklist" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
IP2=$(cut -d '-' -f 2 <<< "$address_range")
|
||||
for address_range in "${p2plist[@]}"; do
|
||||
ip1=$(cut -d '-' -f 1 <<< "$address_range")
|
||||
ip1_1=$(cut -d '.' -f 1 <<< "$ip1")
|
||||
ip1_2=$(cut -d '.' -f 2 <<< "$ip1")
|
||||
ip1_3=$(cut -d '.' -f 3 <<< "$ip1")
|
||||
ip1_4=$(cut -d '.' -f 4 <<< "$ip1")
|
||||
ip2=$(cut -d '-' -f 2 <<< "$address_range")
|
||||
|
||||
echo "127.0.0.1 ${IP1_1}.${IP1_2}.${IP1_3}.${IP1_4}" >> "$2"
|
||||
while [ ! "${IP1_1}.${IP1_2}.${IP1_3}.${IP1_4}" = "$IP2" ]; do
|
||||
if [ "$IP1_4" -lt 255 ]; then
|
||||
IP1_4=$(expr $IP1_4 + 1)
|
||||
printf '%s\n' "127.0.0.1 ${ip1_1}.${ip1_2}.${ip1_3}.${ip1_4}" >> "$2"
|
||||
|
||||
while [[ ! "${ip1_1}.${ip1_2}.${ip1_3}.${ip1_4}" = "$ip2" ]]; do
|
||||
if (( ip1_4 < 255 )); then
|
||||
ip1_4=$(( ip1_4 + 1 ))
|
||||
else
|
||||
IP1_4=0
|
||||
if [ "$IP1_3" -lt 255 ]; then
|
||||
IP1_3=$(expr $IP1_3 + 1)
|
||||
ip1_4=0
|
||||
|
||||
if (( ip1_3 < 255 )); then
|
||||
ip1_3=$(( ip1_3 + 1 ))
|
||||
else
|
||||
IP1_3=0
|
||||
if [ "$IP1_2" -lt 255 ]; then
|
||||
IP1_2=$(expr $IP1_2 + 1)
|
||||
ip1_3=0
|
||||
|
||||
if (( ip1_2 < 255 )); then
|
||||
ip1_2=$(( ip1_2 + 1 ))
|
||||
else
|
||||
IP1_2=0
|
||||
if [ "$IP1_1" -lt 255 ]; then
|
||||
IP1_1=$(expr $IP1_1 + 1)
|
||||
ip1_2=0
|
||||
|
||||
if (( ip1_1 < 255 )); then
|
||||
ip1_1=$(( ip1_1 + 1 ))
|
||||
else
|
||||
break
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
echo "127.0.0.1 ${IP1_1}.${IP1_2}.${IP1_3}.${IP1_4}" >> "$2"
|
||||
|
||||
printf '%s\n' "127.0.0.1 ${ip1_1}.${ip1_2}.${ip1_3}.${ip1_4}" >> "$2"
|
||||
done
|
||||
done
|
||||
|
|
Loading…
Reference in a new issue