PHP: <?php $shells = file('./shells.txt'); $multi = curl_multi_init(); $threads = array(); $results = array(); foreach ($shells as $k => $shell) { $threads[$k] = curl_init(); curl_setopt($threads[$k], CURLOPT_URL, trim($shell)); curl_setopt($threads[$k], CURLOPT_ENCODING, 'gzip,deflate'); curl_setopt($threads[$k], CURLOPT_RETURNTRANSFER, 1); curl_setopt($threads[$k], CURLOPT_NOBODY, 1); curl_setopt($threads[$k], CURLOPT_HEADER, 1); curl_multi_add_handle($multi, $threads[$k]); } $done = null; do{curl_multi_exec($multi, $done);}while($done > 0); foreach ($threads as $k => $thread) { $result = curl_multi_getcontent($thread); if (strstr($result, '200 OK')) { $results[] = trim($shells[$k]); } } curl_multi_close($multi); file_put_contents('./OK.txt', implode("\r\n", $results)); ?> Рядом файл shells.txt, на выходе - ok.txt Парсит по хедерам (не загружая страницу) + многопоточно (1000 шеллов в секунду, например), что гарантирует мега скорость чека. Если шелл передает другой код по дефолту, например редирект или еще что-то, то надо смотреть по заголовкам. Поставил 200 ОК (означает файл найден). Алекс, тебе пишу уже сотый скрипт, давай на пиво .