Admin Panel
Managing embed permissions, ad code, and player defaults from the KissKH Video Player admin panel
Overview
The admin panel lives at /admin on your server. It lets you manage which websites can embed your player, inject ad and analytics code, and configure default player settings — all without touching the server code.
The admin panel is completely disabled until you set the ADMIN_PASSWORD environment variable. Without it, the /admin route will redirect to the login page but login will always fail. Set ADMIN_PASSWORD in your .env to enable it.
Logging In
Navigate to /admin (or /admin/login) on your server. Enter the credentials you set in .env:
- Username —
ADMIN_USERNAME(default:admin) - Password —
ADMIN_PASSWORD
Sessions last 12 hours and are signed with URL_SECRET (or ADMIN_SECRET if set separately).
Overview Tab
The Overview tab shows a summary of your current configuration:
| Stat | Description |
|---|---|
| Total Sites | Number of domains in your site list |
| Allowed (No Ads) | Domains allowed to embed with no ad injection |
| Allowed With Ads | Domains allowed to embed with your ad code shown |
| Blocked | Domains blocked from embedding the player |
| Unlisted Sites | Current policy for domains not in the list |
| Ad Content | Whether ad code is currently configured |
Sites Tab
The Sites tab controls which domains can embed your player.
Unlisted Sites Policy
This setting controls what happens when a domain not in your list tries to embed the player:
- Disabled (default) — All unlisted domains can embed the player, and your ad code is shown to them
- Enabled (Block all unlisted) — Only domains explicitly in your list can embed; all others get a 403 error
Toggle Block all unlisted sites and click Save to change this.
Adding a Domain
Enter a domain (e.g. yoursite.com) and select a policy:
| Policy | What it means |
|---|---|
| Allowed (No Ads) | Domain can embed the player; ad code is NOT injected |
| Allowed + Ads | Domain can embed the player; your ad code IS injected |
| Blocked | Domain receives a 403 error page — the player will not load |
Click Add. The domain is saved immediately.
Removing a Domain
Click Remove next to any domain to delete it from the list. Unlisted domains then fall back to the Unlisted Sites Policy.
Code Tab
The Code tab lets you inject HTML/JavaScript into the player page. This is primarily for ad networks and analytics.
Ad Code — Interstitial
Paste your ad network's <script> tag or banner HTML here. This code is injected into the player page for domains with the Allowed + Ads policy (and all unlisted domains when the unlisted policy is Allow + Ads).
Leave blank to show no ads.
Google Analytics / Insights Code
Paste your Google Analytics <script> tag (or any other analytics or custom head code) here. This code is injected into the <head> of every player page, regardless of site policy.
Click Save to apply changes.
Settings Tab
The Settings tab controls the default player appearance and behaviour.
Accent Color
The hex color used for the player's progress bar, buttons, and UI accents. Default: #2ad4b8.
This is the global default — individual embeds can override it with the ?color= query parameter.
Autoplay by Default
When enabled, every player embed will attempt to auto-start playback without the viewer clicking play first (subject to browser autoplay policies — a prior user gesture on the parent page is usually required).
Default: off.
Playback Rates
A comma-separated list of available playback speed options in the player menu. Default: 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2.
Click Save to apply.