Skip to content

[Feature] : PASSWORD #931

@Falous-dev

Description

@Falous-dev

Prerequisites

  • I have searched existing issues and discussions to ensure this feature hasn't been requested before
  • I have read the feature request guidelines in the README
  • I understand that MeTube development relies on community contributions and the maintainer is not likely to implement this feature
  • I have considered if this feature should be implemented in yt-dlp instead of MeTube (if so, please report to yt-dlp repository)

Feature Description

MeTube is currently accessible to anyone who reaches the interface. To improve basic security and prevent unauthorized access, this feature request proposes adding a simple password‑protection layer.
This is not a full authentication system with user accounts — only a single password required to access the application.

Proposed Solution

Introduce a lightweight access gate that displays a login screen when the user is not authenticated.
Access is granted only after entering the correct password, which is defined in the application configuration.

Requirements

• Display a /login page when no valid session is detected.
• Provide a single password input field and a “Submit” button.
• Store the password in a configuration file or environment variable (e.g., METUBE_PASSWORD).
• Use a simple session mechanism (cookie‑based) to remember authenticated users.
• Add a “Logout” option to invalidate the session.
• Ensure the password is never exposed in client‑side code.

Rationale

• Prevent public or unintended access to the MeTube interface.
• Provide a minimal security layer without implementing full user management.
• Keep the solution lightweight and easy to maintain.

Acceptance Criteria

• MeTube cannot be accessed without entering the correct password.
• The session persists correctly and expires when expected.
• Incorrect passwords deny access without revealing sensitive information.
• The implementation is documented for deployment and configuration.

Implementation Plan

None

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions