UA dinamico by alfa

This commit is contained in:
marco
2020-12-16 23:00:36 +01:00
parent bb32d975eb
commit 9416857884
3 changed files with 25 additions and 2 deletions

View File

@@ -30,7 +30,7 @@ cookies_file = os.path.join(config.get_data_path(), "cookies.dat")
# Headers by default, if nothing is specified
default_headers = dict()
default_headers["User-Agent"] = "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"
default_headers["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Safari/537.36" % config.get_setting("chrome_ua_version")
default_headers["Accept"] = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"
default_headers["Accept-Language"] = "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3"
default_headers["Accept-Charset"] = "UTF-8"

View File

@@ -13,6 +13,7 @@
<setting id="checkdns" type="bool" default="true" visible="false"/>
<setting label="70788" type="lsep"/>
<setting id="debug" type="bool" label="30003" default="false"/>
<setting id="chrome_ua_version" type="text" default="87.0.4280.88" visible="False"/>
</category>
<!-- Playback -->

View File

@@ -22,7 +22,7 @@ except:
librerias = xbmc.translatePath(os.path.join(config.get_runtime_path(), 'lib'))
sys.path.insert(0, librerias)
from core import videolibrarytools, filetools, channeltools
from core import videolibrarytools, filetools, channeltools, httptools, scrapertools
from lib import schedule
from platformcode import logger, platformtools, updater
from specials import videolibrary
@@ -304,6 +304,23 @@ def updaterCheck():
exit(0)
def get_ua_list():
# https://github.com/alfa-addon/addon/blob/master/plugin.video.alfa/platformcode/updater.py#L273
logger.info()
url = "http://omahaproxy.appspot.com/all?csv=1"
current_ver = config.get_setting("chrome_ua_version", default="").split(".")
data = httptools.downloadpage(url, alfa_s=True).data
new_ua_ver = scrapertools.find_single_match(data, "win64,stable,([^,]+),")
if not current_ver:
config.set_setting("chrome_ua_version", new_ua_ver)
else:
for pos, val in enumerate(new_ua_ver.split('.')):
if int(val) > int(current_ver[pos]):
config.set_setting("chrome_ua_version", new_ua_ver)
break
def run_threaded(job_func, args):
job_thread = threading.Thread(target=job_func, args=args)
job_thread.start()
@@ -318,6 +335,7 @@ class AddonMonitor(xbmc.Monitor):
self.update_hour = None
self.scheduleScreenOnJobs()
self.scheduleUpdater()
self.scheduleUA()
# videolibrary wait
update_wait = [0, 10000, 20000, 30000, 60000]
@@ -390,6 +408,10 @@ class AddonMonitor(xbmc.Monitor):
schedule.every(self.updaterPeriod).hours.do(updaterCheck).tag('updater')
logger.debug('scheduled updater every ' + str(self.updaterPeriod) + ' hours')
def scheduleUA(self):
get_ua_list()
schedule.every(1).day.do(get_ua_list)
def scheduleVideolibrary(self):
self.update_setting = config.get_setting("update", "videolibrary")
# 2= daily 3=daily and when kodi starts