При условии, что тор стоит и уже запущен
Первый файл называем "cURL.php"
В него пишем
<?php
//Создаем функцию принимающую ссылку, и 2 массива
function curl_get($url, $referer, $useragent)
{
$ch = curl_init();
//Задаем тор прокси
curl_setopt($ch, CURLOPT_PROXY, 'socks5://127.0.0.1:9050');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
//Маскируемся кастомно выбирая систему
curl_setopt($ch, CURLOPT_USERAGENT, $useragent[array_rand($useragent, 1)]);
//Маскируемся кастомно подставляя поисковую сисему из которой буд-то бы пришли
curl_setopt($ch, CURLOPT_REFERER, $referer[array_rand($referer, 1)]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
?>
Второй файл как-нибудь называем и в него пишем
<?php
include_once('cURL.php');
//Массив подстановок система+браузер (В нете есть сайты где этого добра навалом)
$useragent_array = [
'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0',
'Mozilla/5.0 (X11; U; Linux Core i7-4980HQ; de; rv:32.0; compatible; JobboerseBot;
https://www.jobboerse.com/bot.htm) Gecko/20100101 Firefox/38.0',
'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0',
'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0',
'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0',
'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6',
'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0',
'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0',
'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:57.0) Gecko/20100101 Firefox/57.0',
'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0',
'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0 ',
'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0',
'Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2',
'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:63.0) Gecko/20100101 Firefox/63.0',
'Mozilla/5.0 (Windows NT 5.1; rv:29.0) Gecko/20100101 Firefox/29.0',
'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)'];
//Массив поисковиков из которых мы буд-то бы пришли
$referer_array = [
'
https://yandex.ru/',
'
https://www.google.com/',
'
https://www.google.com/',
'
https://www.rambler.ru/',
'
https://www.google.com/',
'
https://www.bing.com/'];
//Запускаем загрузку кода страницы в переменную $html
$html = curl_get('
http://адрес цели', $referer_array, $useragent_array);
?>
В общем там еще много всего нужно по хорошему - проверять доступ, менять ип и т.д Ну кусок основы написал.