All alldebrid premium check
This commit is contained in:
@@ -5,7 +5,7 @@ import time
|
||||
|
||||
# Third-party libraries
|
||||
import requests
|
||||
from flask import render_template, request, redirect, url_for, session, flash, jsonify
|
||||
from flask import render_template, request, redirect, url_for, session, flash, jsonify, make_response
|
||||
from flask_login import login_user, logout_user, login_required, current_user
|
||||
from werkzeug.security import check_password_hash
|
||||
|
||||
@@ -13,6 +13,7 @@ from werkzeug.security import check_password_hash
|
||||
from . import db
|
||||
from backend.models import User, LoginIP
|
||||
from backend.utils import format_size, calculate_age
|
||||
from backend.alldebrid import check_alldebrid_status, send_ntfy
|
||||
|
||||
MAX_ATTEMPTS = 5
|
||||
BLOCK_TIME = timedelta(minutes=15)
|
||||
@@ -56,6 +57,15 @@ def init_app(app):
|
||||
db.session.commit()
|
||||
login_user(user)
|
||||
session['user'] = user.username
|
||||
|
||||
# --- Vérification AllDebrid ---
|
||||
print("Vérification en cours")
|
||||
premium = check_alldebrid_status()
|
||||
session['alldebrid_active'] = premium
|
||||
if not premium: # notifier seulement si le compte n’est plus premium
|
||||
print("Envoi notif")
|
||||
send_ntfy("AllDebrid non premium", "Tentative avortée sur ygg-service !")
|
||||
|
||||
return redirect(url_for("dashboard"))
|
||||
else:
|
||||
ip_record.count += 1
|
||||
@@ -78,8 +88,11 @@ def init_app(app):
|
||||
@app.route('/logout')
|
||||
@login_required
|
||||
def logout():
|
||||
logout_user()
|
||||
return redirect(url_for('login'))
|
||||
logout_user() # Déconnecte Flask-Login
|
||||
session.clear() # Efface toutes les clés de session
|
||||
resp = make_response(redirect(url_for('login')))
|
||||
resp.set_cookie('session', '', expires=0) # supprime le cookie de session
|
||||
return resp
|
||||
|
||||
@app.route('/search')
|
||||
@login_required
|
||||
|
||||
Reference in New Issue
Block a user