Skip to content

BleedingXiko/GhostHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‘» GhostHub

Buy Now

Version

License

Stars

Platform

GhostHub is a zero-setup, mobile-first media server you can run instantly and share over the internet. No accounts. No config. Just swipe through your own folder like it's TikTok.

Perfect for temporary sharing, personal libraries, or lightweight deployments with friends.

Runs as a Python script, one-click Windows .exe, or Docker container β€” no install, no accounts, no cloud.

New in v1.7 (Soon):

  • GhostStream Integration - Hardware-accelerated video transcoding via external GPU server
  • MKV, HEVC, AVI and other formats now play natively via HLS streaming
  • Batch "Transcode All" feature for pre-transcoding entire categories
  • Auto-connect to GhostStream on startup

v1.6:

  • Saved session progress per category (even with shuffle)
  • Full Pinggy tunnel integration with live status and config UI
  • Dynamic category thumbnails fixed across environments (incl. Docker)
  • New /kick command to remove users by session ID
  • Slash command popup with instant filtering and improved input handling
  • Chat and modal UI fully reworked for smoother mobile and desktop use

πŸ“± Preview Gallery

Desktop View (Use arrow keys to navigate inside categories)

GhostHub Desktop Preview

GhostHub Mobile Preview GhostHub Mobile Preview 2

πŸš€ Features

  • πŸ“ Add custom folders and browse your media

  • 🎞️ TikTok-style swipe navigation for images & videos

  • πŸ” Optional host sync β€” everyone sees the same media, watches at their own pace

  • πŸ” Sync password protection + admin-only controls

  • πŸ§‘β€πŸ€β€πŸ§‘ Live user counter and join notifications

  • πŸ’¬ Built-in real-time chat (ephemeral, anonymous)

  • ⌨️ Slash commands like /myview and /help

  • πŸ“± Fully mobile and desktop optimized

  • 🌐 Optional public sharing via Cloudflare Tunnel

  • πŸ–₯️ Portable .exe with no dependencies or setup

  • 🐳 Docker support (including ARM64)

  • πŸ’Ύ External config (media_categories.json) for folder persistence


βš™οΈ How to Run GhostHub

πŸ”§ Option 1: Standalone Executable (Windows)

The .exe contains everything β€” no setup needed.

  1. Run GhostHub.exe

  2. You’ll be prompted to enable a Cloudflare Tunnel

  3. URL is auto-copied to clipboard (if enabled)

  4. Open your browser to: http://localhost:5000

πŸ“ media_categories.json is saved in the same folder βœ… No need to download cloudflared β€” it’s bundled


πŸ’» Option 2: Python (Manual / Development Mode)

  1. Install Python 3.7+

  2. (Optional) Place cloudflared.exe in project root

  3. Install dependencies:

    pip install -r requirements.txt
  4. Start the server:

    python ghosthub.py

πŸ’‘ If cloudflared.exe is found, you’ll be prompted to start a tunnel


🐳 Option 3: Docker (Cross-Platform)

  1. Install Docker

  2. Pull the latest image:

    docker pull dhux/ghosthub:latest
  3. Create a docker-compose.yml with your media folders:

    version: '3'
    services:
      ghosthub:
        image: dhux/ghosthub:latest
        container_name: ghosthub
        ports:
          - "5000:5000"
        volumes:
          - ../instance:/app/instance
          - ../media:/media
          # Windows paths (Docker Desktop):
          - C:/Users/username/Pictures:/media/pictures
          - C:/Users/username/Videos:/media/videos
          # Linux/macOS paths:
          # - /home/user/Pictures:/media/pictures
          # - /home/user/Videos:/media/videos
        environment:
          - PORT=5000
          - FLASK_CONFIG=production
          - DOCKER_ENV=true
  4. Start it up:

    docker-compose up
  5. Visit: http://localhost:5000

🧠 Tunnel management is now fully in the web UI πŸ“‚ Categories auto-generate for anything under /media


πŸ› οΈ Build the Executable

Use bin/build_exe.bat

bin/build_exe.bat

Output is saved to /dist/GhostHub.exe


πŸ—‚ Media Categories

  • Click Add Category

  • Choose folder and name

  • Auto-saved to media_categories.json


πŸ“½ Supported Formats

Images: jpg, jpeg, png, gif, bmp, tiff, webp, heic, etc. Videos: mp4, webm, mov, mkv, avi, ts, flv, etc.


🎬 GhostStream Integration

GhostStream enables hardware-accelerated transcoding for videos that browsers can't play natively (MKV, HEVC, AVI, etc.).

Setup

  1. Run GhostStream on a PC with GPU (NVIDIA/AMD)
  2. In GhostHub Settings β†’ GhostStream:
    • Enable GhostStream
    • Enter server URL (e.g., 192.168.1.100:8765)
    • Click "Test Connection"

Features

  • Auto-connect - GhostHub connects to GhostStream automatically on startup
  • Live Transcoding - MKV/HEVC videos stream via HLS in real-time
  • Batch Transcode - Pre-transcode entire categories with "Transcode All" button
  • GPU Acceleration - NVENC, AMF, QSV support for fast transcoding

πŸ‘» Final Notes

GhostHub is a lightweight ephemeral media server built for speed, fun, and control.

Start it up. Share a link. Watch with friends. No cloud, no login, no trace.

Ghost on. πŸ‘»