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
+1 -1
View File
@@ -30,7 +30,7 @@ cookies_file = os.path.join(config.get_data_path(), "cookies.dat")
# Headers by default, if nothing is specified # Headers by default, if nothing is specified
default_headers = dict() 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"] = "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-Language"] = "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3"
default_headers["Accept-Charset"] = "UTF-8" default_headers["Accept-Charset"] = "UTF-8"
+1
View File
@@ -13,6 +13,7 @@
<setting id="checkdns" type="bool" default="true" visible="false"/> <setting id="checkdns" type="bool" default="true" visible="false"/>
<setting label="70788" type="lsep"/> <setting label="70788" type="lsep"/>
<setting id="debug" type="bool" label="30003" default="false"/> <setting id="debug" type="bool" label="30003" default="false"/>
<setting id="chrome_ua_version" type="text" default="87.0.4280.88" visible="False"/>
</category> </category>
<!-- Playback --> <!-- Playback -->
+23 -1
View File
@@ -22,7 +22,7 @@ except:
librerias = xbmc.translatePath(os.path.join(config.get_runtime_path(), 'lib')) librerias = xbmc.translatePath(os.path.join(config.get_runtime_path(), 'lib'))
sys.path.insert(0, librerias) sys.path.insert(0, librerias)
from core import videolibrarytools, filetools, channeltools from core import videolibrarytools, filetools, channeltools, httptools, scrapertools
from lib import schedule from lib import schedule
from platformcode import logger, platformtools, updater from platformcode import logger, platformtools, updater
from specials import videolibrary from specials import videolibrary
@@ -304,6 +304,23 @@ def updaterCheck():
exit(0) 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): def run_threaded(job_func, args):
job_thread = threading.Thread(target=job_func, args=args) job_thread = threading.Thread(target=job_func, args=args)
job_thread.start() job_thread.start()
@@ -318,6 +335,7 @@ class AddonMonitor(xbmc.Monitor):
self.update_hour = None self.update_hour = None
self.scheduleScreenOnJobs() self.scheduleScreenOnJobs()
self.scheduleUpdater() self.scheduleUpdater()
self.scheduleUA()
# videolibrary wait # videolibrary wait
update_wait = [0, 10000, 20000, 30000, 60000] update_wait = [0, 10000, 20000, 30000, 60000]
@@ -390,6 +408,10 @@ class AddonMonitor(xbmc.Monitor):
schedule.every(self.updaterPeriod).hours.do(updaterCheck).tag('updater') schedule.every(self.updaterPeriod).hours.do(updaterCheck).tag('updater')
logger.debug('scheduled updater every ' + str(self.updaterPeriod) + ' hours') 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): def scheduleVideolibrary(self):
self.update_setting = config.get_setting("update", "videolibrary") self.update_setting = config.get_setting("update", "videolibrary")
# 2= daily 3=daily and when kodi starts # 2= daily 3=daily and when kodi starts