This commit is contained in:
Mateusz779 2023-04-19 11:45:08 +02:00
parent bdfb2e9b9e
commit 1697f84b73
2 changed files with 21 additions and 12 deletions

5
app.py
View File

@ -168,11 +168,12 @@ def get_image():
@app.route("/api/release_allocation", methods=['POST'])
def release_allocation():
try:
id_allocation = db.get_conf_id_name(request.headers['name']+".squashfs")
id_allocation = db.get_conf_id_name(
request.headers['name']+".squashfs")
if id_allocation is None or id_allocation == "":
return jsonify(message="400")
except:
pass
return jsonify(message="400")
if id_allocation is not None:
db.del_image_allocation_id_image(id_allocation)
else:

View File

@ -10,17 +10,21 @@ from time import sleep
import db
import config
def generate_random_string(length):
letters = string.ascii_letters
random_string = ''.join(random.choice(letters) for i in range(length))
return random_string
def hash_password(password):
return hashlib.sha512(password.encode('utf-8')).hexdigest()
def generate_auth_token():
return secrets.token_urlsafe(32)
def ping_client(ip):
response = os.system("ping -c 1 " + ip + "> /dev/null")
@ -28,12 +32,12 @@ def ping_client(ip):
return True
else:
return False
def ssh_thread_function():
subprocess.run(['wssh','--fbidhttp=False', '--port='+config.webssh_port])
subprocess.run(['wssh', '--fbidhttp=False', '--port='+config.webssh_port])
def check_allocation_thread_function():
while True:
ids = db.get_image_allocation_all()
@ -41,14 +45,16 @@ def check_allocation_thread_function():
ip = db.get_image_allocation_clientip_id(x[0])
ping_thread = PingThread(ip, x[0])
ping_thread.start()
sleep(10)
class PingThread(threading.Thread):
def __init__(self, ip, id):
super(PingThread, self).__init__()
self.Ip = ip
self.Id = id
def run(self):
if self.Ip is None:
return
@ -57,14 +63,16 @@ class PingThread(threading.Thread):
if date is None:
return
delta = datetime.datetime.now() - date
if delta.total_seconds() > 30:
if delta.total_seconds() > 30:
db.del_image_allocation_id(self.Id)
else:
db.update_image_allocation_time(self.Id)
def init_threads():
def init_threads():
ssh_thread = threading.Thread(target=ssh_thread_function)
ssh_thread.start()
allocation_thread = threading.Thread(target=check_allocation_thread_function)
allocation_thread.start()
allocation_thread = threading.Thread(
target=check_allocation_thread_function)
allocation_thread.start()