diff --git a/server/electrum.php b/server/electrum.php
index 23d6784b0..7d27ea3bb 100644
--- a/server/electrum.php
+++ b/server/electrum.php
@@ -21,7 +21,7 @@
return $buf;
}
- $pass='';
+ $pass = '';
$query = $_POST['q'];
if( !$query ) {
@@ -31,14 +31,15 @@
echo "Server status:
";
echo "Number of blocks: ". do_query( "('b','')" ) ."
";
- echo "Current load: ". do_query( "('load',$pass)" ) ."
";
+ echo "Current load: ". do_query( "('load','$pass')" ) ."
";
echo "List of active servers:
\n";
$str = do_query( "('peers','')" );
- preg_match_all("/(\d+\.\d+\.\d+\.\d+)/",$str,$matches,PREG_SET_ORDER);
+// preg_match_all("/\('(.*?)', '(\d+\.\d+\.\d+\.\d+)'\)/",$str,$matches,PREG_SET_ORDER);
+ preg_match_all("/\('(.*?)', '(.*?)'\)/", $str, $matches, PREG_SET_ORDER);
echo "
";
- foreach( $matches as $ip){
- echo "- " . $ip[0] . "
";
+ foreach( $matches as $m){
+ echo "- " . $m[2]." [".$m[1]."]
";
}
echo "
";
diff --git a/server/server.py b/server/server.py
index da51e73c3..c22326aea 100644
--- a/server/server.py
+++ b/server/server.py
@@ -22,7 +22,7 @@ Todo:
"""
-import time, socket, operator, thread, ast, sys
+import time, socket, operator, thread, ast, sys,re
import psycopg2, binascii
import bitcoinrpc
@@ -435,8 +435,8 @@ def irc_thread():
try:
s = socket.socket()
s.connect(('irc.freenode.net', 6667))
- s.send('USER '+NICK+' '+NICK+' bla :'+NICK+'\n')
- s.send('NICK '+NICK+'\n')
+ s.send('USER '+HOST+' '+NICK+' bla :'+NICK+'\n')
+ s.send('NICK '+NICK+'\n')
s.send('JOIN #electrum\n')
t = 0
while not stopping:
@@ -456,9 +456,12 @@ def irc_thread():
s.send('USERHOST %s\n'%item)
elif '302' in line: # answer to /userhost
k = line.index('302')
- name = line[k+2].split('=')[0]
- host = line[k+2].split('@')[1]
- peer_list[name] = host
+ m = re.match( "^:(.*?)=\+~(.*?)@(.*?)$", line[k+2] )
+ if m:
+ name = m.group(1)
+ host = m.group(2)
+ ip = m.group(3)
+ peer_list[name] = (ip,host)
elif time.time() - t > 5*60:
s.send('NAMES #electrum\n')
t = time.time()