Rename tools to net
This commit is contained in:
parent
3e0363b904
commit
67840131ee
@ -7,8 +7,6 @@ import requests
|
|||||||
import socket
|
import socket
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
# Network tools
|
|
||||||
|
|
||||||
def compile_url(domain, port, proto='https'):
|
def compile_url(domain, port, proto='https'):
|
||||||
port = '' if (proto == 'https' and port == '443') or (proto == 'http' and port == '80') else ':{}'.format(port)
|
port = '' if (proto == 'https' and port == '443') or (proto == 'http' and port == '80') else ':{}'.format(port)
|
||||||
return '{}://{}{}'.format(proto, domain, port)
|
return '{}://{}{}'.format(proto, domain, port)
|
@ -7,7 +7,7 @@ import subprocess
|
|||||||
|
|
||||||
from . import crypto
|
from . import crypto
|
||||||
from . import templates
|
from . import templates
|
||||||
from . import tools
|
from . import net
|
||||||
from .config import Config
|
from .config import Config
|
||||||
|
|
||||||
VERSION = '0.0.1'
|
VERSION = '0.0.1'
|
||||||
@ -53,7 +53,7 @@ class VMMgr:
|
|||||||
def rebuild_issue(self):
|
def rebuild_issue(self):
|
||||||
# Compile the URLs displayed in terminal banner and rebuild the file
|
# Compile the URLs displayed in terminal banner and rebuild the file
|
||||||
with open(ISSUE_FILE, 'w') as f:
|
with open(ISSUE_FILE, 'w') as f:
|
||||||
f.write(templates.ISSUE.format(url=tools.compile_url(self.domain, self.port), ip=tools.compile_url(tools.get_local_ip(), self.port)))
|
f.write(templates.ISSUE.format(url=net.compile_url(self.domain, self.port), ip=net.compile_url(net.get_local_ip(), self.port)))
|
||||||
|
|
||||||
def update_password(self, oldpassword, newpassword):
|
def update_password(self, oldpassword, newpassword):
|
||||||
# Update LUKS password and adminpwd for WSGI application
|
# Update LUKS password and adminpwd for WSGI application
|
||||||
|
@ -13,7 +13,7 @@ from jinja2 import Environment, FileSystemLoader
|
|||||||
from cryptography.exceptions import InvalidSignature
|
from cryptography.exceptions import InvalidSignature
|
||||||
|
|
||||||
from . import crypto
|
from . import crypto
|
||||||
from . import tools
|
from . import net
|
||||||
from . import validator
|
from . import validator
|
||||||
from .actionqueue import ActionQueue
|
from .actionqueue import ActionQueue
|
||||||
from .appmgr import AppMgr
|
from .appmgr import AppMgr
|
||||||
@ -141,17 +141,17 @@ class WSGIApp(object):
|
|||||||
|
|
||||||
def portal_view(self, request):
|
def portal_view(self, request):
|
||||||
# Default portal view.
|
# Default portal view.
|
||||||
host = tools.compile_url(self.conf['host']['domain'], self.conf['host']['port'])[8:]
|
host = net.compile_url(self.conf['host']['domain'], self.conf['host']['port'])[8:]
|
||||||
if request.session['admin']:
|
if request.session['admin']:
|
||||||
return self.render_html('portal-admin.html', request, host=host)
|
return self.render_html('portal-admin.html', request, host=host)
|
||||||
return self.render_html('portal-user.html', request, host=host)
|
return self.render_html('portal-user.html', request, host=host)
|
||||||
|
|
||||||
def setup_host_view(self, request):
|
def setup_host_view(self, request):
|
||||||
# Host setup view.
|
# Host setup view.
|
||||||
ex_ipv4 = tools.get_external_ip(4)
|
ex_ipv4 = net.get_external_ip(4)
|
||||||
ex_ipv6 = tools.get_external_ip(6)
|
ex_ipv6 = net.get_external_ip(6)
|
||||||
in_ipv4 = tools.get_local_ip(4)
|
in_ipv4 = net.get_local_ip(4)
|
||||||
in_ipv6 = tools.get_local_ip(6)
|
in_ipv6 = net.get_local_ip(6)
|
||||||
cert_info = crypto.get_cert_info()
|
cert_info = crypto.get_cert_info()
|
||||||
return self.render_html('setup-host.html', request, ex_ipv4=ex_ipv4, ex_ipv6=ex_ipv6, in_ipv4=in_ipv4, in_ipv6=in_ipv6, cert_info=cert_info)
|
return self.render_html('setup-host.html', request, ex_ipv4=ex_ipv4, ex_ipv6=ex_ipv6, in_ipv4=in_ipv4, in_ipv6=in_ipv6, cert_info=cert_info)
|
||||||
|
|
||||||
@ -242,7 +242,7 @@ class WSGIApp(object):
|
|||||||
elif not validator.is_valid_port(port):
|
elif not validator.is_valid_port(port):
|
||||||
return self.render_json({'error': request.session.lang.invalid_port(port)})
|
return self.render_json({'error': request.session.lang.invalid_port(port)})
|
||||||
self.vmmgr.update_host(domain, port)
|
self.vmmgr.update_host(domain, port)
|
||||||
url = '{}/setup-host'.format(tools.compile_url(tools.get_local_ip(), port))
|
url = '{}/setup-host'.format(net.compile_url(net.get_local_ip(), port))
|
||||||
response = self.render_json({'ok': request.session.lang.host_updated(url, url)})
|
response = self.render_json({'ok': request.session.lang.host_updated(url, url)})
|
||||||
response.call_on_close(self.vmmgr.restart_nginx)
|
response.call_on_close(self.vmmgr.restart_nginx)
|
||||||
return response
|
return response
|
||||||
@ -250,12 +250,12 @@ class WSGIApp(object):
|
|||||||
def verify_dns_action(self, request):
|
def verify_dns_action(self, request):
|
||||||
# Check if all FQDNs for all applications are resolvable and point to current external IP
|
# Check if all FQDNs for all applications are resolvable and point to current external IP
|
||||||
domains = [self.vmmgr.domain]+['{}.{}'.format(self.conf['packages'][app]['host'], self.vmmgr.domain) for app in self.conf['apps']]
|
domains = [self.vmmgr.domain]+['{}.{}'.format(self.conf['packages'][app]['host'], self.vmmgr.domain) for app in self.conf['apps']]
|
||||||
ipv4 = tools.get_external_ip(4)
|
ipv4 = net.get_external_ip(4)
|
||||||
ipv6 = tools.get_external_ip(6)
|
ipv6 = net.get_external_ip(6)
|
||||||
for domain in domains:
|
for domain in domains:
|
||||||
try:
|
try:
|
||||||
a = tools.resolve_ip(domain, 'A')
|
a = net.resolve_ip(domain, 'A')
|
||||||
aaaa = tools.resolve_ip(domain, 'AAAA')
|
aaaa = net.resolve_ip(domain, 'AAAA')
|
||||||
if not a and not aaaa:
|
if not a and not aaaa:
|
||||||
return self.render_json({'error': request.session.lang.dns_record_does_not_exist(domain)})
|
return self.render_json({'error': request.session.lang.dns_record_does_not_exist(domain)})
|
||||||
if a and a != ipv4:
|
if a and a != ipv4:
|
||||||
@ -272,9 +272,9 @@ class WSGIApp(object):
|
|||||||
port = self.vmmgr.port if proto == 'https' else '80'
|
port = self.vmmgr.port if proto == 'https' else '80'
|
||||||
domains = [self.vmmgr.domain]+['{}.{}'.format(self.conf['packages'][app]['host'], self.vmmgr.domain) for app in self.conf['apps']]
|
domains = [self.vmmgr.domain]+['{}.{}'.format(self.conf['packages'][app]['host'], self.vmmgr.domain) for app in self.conf['apps']]
|
||||||
for domain in domains:
|
for domain in domains:
|
||||||
url = tools.compile_url(domain, port, proto)
|
url = net.compile_url(domain, port, proto)
|
||||||
try:
|
try:
|
||||||
if not tools.ping_url(url):
|
if not net.ping_url(url):
|
||||||
return self.render_json({'error': request.session.lang.http_host_not_reachable(url)})
|
return self.render_json({'error': request.session.lang.http_host_not_reachable(url)})
|
||||||
except:
|
except:
|
||||||
return self.render_json({'error': request.session.lang.http_timeout()})
|
return self.render_json({'error': request.session.lang.http_timeout()})
|
||||||
@ -298,7 +298,7 @@ class WSGIApp(object):
|
|||||||
os.unlink('/tmp/private.pem')
|
os.unlink('/tmp/private.pem')
|
||||||
else:
|
else:
|
||||||
return self.render_json({'error': request.session.lang.cert_request_error()})
|
return self.render_json({'error': request.session.lang.cert_request_error()})
|
||||||
url = tools.compile_url(self.vmmgr.domain, self.vmmgr.port)
|
url = net.compile_url(self.vmmgr.domain, self.vmmgr.port)
|
||||||
return self.render_json({'ok': request.session.lang.cert_installed(url, url)})
|
return self.render_json({'ok': request.session.lang.cert_installed(url, url)})
|
||||||
|
|
||||||
def update_common_action(self, request):
|
def update_common_action(self, request):
|
||||||
|
Loading…
Reference in New Issue
Block a user