Requirements

Server and environment requirements for running KissKH Video Player

Updated May 5, 2026
OtakuThemes Team

Server Requirements

KissKH Video Player is a standard Node.js HTTP server built with Express. It runs on any Linux, Windows, or macOS server that meets the following requirements.

RequirementValue
Node.js18.0.0 or higher
npmIncluded with Node.js
RAM256 MB minimum (512 MB+ recommended for caching)
NetworkOutbound HTTPS access to kisskh.co and its CDN
Node.js 18+ Required

The server uses the native fetch API and AbortSignal.timeout() which require Node.js 18 or higher. Earlier versions will not work.

Hosting Compatibility

The server is compatible with:

  • VPS / Dedicated servers — Any provider (DigitalOcean, Linode, Vultr, Hetzner, etc.)
  • Shared cPanel hosting — Supported via Node.js Application in cPanel (Passenger / LiteSpeed)
  • PaaS platforms — Railway, Render, Fly.io, or any platform that runs Node.js apps
  • Self-hosted — Your own machine or home server
cPanel / Shared Hosting

If your host runs cPanel with Passenger, set the Application Root to the project folder and the Application Startup File to src/server.js. The PORT env var will be injected automatically by Passenger — do not hardcode it.

Network Requirements

The server makes outbound HTTPS requests to:

  • kisskh.co — KissKH API (episode data, subtitle list)
  • KissKH video CDN domains (e.g. hls03.videodelivery2.site, cdn.kisskh.co) — video segments and subtitle files

Your server must be able to reach these domains. If your host blocks outbound traffic by default, you will need to open outbound HTTPS (port 443).

CDN IP Blocking

Some KissKH CDN domains actively block requests from certain cloud provider IP ranges (e.g. major US datacenters). If video segments return 403 errors, try a different VPS provider or region. Residential and EU servers tend to work best.

Optional: Redis

By default the server caches episode and subtitle data in memory. For high-traffic deployments or multi-instance setups, you can point it at a Redis instance via the REDIS_URL environment variable. Redis is entirely optional — the server works fine without it.

RedisVersion
Redis / Valkey6.0 or higher
Protocolredis:// or rediss:// (TLS)

Dependencies

All npm dependencies are listed in package.json. The only runtime dependencies are:

PackagePurpose
expressHTTP server framework
crypto-jsSubtitle decryption (CryptoJS — matches KissKH's client-side cipher)

Install them with:

npm install

No other system packages or build steps are required.