{
  "created_at": "2026-07-05T03:06:52+00:00",
  "package_type": "One Click Hosted Update",
  "output_root": "C:\\Users\\DANNK\\Desktop\\SPAN QT CLEAN ENV\\saves\\outputs\\2026-07-05\\040549\\spandaman_current_hosted_update\\TMDB-To-VOD-Playlist-main",
  "public_base_url": "https://apps.spandaman.co.uk/spandaman/current",
  "xtream": {
    "dns": "https://apps.spandaman.co.uk/spandaman/current",
    "server": "https://apps.spandaman.co.uk/spandaman/current",
    "username": "anything",
    "password": "anything",
    "player_api": "https://apps.spandaman.co.uk/spandaman/current/player_api.php?username=anything&password=anything",
    "playlist": "https://apps.spandaman.co.uk/spandaman/current/get.php?username=anything&password=anything&type=m3u_plus&output=ts",
    "epg_xml": "https://apps.spandaman.co.uk/spandaman/current/spandaman_epg.xml",
    "epg_xmltv": "https://apps.spandaman.co.uk/spandaman/current/spandaman_epg.xmltv",
    "epg_gzip": "https://apps.spandaman.co.uk/spandaman/current/spandaman_epg.xml.gz",
    "epg_zip": "https://apps.spandaman.co.uk/spandaman/current/spandaman_epg.zip",
    "live_categories": "https://apps.spandaman.co.uk/spandaman/current/player_api.php?username=anything&password=anything&action=get_live_categories",
    "live_streams": "https://apps.spandaman.co.uk/spandaman/current/player_api.php?username=anything&password=anything&action=get_live_streams",
    "vod_categories": "https://apps.spandaman.co.uk/spandaman/current/player_api.php?username=anything&password=anything&action=get_vod_categories",
    "vod_streams": "https://apps.spandaman.co.uk/spandaman/current/player_api.php?username=anything&password=anything&action=get_vod_streams",
    "series_categories": "https://apps.spandaman.co.uk/spandaman/current/player_api.php?username=anything&password=anything&action=get_series_categories",
    "series": "https://apps.spandaman.co.uk/spandaman/current/player_api.php?username=anything&password=anything&action=get_series",
    "tmdb_update": "https://apps.spandaman.co.uk/spandaman/current/spandaman_tmdb_update.php"
  },
  "row_count": 15957,
  "playlist_files": [
    "spandaman_playlist.m3u",
    "spandaman_playlist.m3u8",
    "spandaman_playlist.txt",
    "spandaman_playlist.json",
    "spandaman_playlist",
    "spandaman_playlist_rows.json",
    "channels/spandaman_playlist.m3u",
    "channels/spandaman_playlist.m3u8",
    "channels/spandaman_playlist.txt",
    "channels/spandaman_playlist.json",
    "channels/spandaman_playlist",
    "channels/spandaman_playlist_rows.json",
    "channels/m3u_formatted.dat",
    "channels/spandaman_xtream_all.m3u8",
    "channels/spandaman_xtream_live_streams.json",
    "channels/spandaman_xtream_live_categories.json",
    "channels/spandaman_xtream_live.m3u8",
    "channels/spandaman_xtream_vod_streams.json",
    "channels/spandaman_xtream_vod_categories.json",
    "channels/spandaman_xtream_vod.m3u8",
    "channels/spandaman_xtream_series_streams.json",
    "channels/spandaman_xtream_series_categories.json",
    "channels/spandaman_xtream_series.m3u8",
    "channels/spandaman_xtream_series_info.tsv",
    "channels/spandaman_xtream_redirects.tsv",
    "spandaman_epg.xml",
    "spandaman_epg.xmltv",
    "spandaman_epg.xml.gz",
    "spandaman_epg.zip",
    "spandaman_epg_epg_report.json",
    "epg.xml.gz",
    "epg.xml",
    "epg.xmltv",
    "epg.zip",
    "xmltv.php"
  ],
  "epg_files": [
    "spandaman_epg.xml",
    "spandaman_epg.xmltv",
    "spandaman_epg.xml.gz",
    "spandaman_epg.zip",
    "spandaman_epg_epg_report.json",
    "epg.xml.gz",
    "epg.xml",
    "epg.xmltv",
    "epg.zip"
  ],
  "uploaded_files_count": 166,
  "features": {
    "adult_enabled": true,
    "tmdb_api_key_injected": true,
    "ffmpeg_hosted_output": false,
    "stable_path": "current",
    "ibo_xtream_compatible": true
  },
  "manifest": {
    "created_at": "2026-07-05T03:06:49+00:00",
    "template_zip": "C:\\Users\\DANNK\\Desktop\\SPAN QT CLEAN ENV\\templates\\TMDB-To-VOD-Playlist-main.zip",
    "row_count": 15957,
    "source_label": "One Click Hosted Update",
    "tmdb_api_key_injected": true,
    "config_patched": true,
    "php_files_patched": 7,
    "adult_enabled": true,
    "spandaman_xtream_api_patched": true,
    "tmdb_refresh_enabled": true,
    "public_base_url": "https://apps.spandaman.co.uk/spandaman/current",
    "playlist_files": [
      "spandaman_playlist.m3u",
      "spandaman_playlist.m3u8",
      "spandaman_playlist.txt",
      "spandaman_playlist.json",
      "spandaman_playlist",
      "spandaman_playlist_rows.json",
      "channels/spandaman_playlist.m3u",
      "channels/spandaman_playlist.m3u8",
      "channels/spandaman_playlist.txt",
      "channels/spandaman_playlist.json",
      "channels/spandaman_playlist",
      "channels/spandaman_playlist_rows.json",
      "channels/m3u_formatted.dat",
      "channels/spandaman_xtream_all.m3u8",
      "channels/spandaman_xtream_live_streams.json",
      "channels/spandaman_xtream_live_categories.json",
      "channels/spandaman_xtream_live.m3u8",
      "channels/spandaman_xtream_vod_streams.json",
      "channels/spandaman_xtream_vod_categories.json",
      "channels/spandaman_xtream_vod.m3u8",
      "channels/spandaman_xtream_series_streams.json",
      "channels/spandaman_xtream_series_categories.json",
      "channels/spandaman_xtream_series.m3u8",
      "channels/spandaman_xtream_series_info.tsv",
      "channels/spandaman_xtream_redirects.tsv",
      "spandaman_epg.xml",
      "spandaman_epg.xmltv",
      "spandaman_epg.xml.gz",
      "spandaman_epg.zip",
      "spandaman_epg_epg_report.json",
      "epg.xml.gz",
      "epg.xml",
      "epg.xmltv",
      "epg.zip",
      "xmltv.php"
    ],
    "epg_files": [
      "spandaman_epg.xml",
      "spandaman_epg.xmltv",
      "spandaman_epg.xml.gz",
      "spandaman_epg.zip",
      "spandaman_epg_epg_report.json",
      "epg.xml.gz",
      "epg.xml",
      "epg.xmltv",
      "epg.zip"
    ],
    "xtream_api_files": [
      "HeadlessVidX/index.js",
      "player_api.php",
      "spandaman_stream.php",
      "get.php",
      "xmltv.php",
      "spandaman_tmdb_finalize.php",
      "spandaman_tmdb_finalize_fast.php",
      "spandaman_tmdb_play.php",
      "spandaman_tmdb_update.php",
      "generate_live_playlist.php",
      "spandaman_headlessvidx_status.php",
      "SPANDAMAN_HEADLESSVIDX_SETUP.txt",
      "spandaman_tmdb_batch.php",
      ".htaccess",
      "vod/.htaccess"
    ],
    "notes": "Upload the contents of this ZIP to the host web root. SPANDAMAN files are written to root and channels/.",
    "hosted_info_files": [
      "SPANDAMAN_HOSTED_INFO.txt",
      "SPANDAMAN_HOSTED_INFO.json",
      "spandaman_hosted_info.txt",
      "spandaman_hosted_info.json"
    ],
    "current_rows": 0,
    "database_rows_seen": 17336,
    "database_extra_rows": 15957,
    "exported_rows": 15957,
    "skipped_invalid_rows": 0
  },
  "notes": "Use the Xtream DNS/server URL with the displayed username/password. The hosted endpoints also accept legacy credentials for compatibility. The player_api.php file serves database rows plus validated TMDB, Series, and Adult refreshes.",
  "uploaded_files_sample": [
    "/current/.gitattributes",
    "/current/.htaccess",
    "/current/channels/m3u_formatted.dat",
    "/current/channels/playlist.m3u",
    "/current/channels/playlist.m3u8",
    "/current/channels/spandaman_playlist",
    "/current/channels/spandaman_playlist.json",
    "/current/channels/spandaman_playlist.m3u",
    "/current/channels/spandaman_playlist.m3u8",
    "/current/channels/spandaman_playlist.txt",
    "/current/channels/spandaman_playlist_rows.json",
    "/current/channels/spandaman_xtream_all.m3u8",
    "/current/channels/spandaman_xtream_live.m3u8",
    "/current/channels/spandaman_xtream_live_categories.json",
    "/current/channels/spandaman_xtream_live_streams.json",
    "/current/channels/spandaman_xtream_redirects.tsv",
    "/current/channels/spandaman_xtream_series.m3u8",
    "/current/channels/spandaman_xtream_series_categories.json",
    "/current/channels/spandaman_xtream_series_info.tsv",
    "/current/channels/spandaman_xtream_series_streams.json",
    "/current/channels/spandaman_xtream_vod.m3u8",
    "/current/channels/spandaman_xtream_vod_categories.json",
    "/current/channels/spandaman_xtream_vod_streams.json",
    "/current/config.php",
    "/current/create_adult_playlist.php",
    "/current/create_playlist.php",
    "/current/create_tv_playlist.php",
    "/current/detailed_log.html",
    "/current/epg.xml",
    "/current/epg.xml.gz",
    "/current/epg.xmltv",
    "/current/epg.zip",
    "/current/generate_live_playlist.php",
    "/current/get.php",
    "/current/HeadlessVidX/blacklist/adblock-easylist.txt",
    "/current/HeadlessVidX/blacklist/block-all-request.txt",
    "/current/HeadlessVidX/blacklist/javascripts-contains.txt",
    "/current/HeadlessVidX/blacklist/javascripts-loading.txt",
    "/current/HeadlessVidX/default_server_details.txt",
    "/current/HeadlessVidX/dict/sites.json",
    "/current/HeadlessVidX/docker-compose.yml",
    "/current/HeadlessVidX/Dockerfile",
    "/current/HeadlessVidX/HeadlessVidX.exe",
    "/current/HeadlessVidX/index.js",
    "/current/HeadlessVidX/install_instructions/docker_users.txt",
    "/current/HeadlessVidX/install_instructions/node_users.txt",
    "/current/HeadlessVidX/install_instructions/windows_users.txt",
    "/current/HeadlessVidX/nssm/ChangeLog.txt",
    "/current/HeadlessVidX/nssm/README.txt",
    "/current/HeadlessVidX/nssm/src/.gitattributes"
  ],
  "public_validation": {
    "public_base_url": "https://apps.spandaman.co.uk/spandaman/current",
    "api_url": "https://apps.spandaman.co.uk/spandaman/current/player_api.php?username=anything&password=anything",
    "playlist_url": "https://apps.spandaman.co.uk/spandaman/current/get.php?username=anything&password=anything&type=m3u_plus&output=ts",
    "ok": true,
    "ok_count": 13,
    "check_count": 13,
    "failed": [],
    "checks": [
      {
        "name": "hosted_info_json",
        "url": "https://apps.spandaman.co.uk/spandaman/current/SPANDAMAN_HOSTED_INFO.json",
        "ok": true,
        "status": 200,
        "content_type": "application/json",
        "bytes": 7331
      },
      {
        "name": "host_manifest",
        "url": "https://apps.spandaman.co.uk/spandaman/current/SPANDAMAN_UPLOAD_MANIFEST.json",
        "ok": true,
        "status": 200,
        "content_type": "application/json",
        "bytes": 2967
      },
      {
        "name": "static_m3u_playlist",
        "url": "https://apps.spandaman.co.uk/spandaman/current/spandaman_playlist.m3u8",
        "ok": true,
        "status": 200,
        "content_type": "application/vnd.apple.mpegurl",
        "bytes": 267307
      },
      {
        "name": "epg_gzip",
        "url": "https://apps.spandaman.co.uk/spandaman/current/spandaman_epg.xml.gz",
        "ok": true,
        "status": 200,
        "content_type": "application/x-gzip",
        "bytes": 7530
      },
      {
        "name": "xtream_login",
        "url": "https://apps.spandaman.co.uk/spandaman/current/player_api.php?username=anything&password=anything",
        "ok": true,
        "status": 200,
        "content_type": "application/json; charset=utf-8",
        "bytes": 419
      },
      {
        "name": "m3u_playlist",
        "url": "https://apps.spandaman.co.uk/spandaman/current/get.php?username=anything&password=anything&type=m3u_plus&output=ts",
        "ok": true,
        "status": 200,
        "content_type": "audio/x-mpegurl; charset=utf-8",
        "bytes": 266489
      },
      {
        "name": "get_live_categories",
        "url": "https://apps.spandaman.co.uk/spandaman/current/player_api.php?username=anything&password=anything&action=get_live_categories",
        "ok": true,
        "status": 200,
        "content_type": "application/json; charset=utf-8",
        "bytes": 903
      },
      {
        "name": "get_live_streams",
        "url": "https://apps.spandaman.co.uk/spandaman/current/player_api.php?username=anything&password=anything&action=get_live_streams",
        "ok": true,
        "status": 200,
        "content_type": "application/json; charset=utf-8",
        "bytes": 360820
      },
      {
        "name": "get_vod_categories",
        "url": "https://apps.spandaman.co.uk/spandaman/current/player_api.php?username=anything&password=anything&action=get_vod_categories",
        "ok": true,
        "status": 200,
        "content_type": "application/json; charset=utf-8",
        "bytes": 1587
      },
      {
        "name": "get_vod_streams",
        "url": "https://apps.spandaman.co.uk/spandaman/current/player_api.php?username=anything&password=anything&action=get_vod_streams",
        "ok": true,
        "status": 200,
        "content_type": "application/json; charset=utf-8",
        "bytes": 1048576
      },
      {
        "name": "get_series_categories",
        "url": "https://apps.spandaman.co.uk/spandaman/current/player_api.php?username=anything&password=anything&action=get_series_categories",
        "ok": true,
        "status": 200,
        "content_type": "application/json; charset=utf-8",
        "bytes": 1259
      },
      {
        "name": "get_series",
        "url": "https://apps.spandaman.co.uk/spandaman/current/player_api.php?username=anything&password=anything&action=get_series",
        "ok": true,
        "status": 200,
        "content_type": "application/json; charset=utf-8",
        "bytes": 7564
      },
      {
        "name": "hosted_update_page",
        "url": "https://apps.spandaman.co.uk/spandaman/current/spandaman_tmdb_update.php",
        "ok": true,
        "status": 200,
        "content_type": "text/html; charset=UTF-8",
        "bytes": 4609
      }
    ]
  }
}