39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#!/home/nonroot/receive_motd_requests/venv/bin/python3
 | 
						|
from flask import Flask
 | 
						|
from flask import request
 | 
						|
from flask_cors import CORS
 | 
						|
from settings import token, get_connection_ban_detector
 | 
						|
 | 
						|
app = Flask(__name__)
 | 
						|
CORS(app)
 | 
						|
 | 
						|
@app.route('/', methods = ['POST'])
 | 
						|
def get_answer():
 | 
						|
    if request.remote_addr != "127.0.0.1":
 | 
						|
        return "invalid"
 | 
						|
    try:
 | 
						|
        content = request.form.get('name')
 | 
						|
        name = content.split(" ")[0]
 | 
						|
        ip = content.split(" ")[1]
 | 
						|
        #print(name, ip)
 | 
						|
        if name is None or ip is None:
 | 
						|
            return ""
 | 
						|
    except:
 | 
						|
        return ""
 | 
						|
    name = name.replace('"', '') #fingerprint
 | 
						|
    ip = ip.replace('"', '')
 | 
						|
    with get_connection_ban_detector() as conn:
 | 
						|
        with conn.cursor(buffered=True) as cur: #wtf is this buffered shit even
 | 
						|
            sql_statement = """
 | 
						|
                INSERT IGNORE INTO ban_detector.ban_detector  (fingerprint, ip) VALUES (%s, %s);
 | 
						|
                """
 | 
						|
            cur.execute(sql_statement, [name, ip])
 | 
						|
            conn.commit()
 | 
						|
        conn.close()
 | 
						|
    #print("name: ", name, ' ip: ', ip)
 | 
						|
    return ""
 | 
						|
 | 
						|
if __name__ == "__main__":
 | 
						|
    from waitress import serve
 | 
						|
    serve(app, host="localhost", port=5085, threads = 8)
 |