Installation
How to deploy the KissKH Video Player Node.js server on your hosting environment
Before You Begin
Make sure your server meets all requirements — specifically Node.js 18 or higher and outbound HTTPS access.
You should have the kisskh-video-player project folder downloaded from the member area.
Step 1: Upload the Files
Upload the entire kisskh-video-player folder to your server. The location depends on your setup:
- VPS — any directory, e.g.
/var/www/kisskh-player - cPanel — upload to your desired application directory (e.g.
~/kisskh-playeror a subdomain folder) - PaaS — connect the repository or push via their CLI
The folder structure you upload should look like this:
kisskh-video-player/
├── src/
│ ├── server.js ← application entry point
│ ├── kisskh.js ← KissKH API client
│ ├── subs.js ← subtitle decryptor
│ ├── admin.js ← admin panel
│ ├── cache.js ← in-memory + Redis cache
│ ├── kkey.js ← auth key helper
│ ├── vendor/ ← KissKH cipher scripts (do not modify)
│ └── views/ ← HTML templates
├── package.json
└── .env.example
Step 2: Install Dependencies
In the project root, run:
npm installThis installs express and crypto-js. No build step is needed.
Step 3: Create Your .env File
Copy .env.example to .env:
cp .env.example .envThen open .env in a text editor and configure it. See the Environment Variables page for a full explanation of every option.
At minimum, set ADMIN_PASSWORD to enable the admin panel:
PORT=3000
ADMIN_PASSWORD=your-secure-password
URL_SECRET=a-random-secret-stringStep 4: Start the Server
Production (Standard VPS)
node src/server.jsTo keep it running after you disconnect, use a process manager:
# PM2 (recommended)
npm install -g pm2
pm2 start src/server.js --name kisskh-player
pm2 save
pm2 startupDevelopment (with auto-restart)
npm run devThis uses nodemon to restart the server automatically when you edit files.
cPanel / Passenger
- In cPanel, go to Setup Node.js App
- Click Create Application
- Set Node.js version to 18 or higher
- Set Application root to the project folder (e.g.
kisskh-player) - Set Application startup file to
src/server.js - Add your environment variables in the Environment Variables section (same as
.env— do not upload a.envfile on Passenger setups, use the cPanel UI instead) - Click Create then Run NPM Install
- Click Restart
Do not set the PORT environment variable on Passenger-based hosting. Passenger injects the port automatically. Setting it manually can cause conflicts.
Step 5: Verify It's Running
Open your server's URL (or http://localhost:3000 for local setups) in a browser. You should see the KissKH Player welcome page.
To test a live episode, visit:
http://your-server.com/kisskh/136523
The /kisskh/{id} URL will show a blocked page when opened directly in a browser. This is intentional security behaviour — the player only works when loaded inside an <iframe> from an allowed origin. See the Embed Guide for how to embed it correctly.