Exemple #1
0
def dns_delete(dns_id):
    new_dns = Data.get('dns')[:]
    new_dns.pop(dns_id)
    Data.set('dns', new_dns)
    Data.save()
    DNS.ask_for_reload()
    return bottle.redirect('/dns')
Exemple #2
0
def proxy_delete(proxy_name):
    new_proxies = Data.get('proxies').copy()
    new_proxies.pop(proxy_name)
    # Rebuild chains
    Proxy.reset()
    Proxy.build_all(new_proxies)
    try:
        Proxy.prepare(Data.get('routes'))
        Data.set('proxies', new_proxies)
        Data.save()
        Proxy.exec()
        return bottle.redirect('/proxy')
    except Exception as e:
        return bottle.redirect('/proxy?{0}'.format(urlencode({'msg': str(e)})))
Exemple #3
0
def proxy_add():
    if bottle.request.forms.get('name') is not None:
        proxy = {}
        proxy['type'] = bottle.request.forms.get('ptype')
        if proxy['type'] is None:
            return bottle.redirect('/proxy/add?{0}'.format(urlencode({'msg': 'Type field is mandatory'})))
        proxy['host'] = bottle.request.forms.get('host')
        if proxy['host'] is None:
            return bottle.redirect('/proxy/add?{0}'.format(urlencode({'msg': 'Host field is mandatory'})))
        proxy['port'] = bottle.request.forms.get('port')
        if proxy['host'] is None:
            return bottle.redirect('/proxy/add?{0}'.format(urlencode({'msg': 'Port field is mandatory'})))
        user = bottle.request.forms.get('user')
        if user is None and proxy['type'] == 'ssh':
            return bottle.redirect('/proxy/add?{0}'.format(urlencode({'msg': 'User field is mandatory for SSH'})))
        elif user is not None:
            proxy['user'] = user
        password = bottle.request.forms.get('password')
        if password is not None:
            proxy['password'] = password
        sshkey = bottle.request.forms.get('sshkey')
        if sshkey is not None:
            proxy['sshkey'] = sshkey
        if proxy['type'] == 'ssh' and password is None and sshkey is None:
            return bottle.redirect('/proxy/add?{0}'.format(urlencode({'msg': 'You must provide password or SSH key for SSH'})))
        previous = bottle.request.forms.get('previous')
        if previous != 'None':
            proxy['proxy'] = previous
        hostkeys = bottle.request.forms.get('hostkeys')
        if len(hostkeys) > 0:
            proxy['hostkeys'] = hostkeys.split('\n')
        new_proxies = Data.get('proxies').copy()
        new_proxies[bottle.request.forms.get('name')] = proxy
        # Rebuild chains
        Proxy.reset()
        Proxy.build_all(new_proxies)
        try:
            Proxy.prepare(Data.get('routes'))
            Data.set('proxies', new_proxies)
            Data.save()
            Proxy.exec()
            return bottle.redirect('/proxy')
        except Exception as e:
            return bottle.redirect('/proxy?{0}'.format(urlencode({'msg': str(e)})))

    return {"title": "DockerAnon | Proxy",
            "proxy": list(Data.get('proxies').keys()),
            "msg": bottle.request.query.msg}
Exemple #4
0
def routes_add():
    if bottle.request.forms.get('name') is not None:
        dns_entry = {}
        dns_entry['name'] = bottle.request.forms.get('name')
        dns_entry['type'] = bottle.request.forms.get('dtype')
        dns_entry['value'] = bottle.request.forms.get('value')
        if dns_entry['value'] is None or dns_entry['value'] == '':
            return bottle.redirect('/dns/add?{0}'.format(urlencode({'msg': 'Value field is mandatory'})))
        new_dns = Data.get('dns')[:]
        new_dns.append(dns_entry)
        Data.set('dns', new_dns)
        Data.save()
        DNS.ask_for_reload()
        return bottle.redirect('/dns')

    return {"title": "DockerAnon | DNS",
            "msg": bottle.request.query.msg}
Exemple #5
0
def insert():

    if request.method == 'POST':

        nome = request.json['nome']
        endereco = request.json['endereco']
        telefone = request.json['telefone']
        data = request.json['data']
        status = request.json['status']

        try:
            user = Data(nome, endereco, telefone, data, status)
            user.save()

            return jsonify({'ok': True})
        except:
            return jsonify({'mensagem': 'Ocorreu um erro interno'}), 500
Exemple #6
0
def routes_add():
    if bottle.request.forms.get('name') is not None:
        route = {}
        route['network'] = bottle.request.forms.get('network')
        if route['network'] is None:
            return bottle.redirect('/routes/add?{0}'.format(urlencode({'msg': 'Network field is mandatory'})))
        route['proxy'] = bottle.request.forms.get('proxy')
        new_routes = Data.get('routes').copy()
        new_routes[bottle.request.forms.get('name')] = route
        # Rebuild chains
        Proxy.reset()
        Proxy.build_all(Data.get('proxies'))
        try:
            Proxy.prepare(new_routes)
            Data.set('routes', new_routes)
            Data.save()
            Proxy.exec()
            return bottle.redirect('/routes')
        except Exception as e:
            return bottle.redirect('/routes?{0}'.format(urlencode({'msg': str(e)})))

    return {"title": "DockerAnon | Routes",
            "proxy": list(Data.get('proxies').keys()),
            "msg": bottle.request.query.msg}