Files
WPIQ/wo/core/checkfqdn.py

65 lines
2.1 KiB
Python
Raw Permalink Normal View History

2019-09-04 20:36:15 +02:00
import requests
2018-11-13 21:55:59 +01:00
from wo.core.shellexec import WOShellExec
2019-10-02 13:13:32 +02:00
from wo.core.variables import WOVar
2018-11-13 21:55:59 +01:00
2024-04-21 12:48:11 +02:00
class WOFqdn:
"""IP and FQDN tools for WordOps"""
def check_fqdn(self, wo_host):
"""FQDN check with WordOps, for mail server hostname must be FQDN"""
# wo_host=os.popen("hostname -f | tr -d '\n'").read()
if '.' in wo_host:
WOVar.wo_fqdn = wo_host
with open('/etc/hostname', encoding='utf-8', mode='w') as hostfile:
hostfile.write(wo_host)
WOShellExec.cmd_exec(self, "sed -i \"1i\\127.0.0.1 {0}\" /etc/hosts"
.format(wo_host))
if WOVar.wo_distro == 'debian':
WOShellExec.cmd_exec(self, "/etc/init.d/hostname.sh start")
else:
WOShellExec.cmd_exec(self, "service hostname restart")
2024-04-21 12:48:11 +02:00
else:
wo_host = input("Enter hostname [fqdn]:")
WOFqdn.check_fqdn(self, wo_host)
def check_fqdn_ip(self):
"""Check if server hostname resolved server IP"""
try:
x = requests.get('http://v4.wordops.eu')
ip = (x.text).strip()
wo_fqdn = WOVar.wo_fqdn
y = requests.get('http://v4.wordops.eu/dns/{0}/'.format(wo_fqdn))
ip_fqdn = (y.text).strip()
return bool(ip == ip_fqdn)
except requests.exceptions.RequestException as e:
print("Error occurred during request:", e)
return False
def get_server_ip(self):
"""Get the server externet IP"""
try:
x = requests.get('http://v4.wordops.eu')
ip = (x.text).strip()
return ip
except requests.exceptions.RequestException as e:
print("Error occurred during request:", e)
return None
2024-04-21 12:51:59 +02:00
def get_domain_ip(self, wo_domain):
"""Get the server externet IP"""
try:
y = requests.get('http://v4.wordops.eu/dns/{0}/'.format(wo_domain))
domain_ip = (y.text).strip()
return domain_ip
except requests.exceptions.RequestException as e:
print("Error occurred during request:", e)
return None