34 lines
963 B
Bash
34 lines
963 B
Bash
#!/usr/bin/env bash
|
|
|
|
remove_invalid_proxy_using_a_slow_bash_script() {
|
|
local args=$*
|
|
args="${args// /\' OR proxy=\'}"
|
|
echo "running sqlite query -- DELETE FROM proxylist WHERE proxy='${args}'"
|
|
|
|
sqlite3 proxylist.sqlite "DELETE FROM proxylist WHERE proxy='${args}'"
|
|
}
|
|
|
|
args=()
|
|
while IFS=: read -r ip port; do
|
|
IFS=\. read -r a b c d <<<"$ip"
|
|
|
|
if [[ $a =~ ^0[0-9] || $a -lt 0 || $a -gt 255 || $b =~ ^0[0-9] || $b -lt 0 || $b -gt 255 || $c =~ ^0[0-9] || $c -lt 0 || $c -gt 255 || $d =~ ^0[0-9] || $d -lt 0 || $d -gt 255 ]]; then args+=("$ip:$port")
|
|
elif [[ $port =~ ^0 || $port -lt 1 || $port -gt 65535 ]]; then args+=("$ip:$port")
|
|
fi
|
|
done < <(sqlite3 proxylist.sqlite "select proxy from proxylist")
|
|
|
|
aargs=()
|
|
for arg in ${args[@]}; do
|
|
aargs+=($arg)
|
|
|
|
if ((${#aargs[@]} >= 200)); then
|
|
remove_invalid_proxy_using_a_slow_bash_script "${aargs[*]}"
|
|
aargs=()
|
|
fi
|
|
done
|
|
|
|
if ((${#aargs[@]})); then
|
|
remove_invalid_proxy_using_a_slow_bash_script "${args[*]}"
|
|
fi
|
|
|