diff --git a/core/httptools.py b/core/httptools.py
index 76b04f9d..6f814769 100755
--- a/core/httptools.py
+++ b/core/httptools.py
@@ -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"
diff --git a/resources/settings.xml b/resources/settings.xml
index 49a1f180..d97a9c3d 100644
--- a/resources/settings.xml
+++ b/resources/settings.xml
@@ -13,6 +13,7 @@
+
diff --git a/service.py b/service.py
index 586cf1b8..1a69cbbc 100644
--- a/service.py
+++ b/service.py
@@ -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