-- видеоскрипт для сайта https://kinokong.org (8/11/20) -- fix west_side 03/07/2022 -- Copyright © 2017-2020 Nexterr | https://github.com/Nexterr/simpleTV -- ## необходим ## -- видеоскрипты: hdvb.lua, collaps.lua, videocdn.lua, YT.lua -- ## открывает подобные ссылки ## -- https://kinokong.org/42330-films-russkiy-reyd-2020.html -- https://kinokong.org/45234-serial-ptica-dobrogo-gospoda-1-sezon.html if m_simpleTV.Control.ChangeAddress ~= 'No' then return end if not m_simpleTV.Control.CurrentAddress:match('^https?://kinokong%.') then return end m_simpleTV.OSD.ShowMessageT({text = '', showTime = 1000, id = 'channelName'}) local inAdr = m_simpleTV.Control.CurrentAddress local host = inAdr:match('https?://[^/]+') local logo = host .. '/templates/smartphone/img/logo.svg' if m_simpleTV.Control.MainMode == 0 then m_simpleTV.Interface.SetBackground({BackColor = 0, TypeBackColor = 0, PictFileName = logo, UseLogo = 1, Once = 1}) end local function showError(str) m_simpleTV.OSD.ShowMessageT({text = 'kinokong ошибка: ' .. str, showTime = 5000, color = 0xffff1000, id = 'channelName'}) end m_simpleTV.Control.ChangeAddress = 'Yes' m_simpleTV.Control.CurrentAddress = '' local session = m_simpleTV.Http.New('Mozilla/5.0 (Windows NT 10.0; rv:81.0) Gecko/20100101 Firefox/81.0') if not session then return end m_simpleTV.Http.SetTimeout(session, 8000) local rc, answer = m_simpleTV.Http.Request(session, {url = inAdr}) if rc ~= 200 then showError('1') m_simpleTV.Http.Close(session) return end answer = m_simpleTV.Common.multiByteToUTF8(answer) answer = answer:gsub('', '') local title = answer:match('property="og:title" content="([^"]+)') or 'kinokong' local poster = answer:match('
.-src="(.-)"') or logo local desc = answer:match('"description" content="([^"]+)') or '' local retAdr, name local i, t = 1, {} for adr in answer:gmatch('
2 then m_simpleTV.Control.SetTitle(title) local _, id = m_simpleTV.OSD.ShowSelect_UTF8(title, 0, t, 8000, 1) id = id or 1 retAdr = t[id].Address m_simpleTV.Control.ExecuteAction(37) else retAdr = t[1].Address end if retAdr:match('trailer%-cdn') then rc, answer = m_simpleTV.Http.Request(session, {url = host .. retAdr, headers = 'Referer: ' .. inAdr}) m_simpleTV.Http.Close(session) if rc ~= 200 then showError('3') return end retAdr = answer:match('file:"([^"]+)') if not retAdr then showError('4') return end retAdr = retAdr:gsub('^/', host .. '/') title = title .. ' - ' .. (answer:match('title:"([^"]+)') or 'Трейлер') m_simpleTV.Control.CurrentAddress = retAdr m_simpleTV.Control.CurrentTitle_UTF8 = title if retAdr:match('https?://[%a%.]*youtu[%.combe]') then m_simpleTV.Control.ChangeAddress = 'No' m_simpleTV.Control.CurrentAddress = retAdr .. '&isLogo=false' dofile(m_simpleTV.MainScriptDir .. 'user\\video\\video.lua') return end m_simpleTV.Control.CurrentAddress = retAdr return end m_simpleTV.Http.Close(session) if m_simpleTV.Control.MainMode == 0 then m_simpleTV.Control.ChangeChannelLogo('https://kinokong.pro' .. poster, m_simpleTV.Control.ChannelID, 'CHANGE_IF_NOT_EQUAL') m_simpleTV.Control.ChangeChannelName(title, m_simpleTV.Control.ChannelID, false) end m_simpleTV.Control.CurrentTitle_UTF8 = title retAdr = retAdr:gsub('^//', 'http://'):gsub('amp;', '') m_simpleTV.Control.ChangeAddress = 'No' m_simpleTV.Control.CurrentAddress = retAdr .. '&kinopoisk' dofile(m_simpleTV.MainScriptDir .. 'user\\video\\video.lua') -- debug_in_file(retAdr .. '\n')