Skip to content

StreamBase: Minimalist site for free OTT accounts/cookies, no login needed. Responsive UI with dark/light mode, Poppins font. Vercel-hosted, Supabase-powered. Secure admin panel for managing services/icons. Python backend, updated via GitHub & Supabase.

Notifications You must be signed in to change notification settings

walterwhite-69/StreamBase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

StreamBase - OTT Accounts & Cookies Manager

A modern web application for managing and distributing OTT (Over-The-Top) streaming service accounts and cookies. Built with Flask and Supabase for scalable account management.

Python Flask License

Features

  • 🎬 Service Management: Add and manage multiple OTT streaming services
  • πŸ” Account Distribution: Support for both credential-based accounts and cookie data
  • 🎨 Custom Branding: Upload custom icons and set colors for each service
  • πŸ“± Responsive Design: Mobile-friendly interface with dark/light theme support
  • πŸ‘¨β€πŸ’Ό Admin Dashboard: Comprehensive admin panel for service management
  • βš™οΈ Per-Service Settings: Customize field labels for each service individually
  • πŸ”” New Account Notifications: Visual indicators for newly added accounts
  • πŸ“Š Account Analytics: Track account counts and types per service

Tech Stack

  • Backend: Flask (Python)
  • Database: Supabase (PostgreSQL)
  • Storage: Supabase Storage for icon uploads
  • Frontend: HTML5, CSS3, JavaScript (Vanilla)
  • Styling: Custom CSS with CSS Variables for theming

Prerequisites

  • Python 3.8 or higher
  • Supabase account and project
  • Modern web browser

Credits

-- All credit goes to Replit and ChatGPTπŸ˜…

Installation

  1. Clone the repository

    git clone https://github.com/walterwhite-69/StreamBase.git
    cd streambase
  2. Install dependencies

    pip install -r requirements.txt
  3. Environment Configuration

    • Copy .env.template to .env
    • Update the environment variables with your Supabase credentials:
    cp .env.template .env
  4. Database Setup

    Create the following tables in your Supabase database:

    Services Table:

    CREATE TABLE services (
      id BIGSERIAL PRIMARY KEY,
      name TEXT NOT NULL,
      comments TEXT,
      account_type TEXT DEFAULT 'credentials',
      icon_class TEXT,
      icon_url TEXT,
      color TEXT,
      accounts JSONB DEFAULT '[]',
      has_new_accounts BOOLEAN DEFAULT false,
      created_at TIMESTAMPTZ DEFAULT NOW(),
      updated_at TIMESTAMPTZ DEFAULT NOW()
    );

    Service Settings Table:

    CREATE TABLE service_settings (
      id BIGSERIAL PRIMARY KEY,
      service_id BIGINT REFERENCES services(id) ON DELETE CASCADE,
      settings JSONB DEFAULT '{}',
      created_at TIMESTAMPTZ DEFAULT NOW(),
      updated_at TIMESTAMPTZ DEFAULT NOW()
    );

    Global Settings Table:

    CREATE TABLE settings (
      id BIGSERIAL PRIMARY KEY,
      key TEXT UNIQUE NOT NULL,
      value JSONB DEFAULT '{}',
      created_at TIMESTAMPTZ DEFAULT NOW(),
      updated_at TIMESTAMPTZ DEFAULT NOW()
    );
    
    INSERT INTO settings (key, value) VALUES (
      'global',
      '{"placeholders": {"user": "User", "pass": "Pass", "expiry": "Expiry", "additional": "Additional"}}'
    );

    Storage Bucket:

    • Create a storage bucket named service-icons in your Supabase project
    • Set the bucket to public access for icon display

Usage

  1. Start the application

    python app.py
  2. Access the application

    • Public interface: http://localhost:5000
    • Admin dashboard: http://localhost:5000/admin
  3. Admin Setup

    • Use the email configured in your .env file to access the admin dashboard
    • Default template email: admin@access.com

Configuration

Environment Variables

Variable Description Required
SUPABASE_URL Your Supabase project URL Yes
SUPABASE_ANON_KEY Your Supabase anonymous key Yes
SESSION_SECRET Secret key for Flask sessions Yes
ADMIN_EMAIL Email address for admin access Yes

Service Configuration

Services support two account types:

  1. Credentials: Traditional username/password accounts
  2. Cookies: Browser cookie data for authenticated sessions

Field Customization

Each service can have customized field labels through the admin settings:

  • Username/Email field label
  • Password field label
  • Expiry field label
  • Additional field label

File Structure

streambase/
β”œβ”€β”€ app.py                          # Main Flask application
β”œβ”€β”€ .env                           # Environment variables (not in repo)
β”œβ”€β”€ .env.template                  # Environment template
β”œβ”€β”€ requirements.txt               # Python dependencies
β”œβ”€β”€ static/                        # Static assets
β”‚   β”œβ”€β”€ css/style.css             # Main stylesheet
β”‚   β”œβ”€β”€ js/main.js                # JavaScript functionality
β”‚   └── walter-white.gif          # Static assets
β”œβ”€β”€ templates/                     # Jinja2 templates
β”‚   β”œβ”€β”€ base.html                 # Base template
β”‚   β”œβ”€β”€ index.html                # Homepage
β”‚   β”œβ”€β”€ service.html              # Service detail page
β”‚   β”œβ”€β”€ admin_login.html          # Admin login
β”‚   β”œβ”€β”€ admin_dashboard.html      # Admin dashboard
β”‚   β”œβ”€β”€ admin_service_form.html   # Service creation/editing
β”‚   └── admin_service_settings.html # Service settings
└── README.md                      # This file

Features Overview

Public Interface

  • Browse available OTT services
  • View account counts and types
  • Access accounts/cookies with one-click selection
  • Responsive design with theme toggle

Admin Dashboard

  • Add/edit/delete services
  • Upload custom service icons
  • Configure service colors and branding
  • Manage account data (credentials or cookies)
  • Per-service settings configuration
  • Account status management

Security Features

  • Session-based admin authentication
  • Environment variable configuration
  • Secure file upload handling
  • Input validation and sanitization

Browser Support

  • Chrome 80+
  • Firefox 75+
  • Safari 13+
  • Edge 80+

Contact

-- Discord : @heisenburger_7 -- Kiny send me message if you encounter any bugs or any problems

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/new-feature)
  3. Commit your changes (git commit -am 'Add new feature')
  4. Push to the branch (git push origin feature/new-feature)
  5. Create a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For support and questions, please open an issue in the GitHub repository.

About

StreamBase: Minimalist site for free OTT accounts/cookies, no login needed. Responsive UI with dark/light mode, Poppins font. Vercel-hosted, Supabase-powered. Secure admin panel for managing services/icons. Python backend, updated via GitHub & Supabase.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published