Compare commits
No commits in common. "26e26951da1cc8b7a7d3f3e70895a058d89eb355" and "3f21e2a0e17c32a86f63f72cf42e3b620a0aa91b" have entirely different histories.
26e26951da
...
3f21e2a0e1
7
.vscode/launch.json
vendored
7
.vscode/launch.json
vendored
@ -1,13 +1,6 @@
|
|||||||
{
|
{
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"configurations": [
|
"configurations": [
|
||||||
{
|
|
||||||
"name": "Python Debugger: Current File",
|
|
||||||
"type": "debugpy",
|
|
||||||
"request": "launch",
|
|
||||||
"program": "${file}",
|
|
||||||
"console": "integratedTerminal"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Python: Flask",
|
"name": "Python: Flask",
|
||||||
"type": "python",
|
"type": "python",
|
||||||
|
@ -1,57 +0,0 @@
|
|||||||
import os
|
|
||||||
import sys
|
|
||||||
from dotenv import load_dotenv
|
|
||||||
import mysql.connector
|
|
||||||
|
|
||||||
# Add the project root to the Python path
|
|
||||||
project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
||||||
sys.path.append(project_root)
|
|
||||||
from ktvmanager.lib.encryption import decrypt_password
|
|
||||||
from ktvmanager.lib.checker import single_account_check
|
|
||||||
from ktvmanager.lib.get_urls import get_latest_urls_from_dns
|
|
||||||
|
|
||||||
def get_all_accounts(db_connection):
|
|
||||||
cursor = db_connection.cursor(dictionary=True)
|
|
||||||
query = "SELECT * FROM userAccounts where userId = 1"
|
|
||||||
cursor.execute(query)
|
|
||||||
accounts = cursor.fetchall()
|
|
||||||
cursor.close()
|
|
||||||
return accounts
|
|
||||||
|
|
||||||
def main():
|
|
||||||
load_dotenv()
|
|
||||||
|
|
||||||
db_connection = mysql.connector.connect(
|
|
||||||
host=os.getenv("DBHOST"),
|
|
||||||
user=os.getenv("DBUSER"),
|
|
||||||
password=os.getenv("DBPASS"),
|
|
||||||
database=os.getenv("DATABASE"),
|
|
||||||
port=os.getenv("DBPORT")
|
|
||||||
)
|
|
||||||
|
|
||||||
accounts = get_all_accounts(db_connection)
|
|
||||||
stream_urls = get_latest_urls_from_dns()
|
|
||||||
|
|
||||||
for account in accounts:
|
|
||||||
try:
|
|
||||||
decrypted_password = decrypt_password(account['password'])
|
|
||||||
except Exception as e:
|
|
||||||
print(f"Could not decrypt password for {account['username']}: {e}")
|
|
||||||
continue
|
|
||||||
|
|
||||||
account_data = {
|
|
||||||
"username": account['username'],
|
|
||||||
"password": decrypted_password
|
|
||||||
}
|
|
||||||
|
|
||||||
result = single_account_check(account_data, stream_urls)
|
|
||||||
|
|
||||||
if result:
|
|
||||||
print(f"Account {account['username']} on stream {account['stream']} is VALID.")
|
|
||||||
else:
|
|
||||||
print(f"Account {account['username']} on stream {account['stream']} is INVALID.")
|
|
||||||
|
|
||||||
db_connection.close()
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
@ -1,6 +1,4 @@
|
|||||||
import requests
|
import requests
|
||||||
from flask import request, jsonify
|
|
||||||
from ktvmanager.lib.get_urls import get_latest_urls_from_dns
|
|
||||||
|
|
||||||
def build_url(stream_url, username, password):
|
def build_url(stream_url, username, password):
|
||||||
return f"{stream_url}/player_api.php?username={username}&password={password}"
|
return f"{stream_url}/player_api.php?username={username}&password={password}"
|
||||||
@ -29,21 +27,4 @@ def single_account_check(account_data, stream_urls):
|
|||||||
result = check_url(url)
|
result = check_url(url)
|
||||||
if result:
|
if result:
|
||||||
return {"url": stream_url, "data": result}
|
return {"url": stream_url, "data": result}
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def validate_account():
|
|
||||||
data = request.get_json()
|
|
||||||
username = data.get("username")
|
|
||||||
password = data.get("password")
|
|
||||||
|
|
||||||
if not all([username, password]):
|
|
||||||
return jsonify({"message": "Missing required fields"}), 400
|
|
||||||
|
|
||||||
stream_urls = get_latest_urls_from_dns()
|
|
||||||
account_data = {"username": username, "password": password}
|
|
||||||
result = single_account_check(account_data, stream_urls)
|
|
||||||
|
|
||||||
if result:
|
|
||||||
return jsonify({"message": "Account is valid"})
|
|
||||||
else:
|
|
||||||
return jsonify({"message": "Account is invalid"}), 401
|
|
@ -40,12 +40,6 @@ def delete_account_route(username, password):
|
|||||||
user_id = get_user_id_from_username(username)
|
user_id = get_user_id_from_username(username)
|
||||||
return delete_account(user_id)
|
return delete_account(user_id)
|
||||||
|
|
||||||
@api_blueprint.route("/validateAccount", methods=["POST"])
|
|
||||||
@requires_basic_auth
|
|
||||||
def validate_account_route(username, password):
|
|
||||||
from ktvmanager.lib.checker import validate_account
|
|
||||||
return validate_account()
|
|
||||||
|
|
||||||
@api_blueprint.route("/Login")
|
@api_blueprint.route("/Login")
|
||||||
@requires_basic_auth
|
@requires_basic_auth
|
||||||
def login_route(username, password):
|
def login_route(username, password):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user