root / plugins / network / tor / tor-connections @ 0a1524f2
Historique | Voir | Annoter | Télécharger (2,64 ko)
| 1 |
#!/usr/bin/php |
|---|---|
| 2 |
<?php |
| 3 |
|
| 4 |
$cookiepath = "/etc/tor/control_auth_cookie"; |
| 5 |
$controlport = 9051; |
| 6 |
|
| 7 |
|
| 8 |
// Nothing to change down here... |
| 9 |
|
| 10 |
$cmd = $argv['1']; |
| 11 |
|
| 12 |
$cookie = file_get_contents($cookiepath); |
| 13 |
|
| 14 |
|
| 15 |
if ($cmd == "config") {
|
| 16 |
|
| 17 |
print "graph_title Connections\n"; |
| 18 |
print "graph_args -l 0 --base 1000\n"; |
| 19 |
print "graph_vlabel connections\n"; |
| 20 |
print "graph_category Tor\n"; |
| 21 |
print "graph_info This graph shows the number of Tor OR connections.\n"; |
| 22 |
print "graph_period second\n"; |
| 23 |
|
| 24 |
print "new.label new\n"; |
| 25 |
print "new.type GAUGE\n"; |
| 26 |
print "new.max 50000\n"; |
| 27 |
print "new.min 0\n"; |
| 28 |
|
| 29 |
print "launched.label launched\n"; |
| 30 |
print "launched.type GAUGE\n"; |
| 31 |
print "launched.max 50000\n"; |
| 32 |
print "launched.min 0\n"; |
| 33 |
|
| 34 |
print "connected.label connected\n"; |
| 35 |
print "connected.type GAUGE\n"; |
| 36 |
print "connected.max 50000\n"; |
| 37 |
print "connected.min 0\n"; |
| 38 |
|
| 39 |
print "failed.label failed\n"; |
| 40 |
print "failed.type GAUGE\n"; |
| 41 |
print "failed.max 50000\n"; |
| 42 |
print "failed.min 0\n"; |
| 43 |
|
| 44 |
print "closed.label closed\n"; |
| 45 |
print "closed.type GAUGE\n"; |
| 46 |
print "closed.max 50000\n"; |
| 47 |
print "closed.min 0\n"; |
| 48 |
|
| 49 |
|
| 50 |
|
| 51 |
exit; |
| 52 |
|
| 53 |
} elseif ($cmd == "autoconf") {
|
| 54 |
|
| 55 |
$socket = fsockopen("tcp://127.0.0.1", $controlport);
|
| 56 |
fputs($socket, "AUTHENTICATE \"".$cookie."\"\n"); |
| 57 |
|
| 58 |
$buffer = fgets($socket, 1024); |
| 59 |
if (ereg("250", $buffer)) echo "Yes";
|
| 60 |
else echo "No (".trim($buffer).")";
|
| 61 |
|
| 62 |
fclose($socket); |
| 63 |
exit; |
| 64 |
|
| 65 |
|
| 66 |
} |
| 67 |
|
| 68 |
|
| 69 |
|
| 70 |
$socket = fsockopen("tcp://127.0.0.1", $controlport);
|
| 71 |
|
| 72 |
fputs($socket, "AUTHENTICATE \"".$cookie."\"\n"); |
| 73 |
|
| 74 |
$buffer .= fgets($socket, 4096); |
| 75 |
|
| 76 |
if (!ereg("250", $buffer)) {
|
| 77 |
echo "Unable to connect to Tor ControlPort (".$buffer.")";
|
| 78 |
fclose($socket); |
| 79 |
exit; |
| 80 |
} else {
|
| 81 |
|
| 82 |
$buffer = fputs($socket, "GETINFO orconn-status\n"); |
| 83 |
|
| 84 |
$buffer = fgets($socket, 1024); |
| 85 |
$buffer = fgets($socket, 1024); |
| 86 |
|
| 87 |
while (strlen($buffer) > 3) {
|
| 88 |
|
| 89 |
$bits = explode(" ", $buffer);
|
| 90 |
|
| 91 |
$connections[trim($bits['1'])]++; |
| 92 |
|
| 93 |
$buffer = fgets($socket, 1024); |
| 94 |
|
| 95 |
|
| 96 |
} |
| 97 |
|
| 98 |
if (!empty($connections['NEW'])) echo "new.value ".$connections['NEW']."\n"; |
| 99 |
else echo "new.value 0\n"; |
| 100 |
|
| 101 |
if (!empty($connections['LAUNCHED'])) echo "launched.value ".$connections['LAUNCHED']."\n"; |
| 102 |
else echo "launched.value 0\n"; |
| 103 |
|
| 104 |
if (!empty($connections['CONNECTED'])) echo "connected.value ".$connections['CONNECTED']."\n"; |
| 105 |
else echo "connected.value 0\n"; |
| 106 |
|
| 107 |
if (!empty($connections['FAILED'])) echo "failed.value ".$connections['FAILED']."\n"; |
| 108 |
else echo "failed.value 0\n"; |
| 109 |
|
| 110 |
if (!empty($connections['CLOSED'])) echo "closed.value ".$connections['CLOSED']."\n"; |
| 111 |
else echo "closed.value 0\n"; |
| 112 |
|
| 113 |
|
| 114 |
} |
| 115 |
|
| 116 |
fclose($socket); |
| 117 |
|
| 118 |
?> |
| 119 |
|
