Changeset - 10a3ee9cb0c8
[Not reviewed]
default
0 1 0
Dennis Fink - 11 years ago 2013-11-17 16:06:29
dennis.fink@c3l.lu
updated script
1 file changed with 5 insertions and 4 deletions:
0 comments (0 inline, 0 general)
Scripts/update_server.py
Show inline comments
 
@@ -7,13 +7,13 @@ import requests
 

	
 
from ast import literal_eval
 

	
 
OBFS_REGEX = re.compile(r'^ServerTransportPlugin obfs2,obfs3')
 

	
 
IP_REGEX = re.compile((r'^(OutboundBindAddress)'
 
                       r' (\d{1,3}\.\d{1,3}\.\d{1,3}.\d{1,3})'))
 
                       r' (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})'))
 

	
 

	
 
def read_tor_config(configfile="/etc/tor/torrc"):
 

	
 
    with open(configfile) as fb:
 
        lines = {line[:-1] for line in fb if not line.startswith('#')}
 
@@ -25,13 +25,13 @@ def read_tor_config(configfile="/etc/tor
 
def get_tor_status(name='tor'):
 

	
 
    try:
 
        pids = subprocess.check_output(['pidof', 'tor']).decode('utf-8')
 
        pids = pids.split(' ')
 
        pid_file = '.'.join([name, 'pid'])
 
        pid = open('/'.join(['/var', 'run', name, pid_file])).readline()
 
        pid = open('/'.join(['/var', 'run', 'tor', pid_file])).readline()
 

	
 
        if pid in pids:
 
            return "Online"
 
        else:
 
            return "Offline"
 
    except subprocess.CalledProcessError:
 
@@ -64,13 +64,13 @@ def get_server_type(tor_config):
 

	
 
def get_ip(tor_config):
 

	
 
    for i in tor_config:
 
        match = IP_REGEX.match(i)
 

	
 
        if match:
 
        if match is not None:
 
            return i.groups()[1]
 
        else:
 
            return None
 

	
 

	
 
def get_config():
 
@@ -105,13 +105,14 @@ def create_server_json(tor_configfile='/
 

	
 

	
 
def update_server(server_json, url):
 

	
 
    headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
 

	
 
    response = requests.post(url + '/api/update', data=json.dumps(server_json), headers=headers)
 
    response = requests.post(url + '/api/update', data=json.dumps(server_json),
 
                             headers=headers)
 
    response.raise_for_status()
 

	
 
    return response.text
 

	
 

	
 
def main():
0 comments (0 inline, 0 general)