Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- log_name="verify_proxy.log"
- # not actually threads, processes
- threads=50
- # ddos bash.org, lel
- sample_url=http://bash.org/images/paypal.gif
- sample_size=857
- function show_help_and_exit {
- echo "usage:"
- echo "$0 unverified.txt verified.txt"
- echo "$0 ip:port ip:port ip:port"
- echo "$0 [--help|-h]"
- exit 0
- }
- function verify_list {
- proxies_length=$( cat $1 | wc -l )
- tmp_dir=$( mktemp -d )
- lines=$(( proxies_length / threads + 1 ))
- split -l $lines "$1" -d "$tmp_dir/unverified"
- for src_name in $( find "$tmp_dir" -iname "unverified*" ); do
- dst_name=$( echo $src_name | sed "s,unverified,verified," )
- $0 "$src_name" "$dst_name" -thread &>> "$log_name" &
- #echo $dst_name
- done
- #wait for all
- while true; do
- unverified=$( ls $tmp_dir | grep "unverified" | wc -l )
- if [ $unverified -eq 0 ]; then
- break
- fi
- sleep 10
- done
- cat $tmp_dir/verified* > $2
- rm -rf "$tmp_dir"
- echo $( date "+%Y-%m-%d %H:%M:%S" ) "Proxies verified" >> "$log_name"
- }
- function verify_list_thread {
- for proxy in $( cat $1 ); do
- export http_proxy=$proxy
- sample_tmp=$( mktemp )
- wget --timeout=10 --tries=2 -nv -O "$sample_tmp" "$sample_url"
- sample_verified_size=$( stat -c%s $sample_tmp )
- #echo $sample_size
- #echo $sample_verified_size
- if [ $sample_size -eq $sample_verified_size ]; then
- echo $proxy >> $2
- #echo "equal"
- fi
- rm "$sample_tmp"
- done
- rm $1
- }
- function verify_proxy {
- proxy=$1
- export http_proxy=$proxy
- sample_tmp=$( mktemp )
- wget --timeout=10 --tries=2 -nv -O "$sample_tmp" "$sample_url" &>> "$log_name"
- sample_verified_size=$( stat -c%s $sample_tmp )
- if [ $sample_size -eq $sample_verified_size ]; then
- echo $proxy
- fi
- rm "$sample_tmp"
- }
- if [ $# -eq 0 ]; then
- show_help_and_exit
- elif [ "$1" == "--help" ] || [ "$1" == "-h" ]; then
- show_help_and_exit
- elif [ "$3" == "-thread" ]; then
- verify_list_thread $1 $2
- elif [ -f "$1" ]; then
- verify_list $1 $2
- else
- n=$#
- for (( i=1;i<=n;i++ )); do
- argv=${!i}
- proxy=$( echo $argv | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+:[0-9]\+" )
- if [ ! -z "$proxy" ]; then
- verify_proxy $proxy
- fi
- done
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement