fork download
  1. <?php
  2.  
  3. function check_tor_relay($ip, $date) {
  4. $url = "https://m...content-available-to-author-only...t.org/exonerator.html?ip={$ip}&timestamp={$date}";
  5.  
  6. // Use cURL to fetch the page
  7. $ch = curl_init($url);
  8. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  9. $html = curl_exec($ch);
  10. curl_close($ch);
  11.  
  12. // Parse the HTML and search for results
  13. $doc = new DOMDocument();
  14. @$doc->loadHTML($html);
  15.  
  16. $divs = $doc->getElementById('results');
  17. $was_relay = "Unknown";
  18.  
  19. if ($divs !== null) {
  20. $results_text = $divs->textContent;
  21. if (strpos($results_text, "was a relay") !== false) {
  22. $was_relay = "Yes";
  23. } else if (strpos($results_text, "was not a relay") !== false) {
  24. $was_relay = "No";
  25. }
  26. }
  27. return $was_relay;
  28. }
  29.  
  30. // Example input records
  31. $records = [
  32. ['ip' => '3.106.116.182', 'date' => '2025-01-01'],
  33. // Add more as needed
  34. ];
  35.  
  36. $csvFile = fopen("exonerator_results.csv", "w");
  37. fputcsv($csvFile, ['IP', 'Date', 'Tor Relay']);
  38.  
  39. foreach ($records as $record) {
  40. $relay_status = check_tor_relay($record['ip'], $record['date']);
  41. fputcsv($csvFile, [$record['ip'], $record['date'], $relay_status]);
  42. }
  43.  
  44. fclose($csvFile);
  45. echo "Results exported to exonerator_results.csv\n";
  46. ?>
  47.  
Success #stdin #stdout #stderr 0.04s 26720KB
stdin
Standard input is empty
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