open-navigator / scripts /eboard /export_chrome_cookies.py
jcbowyer's picture
Clean HuggingFace deployment without binary files
e59d91d
Raw
History Blame Contribute Delete
3.07 kB
#!/usr/bin/env python3
"""
Export YouTube cookies from Chrome browser database
Requires: pip install pycryptodome
"""
import os
import sqlite3
import json
from pathlib import Path
def export_chrome_cookies():
"""Export cookies from Chrome to Netscape format"""
# Chrome cookie database location
chrome_cookie_db = Path.home() / '.config/google-chrome/Default/Cookies'
if not chrome_cookie_db.exists():
# Try other common locations
alternatives = [
Path.home() / '.config/chromium/Default/Cookies',
Path.home() / 'snap/chromium/common/chromium/Default/Cookies',
]
for alt in alternatives:
if alt.exists():
chrome_cookie_db = alt
break
else:
print("❌ Chrome cookies database not found!")
print(f"Looked in: {chrome_cookie_db}")
print("Make sure Chrome/Chromium is installed and you've visited YouTube")
return False
# Copy database (Chrome locks it)
import shutil
temp_db = '/tmp/chrome_cookies.db'
shutil.copy2(chrome_cookie_db, temp_db)
# Connect to database
conn = sqlite3.connect(temp_db)
cursor = conn.cursor()
# Get YouTube cookies
cursor.execute("""
SELECT host_key, path, is_secure, expires_utc, name, value
FROM cookies
WHERE host_key LIKE '%youtube.com%'
""")
cookies = cursor.fetchall()
conn.close()
if not cookies:
print("❌ No YouTube cookies found!")
print("Make sure you're logged into YouTube in Chrome")
return False
# Write to Netscape format
with open('youtube_cookies.txt', 'w') as f:
f.write("# Netscape HTTP Cookie File\n")
f.write("# This file is generated by export_chrome_cookies.py\n\n")
for host, path, secure, expires, name, value in cookies:
# Convert Chrome's expires format (microseconds since 1601) to Unix timestamp
if expires:
# Chrome uses Windows epoch (1601-01-01), convert to Unix epoch (1970-01-01)
expires_unix = (expires - 11644473600000000) // 1000000
else:
expires_unix = 0
secure_str = "TRUE" if secure else "FALSE"
f.write(f"{host}\tTRUE\t{path}\t{secure_str}\t{expires_unix}\t{name}\t{value}\n")
print(f"✅ Exported {len(cookies)} YouTube cookies to youtube_cookies.txt")
# Check for authentication cookies
auth_cookies = [c for c in cookies if c[4] in ['SAPISID', 'HSID', 'SID', 'SSID', 'LOGIN_INFO']]
if auth_cookies:
print(f"✅ Found {len(auth_cookies)} authentication cookies")
print(" Your cookies include login information!")
else:
print("⚠️ No authentication cookies found")
print(" Make sure you're LOGGED IN to YouTube in Chrome")
return True
if __name__ == "__main__":
print("Exporting YouTube cookies from Chrome...")
export_chrome_cookies()