text: #!/usr/bin/python3
  
  ###
  ###  Automatic seeding over HTTP
  ###  (C) 2016 Alex D.
  ###
  ###  http://www.gnu.org/licenses/agpl-3.0.en.html
  ###
  
  import os
  import sys
  import json
  import random
  import platform
  import urllib.request
  
  sources = ['http://dalexhz1.cloudapp.net', 'http://dalexhz2.cloudapp.net', 'http://dalexhz4.cloudapp.net', 'http://dalexhz5.cloudapp.net']
  data = urllib.request.urlopen(random.choice(sources)).readall();
  
  if 'norpc' in sys.argv:
      for node in json.loads(data.decode()):
          print (node)
      sys.exit()
  
  ###  This module is required to function properly: 
  ###      https://github.com/jgarzik/python-bitcoinrpc
  
  import errno
  from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException
  from socket import error as socket_error
  
  def confFile():
      folder = ''
      if platform.system() == 'Windows':
          folder = os.path.join(os.path.join(os.environ['APPDATA'], 'NovaCoin'))
      else:
          if platform.system() == 'Darwin':
              folder = os.path.expanduser('~/Library/Application Support/NovaCoin/')
          else:
              folder = os.path.expanduser('~/.novacoin')
  
      return os.path.join(folder, 'novacoin.conf')
  
  conf_path = confFile()
  if not os.path.exists(conf_path):
      parser.error('''Novacoin configuration file not found. Manually enter your RPC password.\r\n'''
          '''If you actually haven't created a configuration file, you should create one at %s with the text like this:\r\n'''
          '''\r\n'''
          '''server=1\r\n'''
          '''rpcuser=yourname\r\n'''
          '''rpcpassword=%x\r\n'''
          '''\r\n'''
          '''Keep that password secret! After creating the file, restart Novacoin.''' % (conf_path, random.randrange(2**128)))
  
  conf = open(conf_path, 'rb').read()
  contents = {}
  
  for line in conf.splitlines(True):
      if line.startswith(b'#'):
          line = line[:line.index(b'#')]
      if not line.__contains__(b'='):
          continue
      k, v = line.split(b'=', 1)
      contents[k.strip()] = v.strip()
  
  if b'rpcpassword' not in contents.keys():
      print('''RPC password is not found in the %s file.''' % (conf_path))
      sys.exit()
  
  if b'rpcuser' not in contents.keys():
      print('''RPC user is not found in the %s file.''' % (conf_path))
      sys.exit()
  
  rpcuser = contents[b'rpcuser'].decode()
  rpcpassword = contents[b'rpcpassword'].decode()
  rpcport = 8344
  rpclisten = '127.0.0.1'
  
  if b'rpcport' in contents.keys():
      rpcport = contents[b'rpcport'].decode()
  if b'rpclisten' in contents.keys():
      rpclisten = contents[b'rpclisten'].decode()
  
  access = AuthServiceProxy('http://%s:%s@%s:%d/' % (rpcuser, rpcpassword, rpclisten, int(rpcport)))
  
  for node in json.loads(data.decode()):
      print ('Adding', node)
      try:
          access.addnode(node, 'add')
      except socket_error as e:
          if e.errno == errno.ECONNREFUSED:
              print ('Unable to communicate with Novacoin RPC')
          break
      except JSONRPCException as e:
          if e.code == -23:
              print ('Already added')
              continue
          break
  