23d6784b0b9623ee5b11cf65aa511121ce015c53
[electrum-server.git] / electrum.php
1 <?
2
3  function do_query($q){
4    $q .= "#";
5
6    $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
7    if ($socket === false) {
8    echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
9    } 
10
11    $result = socket_connect($socket, 'ecdsa.org', 50000);
12    if ($result === false) {
13      echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
14    } 
15    socket_write($socket, $q, strlen($q));
16    $buf='ex';
17    if (false == ($bytes = socket_recv($socket, $buf, 2048, MSG_WAITALL))) {
18      echo "socket_recv() failed; reason: " . socket_strerror(socket_last_error($socket)) . "\n";
19    }
20    socket_close($socket);
21    return $buf;
22  }
23
24    $pass='';
25
26    $query = $_POST['q'];
27    if( !$query ) {
28    echo "Welcome to <a href=\"http://ecdsa.org/electrum/\">Electrum</a><br/>";
29    echo "This server uses ports 80 (http), 443 (https) and 50000 (raw)<br/>";
30    echo "Port 50000 is recommended for efficiency.<br/><br/>";
31
32    echo "Server status:<br/>";
33    echo "Number of blocks: ". do_query( "('b','')" ) ."<br/>";
34    echo "Current load: ". do_query( "('load',$pass)" ) ."<br/><br/>";
35
36    echo "List of active servers:<br/>\n";
37    $str = do_query( "('peers','')" );
38    preg_match_all("/(\d+\.\d+\.\d+\.\d+)/",$str,$matches,PREG_SET_ORDER);
39    echo "<ul>";
40    foreach( $matches as $ip){
41      echo "<li><a href=\"http://" . $ip[0] . "/electrum.php\">" . $ip[0] . "</a></li>";
42    } 
43    echo "</ul>";
44
45    } else {
46      $buf = do_query($query);
47      echo $buf;
48    }    
49 ?>