added csrf cookie option

This commit is contained in:
Ludwig Lehnert 2025-02-16 10:16:24 +01:00
parent f1100092b9
commit 6ebda4f49c
2 changed files with 10 additions and 3 deletions

4
dl.py
View File

@ -22,6 +22,7 @@ def parse_args():
parser.add_argument('--auth-token', type=str) parser.add_argument('--auth-token', type=str)
parser.add_argument('--session-id', type=str) parser.add_argument('--session-id', type=str)
parser.add_argument('--session-ci', type=str) parser.add_argument('--session-ci', type=str)
parser.add_argument('--csrf-cookie', type=str)
parser.add_argument('--no-auth', action='store_true') parser.add_argument('--no-auth', action='store_true')
@ -33,7 +34,8 @@ def main():
try: try:
if not args.no_auth and args.auth_token and args.session_id and args.session_ci: if not args.no_auth and args.auth_token and args.session_id and args.session_ci:
set_token(args.auth_token, args.session_id, args.session_ci) set_token(args.auth_token, args.session_id,
args.session_ci, args.csrf_cookie)
elif not args.no_auth: elif not args.no_auth:
load_token(args.starter_url) load_token(args.starter_url)

9
lib.py
View File

@ -20,6 +20,7 @@ class Token():
auth_token: str auth_token: str
session_id: str session_id: str
session_ci: str session_ci: str
csrf_cookie: str
def cookies(self): def cookies(self):
cookies = {} cookies = {}
@ -33,6 +34,9 @@ class Token():
if self.session_ci is not None: if self.session_ci is not None:
cookies["session_ci"] = self.session_ci cookies["session_ci"] = self.session_ci
if self.csrf_cookie is not None:
cookies["csrf_cookie_name"] = self.csrf_cookie
return cookies return cookies
@ -62,9 +66,9 @@ class ClipDetails():
] if url is not None] ] if url is not None]
def set_token(auth_token: str, session_id: str, session_ci: str): def set_token(auth_token: str, session_id: str, session_ci: str, csrf_cookie: str):
global _token global _token
_token = Token(auth_token, session_id, session_ci) _token = Token(auth_token, session_id, session_ci, csrf_cookie)
def load_token(auth_url: str): def load_token(auth_url: str):
@ -88,6 +92,7 @@ def load_token(auth_url: str):
auth_token=get_value(driver.get_cookie("SimpleSAMLAuthToken")), auth_token=get_value(driver.get_cookie("SimpleSAMLAuthToken")),
session_id=get_value(driver.get_cookie("SimpleSAMLSessionID")), session_id=get_value(driver.get_cookie("SimpleSAMLSessionID")),
session_ci=get_value(driver.get_cookie("session_ci")), session_ci=get_value(driver.get_cookie("session_ci")),
csrf_cookie=get_value(driver.get_cookie("csrf_cookie_name")),
) )
driver.close() driver.close()