domini CF basati sui canali

This commit is contained in:
marco
2020-02-28 18:46:15 +01:00
parent 74ad4469eb
commit 2625cd446b
2 changed files with 20 additions and 10 deletions
+10 -5
View File
@@ -12,11 +12,10 @@ except ImportError:
import urllib, urlparse, cookielib import urllib, urlparse, cookielib
import inspect, os, time, json import os, time, json
from threading import Lock from threading import Lock
from core.jsontools import to_utf8 from core.jsontools import to_utf8
from platformcode import config, logger from platformcode import config, logger
from platformcode.logger import WebErrorException
from core import scrapertools from core import scrapertools
# Get the addon version # Get the addon version
@@ -42,6 +41,13 @@ if HTTPTOOLS_DEFAULT_DOWNLOAD_TIMEOUT == 0: HTTPTOOLS_DEFAULT_DOWNLOAD_TIMEOUT =
# Random use of User-Agents, if nad is not specified # Random use of User-Agents, if nad is not specified
HTTPTOOLS_DEFAULT_RANDOM_HEADERS = False HTTPTOOLS_DEFAULT_RANDOM_HEADERS = False
domainCF = list()
channelsCF = ['guardaserieclick', 'casacinema', 'dreamsub', 'ilgeniodellostreaming', 'piratestreaming', 'altadefinizioneclick']
otherCF = ['altadefinizione-nuovo.link', 'wstream.video', 'akvideo.stream', 'backin.net']
for ch in channelsCF:
domainCF.append(urlparse.urlparse(config.get_channel_url(name=ch)).hostname)
domainCF.extend(otherCF)
def get_user_agent(): def get_user_agent():
# Returns the global user agent to be used when necessary for the url. # Returns the global user agent to be used when necessary for the url.
return default_headers["User-Agent"] return default_headers["User-Agent"]
@@ -253,10 +259,9 @@ def downloadpage(url, **opt):
url = scrapertools.unescape(url) url = scrapertools.unescape(url)
load_cookies() load_cookies()
domain = urlparse.urlparse(url).netloc domain = urlparse.urlparse(url).netloc
global domainCF
CF = False CF = False
if domain in ['www.guardaserie.media', 'casacinema.space', 'wstream.video', 'akvideo.stream', 'backin.net', if domain in domainCF:
'dreamsub.stream', 'altadefinizione-nuovo.link', 'ilgeniodellostreaming.si', 'www.piratestreaming.gratis',
'altadefinizione.style']:
from lib import cloudscraper from lib import cloudscraper
session = cloudscraper.create_scraper() session = cloudscraper.create_scraper()
CF = True CF = True
+10 -5
View File
@@ -19,6 +19,8 @@ PLUGIN_NAME = "kod"
__settings__ = xbmcaddon.Addon(id="plugin.video." + PLUGIN_NAME) __settings__ = xbmcaddon.Addon(id="plugin.video." + PLUGIN_NAME)
__language__ = __settings__.getLocalizedString __language__ = __settings__.getLocalizedString
channels_data = list()
def get_addon_core(): def get_addon_core():
return __settings__ return __settings__
@@ -97,12 +99,13 @@ def is_xbmc():
def get_videolibrary_support(): def get_videolibrary_support():
return True return True
def get_channel_url(findhostMethod=None): def get_channel_url(findhostMethod=None, name=None):
from core import jsontools from core import jsontools
import inspect import inspect
frame = inspect.stack()[1] frame = inspect.stack()[1]
name = os.path.basename(frame[0].f_code.co_filename).replace('.py', '') if not name:
name = os.path.basename(frame[0].f_code.co_filename).replace('.py', '')
if findhostMethod: if findhostMethod:
url = jsontools.get_node_from_file(name, 'url') url = jsontools.get_node_from_file(name, 'url')
if not url: if not url:
@@ -112,9 +115,11 @@ def get_channel_url(findhostMethod=None):
else: else:
ROOT_DIR = xbmc.translatePath(__settings__.getAddonInfo('Path')) ROOT_DIR = xbmc.translatePath(__settings__.getAddonInfo('Path'))
LOCAL_FILE = os.path.join(ROOT_DIR, "channels.json") LOCAL_FILE = os.path.join(ROOT_DIR, "channels.json")
with open(LOCAL_FILE) as f: global channels_data
data = jsontools.load(f.read()) if not channels_data:
return data[name] with open(LOCAL_FILE) as f:
channels_data = jsontools.load(f.read())
return channels_data[name]
def get_system_platform(): def get_system_platform():
""" fonction: pour recuperer la platform que xbmc tourne """ """ fonction: pour recuperer la platform que xbmc tourne """