mirror of
https://codeberg.org/anoncontributorxmr/monero.git
synced 2024-11-25 17:02:26 +00:00
console.py: support connecting to any host, not just 127.0.0.1
This commit is contained in:
parent
064ab12340
commit
108f4375b8
1 changed files with 23 additions and 5 deletions
|
@ -4,27 +4,45 @@ from __future__ import print_function
|
||||||
import sys
|
import sys
|
||||||
import subprocess
|
import subprocess
|
||||||
import socket
|
import socket
|
||||||
|
import urlparse
|
||||||
from framework import rpc
|
from framework import rpc
|
||||||
from framework import wallet
|
from framework import wallet
|
||||||
from framework import daemon
|
from framework import daemon
|
||||||
|
|
||||||
USAGE = 'usage: python -i console.py <port>'
|
scheme='http'
|
||||||
|
host='127.0.0.1'
|
||||||
|
port=None
|
||||||
|
|
||||||
|
USAGE = 'usage: python -i console.py [[scheme]<host>:]<port>'
|
||||||
try:
|
try:
|
||||||
|
try:
|
||||||
port = int(sys.argv[1])
|
port = int(sys.argv[1])
|
||||||
except:
|
except:
|
||||||
|
t = urlparse.urlparse(sys.argv[1], allow_fragments = False)
|
||||||
|
scheme = t.scheme or scheme
|
||||||
|
host = t.hostname or host
|
||||||
|
port = t.port or port
|
||||||
|
if scheme != 'http' and scheme != 'https':
|
||||||
|
print(USAGE)
|
||||||
|
sys.exit(1)
|
||||||
|
if port <= 0 or port > 65535:
|
||||||
|
print(USAGE)
|
||||||
|
sys.exit(1)
|
||||||
|
except Exception, e:
|
||||||
|
print('Error: ' + str(e))
|
||||||
print(USAGE)
|
print(USAGE)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
# check for open port
|
# check for open port
|
||||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
s.settimeout(1)
|
s.settimeout(1)
|
||||||
if s.connect_ex(('127.0.0.1', port)) != 0:
|
if s.connect_ex((host, port)) != 0:
|
||||||
print('No wallet or daemon RPC on port ' + str(port))
|
print('No wallet or daemon RPC on port ' + str(port))
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
s.close()
|
s.close()
|
||||||
|
|
||||||
# both wallet and daemon have a get_version JSON RPC
|
# both wallet and daemon have a get_version JSON RPC
|
||||||
rpc = rpc.JSONRPC('{protocol}://{host}:{port}'.format(protocol='http', host='127.0.0.1', port=port))
|
rpc = rpc.JSONRPC('{protocol}://{host}:{port}'.format(protocol=scheme, host=host, port=port))
|
||||||
get_version = {
|
get_version = {
|
||||||
'method': 'get_version',
|
'method': 'get_version',
|
||||||
'jsonrpc': '2.0',
|
'jsonrpc': '2.0',
|
||||||
|
|
Loading…
Reference in a new issue