Files
youtube-sync-docker/templates/cookies.html
azcomputerguru b3f378a8ef Add web UI for configuration and management
- Flask-based web interface on port 8080
- Dashboard with channel statistics and sync status
- Channel management (add/remove channels via UI)
- Settings page for all configuration options
- Cookie file upload interface
- Real-time log viewer
- Manual sync trigger from web UI
- Updated Dockerfile to include Flask and web assets
- Updated Unraid template with WebUI port
- Updated README with web UI documentation
2026-05-08 19:00:36 -04:00

81 lines
3.5 KiB
HTML

{% extends "base.html" %}
{% block title %}Cookies{% endblock %}
{% block content %}
<div class="page-header">
<h2>YouTube Cookies</h2>
</div>
<div class="card">
<h3>Cookie Status</h3>
<div class="status-info">
<div class="status-item">
<span class="label">Status:</span>
<span class="value {% if has_cookies %}status-ok{% else %}status-warning{% endif %}">
{% if has_cookies %}
Cookies file configured
{% else %}
No cookies file uploaded
{% endif %}
</span>
</div>
</div>
{% if has_cookies %}
<div class="alert alert-success">
<strong>Success!</strong> YouTube cookies are configured. This helps prevent "Sign in to confirm you're not a bot" errors.
</div>
<a href="{{ url_for('delete_cookies') }}" class="btn btn-danger"
onclick="return confirm('Delete cookies file? You may experience download errors without it.')">
Delete Cookies
</a>
{% else %}
<div class="alert alert-warning">
<strong>Warning:</strong> Without cookies, YouTube may block downloads with "Sign in to confirm you're not a bot" errors.
</div>
{% endif %}
</div>
<div class="card">
<h3>Upload Cookies File</h3>
<form method="POST" action="{{ url_for('cookies') }}" enctype="multipart/form-data" class="form">
<div class="form-group">
<label for="cookies_file">Select cookies.txt file</label>
<input type="file" id="cookies_file" name="cookies_file" accept=".txt" class="form-control" required>
<small class="form-help">Must be in Netscape format (cookies.txt)</small>
</div>
<button type="submit" class="btn btn-primary">Upload Cookies</button>
</form>
</div>
<div class="card info-card">
<h3>How to Export YouTube Cookies</h3>
<h4>Method 1: Browser Extension (Recommended)</h4>
<ol>
<li>Install the <strong>"Get cookies.txt LOCALLY"</strong> extension for Firefox or Chrome:
<ul>
<li>Firefox: <a href="https://addons.mozilla.org/en-US/firefox/addon/cookies-txt/" target="_blank">addons.mozilla.org/firefox/addon/cookies-txt</a></li>
<li>Chrome: <a href="https://chrome.google.com/webstore/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc" target="_blank">Chrome Web Store</a></li>
</ul>
</li>
<li>Go to <strong>youtube.com</strong> and make sure you're logged in</li>
<li>Click the extension icon in your browser toolbar</li>
<li>Click "Export" or "Download" to save cookies.txt</li>
<li>Upload the file here</li>
</ol>
<h4>Method 2: Using yt-dlp (Advanced)</h4>
<p>If you have yt-dlp installed locally:</p>
<pre><code>yt-dlp --cookies-from-browser firefox --cookies cookies.txt --skip-download "https://www.youtube.com/watch?v=dQw4w9WgXcQ"</code></pre>
<p>Replace <code>firefox</code> with <code>chrome</code>, <code>edge</code>, or <code>safari</code> as needed.</p>
<h4>Why Are Cookies Needed?</h4>
<p>YouTube uses bot detection to prevent automated downloads. By providing cookies from a logged-in browser session, yt-dlp can authenticate as your browser and avoid these restrictions.</p>
<p><strong>Security Note:</strong> Cookies contain authentication tokens. Only upload cookies to trusted applications. The cookie file stays on your server and is not transmitted elsewhere.</p>
</div>
{% endblock %}