<?php
function check_tor_relay( $ip , $date ) {
$url = "https://m...content-available-to-author-only...t.org/exonerator.html?ip={$ip} ×tamp={$date} " ;
// Use cURL to fetch the page
// Parse the HTML and search for results
$doc = new DOMDocument( ) ;
@ $doc -> loadHTML ( $html ) ;
$divs = $doc -> getElementById ( 'results' ) ;
$was_relay = "Unknown" ;
if ( $divs !== null ) {
$results_text = $divs -> textContent ;
if ( strpos ( $results_text , "was a relay" ) !== false ) { $was_relay = "Yes" ;
} else if ( strpos ( $results_text , "was not a relay" ) !== false ) { $was_relay = "No" ;
}
}
return $was_relay ;
}
// Example input records
$records = [
[ 'ip' => '3.106.116.182' , 'date' => '2025-01-01' ] ,
// Add more as needed
] ;
$csvFile = fopen ( "exonerator_results.csv" , "w" ) ; fputcsv ( $csvFile , [ 'IP' , 'Date' , 'Tor Relay' ] ) ;
foreach ( $records as $record ) {
$relay_status = check_tor_relay( $record [ 'ip' ] , $record [ 'date' ] ) ;
fputcsv ( $csvFile , [ $record [ 'ip' ] , $record [ 'date' ] , $relay_status ] ) ; }
echo "Results exported to exonerator_results.csv\n " ;
?>
PD9waHAKCmZ1bmN0aW9uIGNoZWNrX3Rvcl9yZWxheSgkaXAsICRkYXRlKSB7CiAgICAkdXJsID0gImh0dHBzOi8vbS4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4udC5vcmcvZXhvbmVyYXRvci5odG1sP2lwPXskaXB9JnRpbWVzdGFtcD17JGRhdGV9IjsKCiAgICAvLyBVc2UgY1VSTCB0byBmZXRjaCB0aGUgcGFnZQogICAgJGNoID0gY3VybF9pbml0KCR1cmwpOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsKICAgICRodG1sID0gY3VybF9leGVjKCRjaCk7CiAgICBjdXJsX2Nsb3NlKCRjaCk7CgogICAgLy8gUGFyc2UgdGhlIEhUTUwgYW5kIHNlYXJjaCBmb3IgcmVzdWx0cwogICAgJGRvYyA9IG5ldyBET01Eb2N1bWVudCgpOwogICAgQCRkb2MtPmxvYWRIVE1MKCRodG1sKTsKCiAgICAkZGl2cyA9ICRkb2MtPmdldEVsZW1lbnRCeUlkKCdyZXN1bHRzJyk7CiAgICAkd2FzX3JlbGF5ID0gIlVua25vd24iOwoKICAgIGlmICgkZGl2cyAhPT0gbnVsbCkgewogICAgICAgICRyZXN1bHRzX3RleHQgPSAkZGl2cy0+dGV4dENvbnRlbnQ7CiAgICAgICAgaWYgKHN0cnBvcygkcmVzdWx0c190ZXh0LCAid2FzIGEgcmVsYXkiKSAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgJHdhc19yZWxheSA9ICJZZXMiOwogICAgICAgIH0gZWxzZSBpZiAoc3RycG9zKCRyZXN1bHRzX3RleHQsICJ3YXMgbm90IGEgcmVsYXkiKSAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgJHdhc19yZWxheSA9ICJObyI7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuICR3YXNfcmVsYXk7Cn0KCi8vIEV4YW1wbGUgaW5wdXQgcmVjb3JkcwokcmVjb3JkcyA9IFsKICAgIFsnaXAnID0+ICczLjEwNi4xMTYuMTgyJywgJ2RhdGUnID0+ICcyMDI1LTAxLTAxJ10sCiAgICAvLyBBZGQgbW9yZSBhcyBuZWVkZWQKXTsKCiRjc3ZGaWxlID0gZm9wZW4oImV4b25lcmF0b3JfcmVzdWx0cy5jc3YiLCAidyIpOwpmcHV0Y3N2KCRjc3ZGaWxlLCBbJ0lQJywgJ0RhdGUnLCAnVG9yIFJlbGF5J10pOwoKZm9yZWFjaCAoJHJlY29yZHMgYXMgJHJlY29yZCkgewogICAgJHJlbGF5X3N0YXR1cyA9IGNoZWNrX3Rvcl9yZWxheSgkcmVjb3JkWydpcCddLCAkcmVjb3JkWydkYXRlJ10pOwogICAgZnB1dGNzdigkY3N2RmlsZSwgWyRyZWNvcmRbJ2lwJ10sICRyZWNvcmRbJ2RhdGUnXSwgJHJlbGF5X3N0YXR1c10pOwp9CgpmY2xvc2UoJGNzdkZpbGUpOwplY2hvICJSZXN1bHRzIGV4cG9ydGVkIHRvIGV4b25lcmF0b3JfcmVzdWx0cy5jc3ZcbiI7Cj8+Cg==
stdout
Results exported to exonerator_results.csv
stderr
PHP Warning: fopen(exonerator_results.csv): failed to open stream: Permission denied in /home/5cCdY8/prog.php on line 36
PHP Warning: fputcsv() expects parameter 1 to be resource, bool given in /home/5cCdY8/prog.php on line 37
PHP Warning: fputcsv() expects parameter 1 to be resource, bool given in /home/5cCdY8/prog.php on line 41
PHP Warning: fclose() expects parameter 1 to be resource, bool given in /home/5cCdY8/prog.php on line 44