2024-03-31, update for cityline
							parent
							
								
									1293b2d47a
								
							
						
					
					
						commit
						ff5b9bfcb8
					
				|  | @ -44,7 +44,7 @@ except Exception as exc: | ||||||
|     print(exc) |     print(exc) | ||||||
|     pass |     pass | ||||||
| 
 | 
 | ||||||
| CONST_APP_VERSION = "MaxBot (2024.03.30)" | CONST_APP_VERSION = "MaxBot (2024.03.31)" | ||||||
| 
 | 
 | ||||||
| CONST_MAXBOT_ANSWER_ONLINE_FILE = "MAXBOT_ONLINE_ANSWER.txt" | CONST_MAXBOT_ANSWER_ONLINE_FILE = "MAXBOT_ONLINE_ANSWER.txt" | ||||||
| CONST_MAXBOT_CONFIG_FILE = "settings.json" | CONST_MAXBOT_CONFIG_FILE = "settings.json" | ||||||
|  | @ -54,38 +54,39 @@ CONST_MAXBOT_LAST_URL_FILE = "MAXBOT_LAST_URL.txt" | ||||||
| CONST_MAXBOT_QUESTION_FILE = "MAXBOT_QUESTION.txt" | CONST_MAXBOT_QUESTION_FILE = "MAXBOT_QUESTION.txt" | ||||||
| CONST_MAXBLOCK_EXTENSION_NAME = "Maxblockplus_1.0.0" | CONST_MAXBLOCK_EXTENSION_NAME = "Maxblockplus_1.0.0" | ||||||
| CONST_MAXBLOCK_EXTENSION_FILTER =[ | CONST_MAXBLOCK_EXTENSION_FILTER =[ | ||||||
| "*google-analytics.com/*", | "*.doubleclick.net/*", | ||||||
| "*googletagmanager.com/*", | "*.googlesyndication.com/*", | ||||||
| "*googletagservices.com/*", | "*.ssp.hinet.net/*", | ||||||
| "*lndata.com/*", |  | ||||||
| "*a.amnet.tw/*", | "*a.amnet.tw/*", | ||||||
| "*adx.c.appier.net/*", | "*adx.c.appier.net/*", | ||||||
|  | "*cdn.cookielaw.org/*", | ||||||
|  | "*cdnjs.cloudflare.com/ajax/libs/clipboard.js/*", | ||||||
| "*clarity.ms/*", | "*clarity.ms/*", | ||||||
| "*cloudfront.com/*", | "*cloudfront.com/*", | ||||||
| "*cms.analytics.yahoo.com/*", | "*cms.analytics.yahoo.com/*", | ||||||
| "*doubleclick.net/*", |  | ||||||
| "*e2elog.fetnet.net/*", | "*e2elog.fetnet.net/*", | ||||||
| "*fundingchoicesmessages.google.com/*", | "*fundingchoicesmessages.google.com/*", | ||||||
| "*ghtinc.com/*", | "*ghtinc.com/*", | ||||||
|  | "*google-analytics.com/*", | ||||||
|  | "*googletagmanager.com/*", | ||||||
|  | "*googletagservices.com/*", | ||||||
|  | "*img.uniicreative.com/*", | ||||||
|  | "*lndata.com/*", | ||||||
| "*match.adsrvr.org/*", | "*match.adsrvr.org/*", | ||||||
| "*onead.onevision.com.tw/*", | "*onead.onevision.com.tw/*", | ||||||
|  | "*play.google.com/log?*", | ||||||
| "*popin.cc/*", | "*popin.cc/*", | ||||||
| "*rollbar.com/*", | "*rollbar.com/*", | ||||||
| "*sb.scorecardresearch.com/*", | "*sb.scorecardresearch.com/*", | ||||||
| "*tagtoo.co/*", | "*tagtoo.co/*", | ||||||
| "*.ssp.hinet.net/*", |  | ||||||
| "*ticketmaster.sg/js/adblock*", | "*ticketmaster.sg/js/adblock*", | ||||||
| "*.googlesyndication.com/*", |  | ||||||
| "*treasuredata.com/*", |  | ||||||
| "*play.google.com/log?*", |  | ||||||
| "*www.youtube.com/youtubei/v1/player/heartbeat*", |  | ||||||
| "*tixcraft.com/js/analytics.js*", |  | ||||||
| "*ticketmaster.sg/js/adblock.js*", | "*ticketmaster.sg/js/adblock.js*", | ||||||
| "*img.uniicreative.com/*", | "*tixcraft.com/js/analytics.js*", | ||||||
| "*cdn.cookielaw.org/*", |  | ||||||
| "*tixcraft.com/js/custom.js*", |  | ||||||
| "*tixcraft.com/js/common.js*", | "*tixcraft.com/js/common.js*", | ||||||
| "*cdnjs.cloudflare.com/ajax/libs/clipboard.js/*"] | "*tixcraft.com/js/custom.js*", | ||||||
|  | "*treasuredata.com/*", | ||||||
|  | "*www.youtube.com/youtubei/v1/player/heartbeat*", | ||||||
|  | ] | ||||||
| 
 | 
 | ||||||
| CONST_CHROME_VERSION_NOT_MATCH_EN="Please download the WebDriver version to match your browser version." | CONST_CHROME_VERSION_NOT_MATCH_EN="Please download the WebDriver version to match your browser version." | ||||||
| CONST_CHROME_VERSION_NOT_MATCH_TW="請下載與您瀏覽器相同版本的WebDriver版本,或更新您的瀏覽器版本。" | CONST_CHROME_VERSION_NOT_MATCH_TW="請下載與您瀏覽器相同版本的WebDriver版本,或更新您的瀏覽器版本。" | ||||||
|  |  | ||||||
|  | @ -24,7 +24,7 @@ import webbrowser | ||||||
| 
 | 
 | ||||||
| import util | import util | ||||||
| 
 | 
 | ||||||
| CONST_APP_VERSION = "MaxBot (2024.03.30)" | CONST_APP_VERSION = "MaxBot (2024.03.31)" | ||||||
| 
 | 
 | ||||||
| CONST_MAXBOT_LAUNCHER_FILE = "config_launcher.json" | CONST_MAXBOT_LAUNCHER_FILE = "config_launcher.json" | ||||||
| CONST_MAXBOT_CONFIG_FILE = "settings.json" | CONST_MAXBOT_CONFIG_FILE = "settings.json" | ||||||
|  |  | ||||||
|  | @ -29,7 +29,7 @@ from datetime import datetime | ||||||
| 
 | 
 | ||||||
| import util | import util | ||||||
| 
 | 
 | ||||||
| CONST_APP_VERSION = "MaxBot (2024.03.30)" | CONST_APP_VERSION = "MaxBot (2024.03.31)" | ||||||
| 
 | 
 | ||||||
| CONST_MAXBOT_CONFIG_FILE = "settings.json" | CONST_MAXBOT_CONFIG_FILE = "settings.json" | ||||||
| CONST_MAXBOT_KKTIX_CONFIG_FILE = "kktix.json" | CONST_MAXBOT_KKTIX_CONFIG_FILE = "kktix.json" | ||||||
|  |  | ||||||
|  | @ -32,7 +32,7 @@ except Exception as exc: | ||||||
|     print(exc) |     print(exc) | ||||||
|     pass |     pass | ||||||
| 
 | 
 | ||||||
| CONST_APP_VERSION = "MaxBot (2024.03.30)" | CONST_APP_VERSION = "MaxBot (2024.03.31)" | ||||||
| 
 | 
 | ||||||
| CONST_MAXBOT_ANSWER_ONLINE_FILE = "MAXBOT_ONLINE_ANSWER.txt" | CONST_MAXBOT_ANSWER_ONLINE_FILE = "MAXBOT_ONLINE_ANSWER.txt" | ||||||
| CONST_MAXBOT_CONFIG_FILE = "settings.json" | CONST_MAXBOT_CONFIG_FILE = "settings.json" | ||||||
|  | @ -42,38 +42,39 @@ CONST_MAXBOT_LAST_URL_FILE = "MAXBOT_LAST_URL.txt" | ||||||
| CONST_MAXBOT_QUESTION_FILE = "MAXBOT_QUESTION.txt" | CONST_MAXBOT_QUESTION_FILE = "MAXBOT_QUESTION.txt" | ||||||
| CONST_MAXBLOCK_EXTENSION_NAME = "Maxblockplus_1.0.0" | CONST_MAXBLOCK_EXTENSION_NAME = "Maxblockplus_1.0.0" | ||||||
| CONST_MAXBLOCK_EXTENSION_FILTER =[ | CONST_MAXBLOCK_EXTENSION_FILTER =[ | ||||||
| "*google-analytics.com/*", | "*.doubleclick.net/*", | ||||||
| "*googletagmanager.com/*", | "*.googlesyndication.com/*", | ||||||
| "*googletagservices.com/*", | "*.ssp.hinet.net/*", | ||||||
| "*lndata.com/*", |  | ||||||
| "*a.amnet.tw/*", | "*a.amnet.tw/*", | ||||||
| "*adx.c.appier.net/*", | "*adx.c.appier.net/*", | ||||||
|  | "*cdn.cookielaw.org/*", | ||||||
|  | "*cdnjs.cloudflare.com/ajax/libs/clipboard.js/*", | ||||||
| "*clarity.ms/*", | "*clarity.ms/*", | ||||||
| "*cloudfront.com/*", | "*cloudfront.com/*", | ||||||
| "*cms.analytics.yahoo.com/*", | "*cms.analytics.yahoo.com/*", | ||||||
| "*doubleclick.net/*", |  | ||||||
| "*e2elog.fetnet.net/*", | "*e2elog.fetnet.net/*", | ||||||
| "*fundingchoicesmessages.google.com/*", | "*fundingchoicesmessages.google.com/*", | ||||||
| "*ghtinc.com/*", | "*ghtinc.com/*", | ||||||
|  | "*google-analytics.com/*", | ||||||
|  | "*googletagmanager.com/*", | ||||||
|  | "*googletagservices.com/*", | ||||||
|  | "*img.uniicreative.com/*", | ||||||
|  | "*lndata.com/*", | ||||||
| "*match.adsrvr.org/*", | "*match.adsrvr.org/*", | ||||||
| "*onead.onevision.com.tw/*", | "*onead.onevision.com.tw/*", | ||||||
|  | "*play.google.com/log?*", | ||||||
| "*popin.cc/*", | "*popin.cc/*", | ||||||
| "*rollbar.com/*", | "*rollbar.com/*", | ||||||
| "*sb.scorecardresearch.com/*", | "*sb.scorecardresearch.com/*", | ||||||
| "*tagtoo.co/*", | "*tagtoo.co/*", | ||||||
| "*.ssp.hinet.net/*", |  | ||||||
| "*ticketmaster.sg/js/adblock*", | "*ticketmaster.sg/js/adblock*", | ||||||
| "*.googlesyndication.com/*", |  | ||||||
| "*treasuredata.com/*", |  | ||||||
| "*play.google.com/log?*", |  | ||||||
| "*www.youtube.com/youtubei/v1/player/heartbeat*", |  | ||||||
| "*tixcraft.com/js/analytics.js*", |  | ||||||
| "*ticketmaster.sg/js/adblock.js*", | "*ticketmaster.sg/js/adblock.js*", | ||||||
| "*img.uniicreative.com/*", | "*tixcraft.com/js/analytics.js*", | ||||||
| "*cdn.cookielaw.org/*", |  | ||||||
| "*tixcraft.com/js/custom.js*", |  | ||||||
| "*tixcraft.com/js/common.js*", | "*tixcraft.com/js/common.js*", | ||||||
| "*cdnjs.cloudflare.com/ajax/libs/clipboard.js/*"] | "*tixcraft.com/js/custom.js*", | ||||||
|  | "*treasuredata.com/*", | ||||||
|  | "*www.youtube.com/youtubei/v1/player/heartbeat*", | ||||||
|  | ] | ||||||
| 
 | 
 | ||||||
| CONST_CITYLINE_SIGN_IN_URL = "https://www.cityline.com/Login.html?targetUrl=https%3A%2F%2Fwww.cityline.com%2FEvents.html" | CONST_CITYLINE_SIGN_IN_URL = "https://www.cityline.com/Login.html?targetUrl=https%3A%2F%2Fwww.cityline.com%2FEvents.html" | ||||||
| CONST_FAMI_SIGN_IN_URL = "https://www.famiticket.com.tw/Home/User/SignIn" | CONST_FAMI_SIGN_IN_URL = "https://www.famiticket.com.tw/Home/User/SignIn" | ||||||
|  | @ -1729,16 +1730,14 @@ def get_nodriver_browser_args(): | ||||||
|     ] |     ] | ||||||
|     return browser_args |     return browser_args | ||||||
| 
 | 
 | ||||||
| def get_maxbot_plus_extension_path(): | def get_maxbot_extension_path(extension_folder): | ||||||
|     extension_path = "webdriver/Maxbotplus_1.0.0/" |  | ||||||
|     if platform.system() == 'Windows': |  | ||||||
|         extension_path = extension_path.replace("/","\\") |  | ||||||
| 
 |  | ||||||
|     app_root = util.get_app_root() |     app_root = util.get_app_root() | ||||||
|  |     extension_path = "webdriver" | ||||||
|  |     extension_path = os.path.join(extension_path, extension_folder) | ||||||
|     config_filepath = os.path.join(app_root, extension_path) |     config_filepath = os.path.join(app_root, extension_path) | ||||||
|     #print("config_filepath:", config_filepath) |     #print("config_filepath:", config_filepath) | ||||||
| 
 | 
 | ||||||
|     # check extesion mainfest |     # double check extesion mainfest | ||||||
|     path = pathlib.Path(config_filepath) |     path = pathlib.Path(config_filepath) | ||||||
|     if path.exists(): |     if path.exists(): | ||||||
|         if path.is_dir(): |         if path.is_dir(): | ||||||
|  | @ -1746,27 +1745,6 @@ def get_maxbot_plus_extension_path(): | ||||||
|             for item in path.rglob("manifest.*"): |             for item in path.rglob("manifest.*"): | ||||||
|                 path = item.parent |                 path = item.parent | ||||||
|             #print("final path:", path) |             #print("final path:", path) | ||||||
| 
 |  | ||||||
|     return config_filepath |  | ||||||
| 
 |  | ||||||
| def get_maxbot_block_extension_path(): |  | ||||||
|     extension_path = "webdriver/Maxblockplus_1.0.0/" |  | ||||||
|     if platform.system() == 'Windows': |  | ||||||
|         extension_path = extension_path.replace("/","\\") |  | ||||||
| 
 |  | ||||||
|     app_root = util.get_app_root() |  | ||||||
|     config_filepath = os.path.join(app_root, extension_path) |  | ||||||
|     #print("config_filepath:", config_filepath) |  | ||||||
| 
 |  | ||||||
|     # check extesion mainfest |  | ||||||
|     path = pathlib.Path(config_filepath) |  | ||||||
|     if path.exists(): |  | ||||||
|         if path.is_dir(): |  | ||||||
|             #print("found extension dir") |  | ||||||
|             for item in path.rglob("manifest.*"): |  | ||||||
|                 path = item.parent |  | ||||||
|             #print("final path:", path) |  | ||||||
| 
 |  | ||||||
|     return config_filepath |     return config_filepath | ||||||
| 
 | 
 | ||||||
| def get_extension_config(config_dict): | def get_extension_config(config_dict): | ||||||
|  | @ -1777,8 +1755,14 @@ def get_extension_config(config_dict): | ||||||
|         browser_args.append('--proxy-server=%s' % config_dict["advanced"]["proxy_server_port"]) |         browser_args.append('--proxy-server=%s' % config_dict["advanced"]["proxy_server_port"]) | ||||||
|     conf = Config(browser_args=browser_args, lang=default_lang, no_sandbox=no_sandbox, headless=config_dict["advanced"]["headless"]) |     conf = Config(browser_args=browser_args, lang=default_lang, no_sandbox=no_sandbox, headless=config_dict["advanced"]["headless"]) | ||||||
|     if config_dict["advanced"]["chrome_extension"]: |     if config_dict["advanced"]["chrome_extension"]: | ||||||
|         conf.add_extension(get_maxbot_plus_extension_path()) |         ext = get_maxbot_extension_path(CONST_MAXBOT_EXTENSION_NAME) | ||||||
|         conf.add_extension(get_maxbot_block_extension_path()) |         if len(ext) > 0: | ||||||
|  |             conf.add_extension(ext) | ||||||
|  |             util.dump_settings_to_maxbot_plus_extension(ext, config_dict, CONST_MAXBOT_CONFIG_FILE) | ||||||
|  |         ext = get_maxbot_extension_path(CONST_MAXBLOCK_EXTENSION_NAME) | ||||||
|  |         if len(ext) > 0: | ||||||
|  |             conf.add_extension(ext) | ||||||
|  |             util.dump_settings_to_maxblock_plus_extension(ext, config_dict, CONST_MAXBOT_CONFIG_FILE, CONST_MAXBLOCK_EXTENSION_FILTER) | ||||||
|     return conf |     return conf | ||||||
| 
 | 
 | ||||||
| async def nodrver_block_urls(tab, config_dict): | async def nodrver_block_urls(tab, config_dict): | ||||||
|  | @ -1903,8 +1887,8 @@ def nodriver_overwrite_prefs(conf): | ||||||
|     prefs_dict["net"]["network_prediction_options"]=3 |     prefs_dict["net"]["network_prediction_options"]=3 | ||||||
|     prefs_dict["privacy_guide"]={} |     prefs_dict["privacy_guide"]={} | ||||||
|     prefs_dict["privacy_guide"]["viewed"]=True |     prefs_dict["privacy_guide"]["viewed"]=True | ||||||
|     prefs_dict["privacy_sandbox"]={} |     #prefs_dict["privacy_sandbox"]={} | ||||||
|     prefs_dict["privacy_sandbox"]["first_party_sets_enabled"]=False |     #prefs_dict["privacy_sandbox"]["first_party_sets_enabled"]=False | ||||||
|     prefs_dict["profile"]={} |     prefs_dict["profile"]={} | ||||||
|     prefs_dict["profile"]["cookie_controls_mode"]=1 |     prefs_dict["profile"]["cookie_controls_mode"]=1 | ||||||
|     prefs_dict["profile"]["default_content_setting_values"]={} |     prefs_dict["profile"]["default_content_setting_values"]={} | ||||||
|  |  | ||||||
							
								
								
									
										18
									
								
								settings.py
								
								
								
								
							
							
						
						
									
										18
									
								
								settings.py
								
								
								
								
							|  | @ -41,7 +41,7 @@ try: | ||||||
| except Exception as exc: | except Exception as exc: | ||||||
|     pass |     pass | ||||||
| 
 | 
 | ||||||
| CONST_APP_VERSION = "MaxBot (2024.03.30)" | CONST_APP_VERSION = "MaxBot (2024.03.31)" | ||||||
| 
 | 
 | ||||||
| CONST_MAXBOT_ANSWER_ONLINE_FILE = "MAXBOT_ONLINE_ANSWER.txt" | CONST_MAXBOT_ANSWER_ONLINE_FILE = "MAXBOT_ONLINE_ANSWER.txt" | ||||||
| CONST_MAXBOT_CONFIG_FILE = "settings.json" | CONST_MAXBOT_CONFIG_FILE = "settings.json" | ||||||
|  | @ -1130,8 +1130,11 @@ def launch_maxbot(): | ||||||
|         launch_counter += 1 |         launch_counter += 1 | ||||||
|     else: |     else: | ||||||
|         launch_counter = 0 |         launch_counter = 0 | ||||||
|  |      | ||||||
|  |     webdriver_type = "" | ||||||
|     global combo_webdriver_type |     global combo_webdriver_type | ||||||
|     webdriver_type = combo_webdriver_type.get().strip() |     if 'combo_webdriver_type' in globals(): | ||||||
|  |         webdriver_type = combo_webdriver_type.get().strip() | ||||||
| 
 | 
 | ||||||
|     script_name = "chrome_tixcraft" |     script_name = "chrome_tixcraft" | ||||||
|     if webdriver_type == CONST_WEBDRIVER_TYPE_NODRIVER: |     if webdriver_type == CONST_WEBDRIVER_TYPE_NODRIVER: | ||||||
|  | @ -1536,6 +1539,11 @@ def showHideBlocks(): | ||||||
|     BLOCK_STYLE_KKTIX = 1 |     BLOCK_STYLE_KKTIX = 1 | ||||||
|     STYLE_KKTIX_DOMAIN_LIST = ['kktix'] |     STYLE_KKTIX_DOMAIN_LIST = ['kktix'] | ||||||
| 
 | 
 | ||||||
|  |     global combo_webdriver_type | ||||||
|  |     if 'combo_webdriver_type' in globals(): | ||||||
|  |         if 'cityline.com' in new_homepage: | ||||||
|  |             combo_webdriver_type.set("nodriver") | ||||||
|  | 
 | ||||||
|     show_block_index = BLOCK_STYLE_TIXCRAFT |     show_block_index = BLOCK_STYLE_TIXCRAFT | ||||||
|     for domain_name in STYLE_KKTIX_DOMAIN_LIST: |     for domain_name in STYLE_KKTIX_DOMAIN_LIST: | ||||||
|         if domain_name in new_homepage: |         if domain_name in new_homepage: | ||||||
|  | @ -2465,13 +2473,13 @@ def AutofillTab(root, config_dict, language_code, UI_PADDING_X): | ||||||
| 
 | 
 | ||||||
|     global txt_cityline_account |     global txt_cityline_account | ||||||
|     txt_cityline_account_value = StringVar(frame_group_header, value=config_dict["advanced"]["cityline_account"].strip()) |     txt_cityline_account_value = StringVar(frame_group_header, value=config_dict["advanced"]["cityline_account"].strip()) | ||||||
|     txt_cityline_account = Entry(frame_group_header, width=15, textvariable = txt_cityline_account_value) |     txt_cityline_account = Entry(frame_group_header, width=30, textvariable = txt_cityline_account_value) | ||||||
|     txt_cityline_account.grid(column=1, row=group_row_count, sticky = W) |     txt_cityline_account.grid(column=1, row=group_row_count, sticky = W, columnspan=2) | ||||||
| 
 | 
 | ||||||
|     global txt_cityline_password |     global txt_cityline_password | ||||||
|     txt_cityline_password_value = StringVar(frame_group_header, value=util.decryptMe(config_dict["advanced"]["cityline_password"].strip())) |     txt_cityline_password_value = StringVar(frame_group_header, value=util.decryptMe(config_dict["advanced"]["cityline_password"].strip())) | ||||||
|     txt_cityline_password = Entry(frame_group_header, width=15, textvariable = txt_cityline_password_value, show="*") |     txt_cityline_password = Entry(frame_group_header, width=15, textvariable = txt_cityline_password_value, show="*") | ||||||
|     txt_cityline_password.grid(column=2, row=group_row_count, sticky = W) |     #txt_cityline_password.grid(column=2, row=group_row_count, sticky = W) | ||||||
| 
 | 
 | ||||||
|     group_row_count +=1 |     group_row_count +=1 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										11
									
								
								util.py
								
								
								
								
							
							
						
						
									
										11
									
								
								util.py
								
								
								
								
							|  | @ -473,11 +473,12 @@ def dump_settings_to_maxbot_plus_extension(ext, config_dict, CONST_MAXBOT_CONFIG | ||||||
| 
 | 
 | ||||||
|     if len(local_remote_url_array) > 0: |     if len(local_remote_url_array) > 0: | ||||||
|         is_manifest_changed = False |         is_manifest_changed = False | ||||||
|         for remote_url_final in local_remote_url_array: |         if 'host_permissions' in manifest_dict: | ||||||
|             if not remote_url_final in manifest_dict["host_permissions"]: |             for remote_url_final in local_remote_url_array: | ||||||
|                 #print("local remote_url not in manifest:", remote_url_final) |                 if not remote_url_final in manifest_dict["host_permissions"]: | ||||||
|                 manifest_dict["host_permissions"].append(remote_url_final) |                     #print("local remote_url not in manifest:", remote_url_final) | ||||||
|                 is_manifest_changed = True |                     manifest_dict["host_permissions"].append(remote_url_final) | ||||||
|  |                     is_manifest_changed = True | ||||||
| 
 | 
 | ||||||
|         if is_manifest_changed: |         if is_manifest_changed: | ||||||
|             json_str = json.dumps(manifest_dict, indent=4) |             json_str = json.dumps(manifest_dict, indent=4) | ||||||
|  |  | ||||||
|  | @ -1 +1 @@ | ||||||
| {"homepage": "https://tixcraft.com", "browser": "chrome", "language": "\u7e41\u9ad4\u4e2d\u6587", "ticket_number": 2, "ocr_captcha": {"enable": true, "beta": true, "force_submit": true, "image_source": "canvas"}, "webdriver_type": "undetected_chromedriver", "date_auto_select": {"enable": true, "date_keyword": "", "mode": "random"}, "area_auto_select": {"enable": true, "mode": "random", "area_keyword": ""}, "keyword_exclude": "\"\u8f2a\u6905\",\"\u8eab\u969c\",\"\u8eab\u5fc3 \u969c\u7919\",\"Restricted View\",\"\u71c8\u67f1\u906e\u853d\",\"\u8996\u7dda\u4e0d\u5b8c\u6574\"", "kktix": {"auto_press_next_step_button": true, "auto_fill_ticket_number": true}, "tixcraft": {"pass_date_is_sold_out": true, "auto_reload_coming_soon_page": true}, "advanced": {"play_sound": {"ticket": true, "order": true, "filename": "ding-dong.wav"}, "tixcraft_sid": "", "ibonqware": "", "facebook_account": "", "kktix_account": "", "fami_account": "", "cityline_account": "", "urbtix_account": "", "hkticketing_account": "", "kham_account": "", "ticket_account": "", "udn_account": "", "ticketplus_account": "", "facebook_password": "", "kktix_password": "", "fami_password": "", "urbtix_password": "", "cityline_password": "", "hkticketing_password": "", "kham_password": "", "ticket_password": "", "udn_password": "", "ticketplus_password": "", "facebook_password_plaintext": "", "kktix_password_plaintext": "", "fami_password_plaintext": "", "urbtix_password_plaintext": "", "cityline_password_plaintext": "", "hkticketing_password_plaintext": "", "kham_password_plaintext": "", "ticket_password_plaintext": "", "udn_password_plaintext": "", "ticketplus_password_plaintext": "", "chrome_extension": true, "disable_adjacent_seat": false, "hide_some_image": false, "block_facebook_network": false, "headless": false, "verbose": false, "auto_guess_options": true, "user_guess_string": "", "remote_url": "\"http://127.0.0.1:16888/\"", "auto_reload_page_interval": 0.0, "reset_browser_interval": 0, "kktix_status_api": false, "max_dwell_time": 60, "proxy_server_port": "", "window_size": "480,1024,0", "idle_keyword": "", "resume_keyword": "", "idle_keyword_second": "", "resume_keyword_second": ""}, "domain_filter": ["*google-analytics.com/*", "*googletagmanager.com/*", "*googletagservices.com/*", "*lndata.com/*", "*a.amnet.tw/*", "*adx.c.appier.net/*", "*clarity.ms/*", "*cloudfront.com/*", "*cms.analytics.yahoo.com/*", "*doubleclick.net/*", "*e2elog.fetnet.net/*", "*fundingchoicesmessages.google.com/*", "*ghtinc.com/*", "*match.adsrvr.org/*", "*onead.onevision.com.tw/*", "*popin.cc/*", "*rollbar.com/*", "*sb.scorecardresearch.com/*", "*tagtoo.co/*", "*.ssp.hinet.net/*", "*ticketmaster.sg/js/adblock*", "*.googlesyndication.com/*", "*treasuredata.com/*", "*play.google.com/log?*", "*www.youtube.com/youtubei/v1/player/heartbeat*", "*tixcraft.com/js/analytics.js*", "*ticketmaster.sg/js/adblock.js*", "*img.uniicreative.com/*", "*cdn.cookielaw.org/*", "*tixcraft.com/js/custom.js*", "*tixcraft.com/js/common.js*", "*cdnjs.cloudflare.com/ajax/libs/clipboard.js/*"]} | {"homepage": "https://tixcraft.com", "browser": "chrome", "language": "\u7e41\u9ad4\u4e2d\u6587", "ticket_number": 2, "ocr_captcha": {"enable": true, "beta": true, "force_submit": true, "image_source": "canvas"}, "webdriver_type": "undetected_chromedriver", "date_auto_select": {"enable": true, "date_keyword": "", "mode": "random"}, "area_auto_select": {"enable": true, "mode": "random", "area_keyword": ""}, "keyword_exclude": "\"\u8f2a\u6905\",\"\u8eab\u969c\",\"\u8eab\u5fc3 \u969c\u7919\",\"Restricted View\",\"\u71c8\u67f1\u906e\u853d\",\"\u8996\u7dda\u4e0d\u5b8c\u6574\"", "kktix": {"auto_press_next_step_button": true, "auto_fill_ticket_number": true}, "tixcraft": {"pass_date_is_sold_out": true, "auto_reload_coming_soon_page": true}, "advanced": {"play_sound": {"ticket": true, "order": true, "filename": "ding-dong.wav"}, "tixcraft_sid": "", "ibonqware": "", "facebook_account": "", "kktix_account": "", "fami_account": "", "cityline_account": "", "urbtix_account": "", "hkticketing_account": "", "kham_account": "", "ticket_account": "", "udn_account": "", "ticketplus_account": "", "facebook_password": "", "kktix_password": "", "fami_password": "", "urbtix_password": "", "cityline_password": "", "hkticketing_password": "", "kham_password": "", "ticket_password": "", "udn_password": "", "ticketplus_password": "", "facebook_password_plaintext": "", "kktix_password_plaintext": "", "fami_password_plaintext": "", "urbtix_password_plaintext": "", "cityline_password_plaintext": "", "hkticketing_password_plaintext": "", "kham_password_plaintext": "", "ticket_password_plaintext": "", "udn_password_plaintext": "", "ticketplus_password_plaintext": "", "chrome_extension": true, "disable_adjacent_seat": false, "hide_some_image": false, "block_facebook_network": false, "headless": false, "verbose": false, "auto_guess_options": true, "user_guess_string": "", "remote_url": "\"http://127.0.0.1:16888/\"", "auto_reload_page_interval": 0.0, "reset_browser_interval": 0, "kktix_status_api": false, "max_dwell_time": 60, "proxy_server_port": "", "window_size": "480,1024,0", "idle_keyword": "", "resume_keyword": "", "idle_keyword_second": "", "resume_keyword_second": ""}, "domain_filter": ["*.doubleclick.net/*", "*.googlesyndication.com/*", "*.ssp.hinet.net/*", "*a.amnet.tw/*", "*adx.c.appier.net/*", "*cdn.cookielaw.org/*", "*cdnjs.cloudflare.com/ajax/libs/clipboard.js/*", "*clarity.ms/*", "*cloudfront.com/*", "*cms.analytics.yahoo.com/*", "*e2elog.fetnet.net/*", "*fundingchoicesmessages.google.com/*", "*ghtinc.com/*", "*google-analytics.com/*", "*googletagmanager.com/*", "*googletagservices.com/*", "*img.uniicreative.com/*", "*lndata.com/*", "*match.adsrvr.org/*", "*onead.onevision.com.tw/*", "*play.google.com/log?*", "*popin.cc/*", "*rollbar.com/*", "*sb.scorecardresearch.com/*", "*tagtoo.co/*", "*ticketmaster.sg/js/adblock*", "*ticketmaster.sg/js/adblock.js*", "*tixcraft.com/js/analytics.js*", "*tixcraft.com/js/common.js*", "*tixcraft.com/js/custom.js*", "*treasuredata.com/*", "*www.youtube.com/youtubei/v1/player/heartbeat*"]} | ||||||
|  | @ -457,4 +457,11 @@ var doLikeThisEvent = function(evtId) { | ||||||
| 			return false; | 			return false; | ||||||
| 		}); | 		}); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | /* | ||||||
|  | var url = contextPath + "/[activityCode]/performance?event=[eventId]&perfId=[perfId]"; | ||||||
|  | url = url.replace("[activityCode]",activityCode) | ||||||
|  | 		.replace("[eventId]", eventId) | ||||||
|  | 		.replace("[perfId]",selectedPerfId) | ||||||
|  | location.href = url; | ||||||
|  | */ | ||||||
|  | @ -1,73 +1,3 @@ | ||||||
| function getHtmlDocName() { |  | ||||||
|     var pathname = location.pathname; |  | ||||||
|     var pathParts = pathname.split('/'); |  | ||||||
|     if(pathParts.length >= 3) return pathParts[2]; |  | ||||||
|     return null; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| function goToCityline(){ |  | ||||||
|     window.location="https://www.cityline.com"; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| function setRetryUrl(requestUrl){ |  | ||||||
|     urlThrottler = requestUrl; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| function startCountDownTimer() { |  | ||||||
|    setRetryUrl(window.location.href); |  | ||||||
|     |  | ||||||
|    if (enableAutoRetry){ |  | ||||||
|       setRemainTime(remainTime);  |  | ||||||
|       if (ddsScheduler == undefined) { |  | ||||||
|          ddsScheduler = setInterval(function(){ |  | ||||||
|             updateRemainTime(); |  | ||||||
|          }, 1000); |  | ||||||
|       } |  | ||||||
|    }else{ |  | ||||||
|       document.getElementById("remainTime1").innerHTML = ''; |  | ||||||
|       $('#btn-retry-en-1').removeAttr('disabled'); |  | ||||||
|    } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| function setRemainTime(sec) { |  | ||||||
|    document.getElementById("remainTime1").innerHTML = '(' +sec+ ')'; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| function goEvent(){ |  | ||||||
|    window.location.href = urlThrottler; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /* |  | ||||||
| function goEvent(){ |  | ||||||
|     if(urlThrottler) { |  | ||||||
|         if(window.location.href.indexOf("https://msg.cityline.com/") > -1) { |  | ||||||
|             if(urlThrottler == "https://event.cityline.com") { |  | ||||||
|                 if(window.location.href.indexOf("?") > -1) { |  | ||||||
|                     urlThrottler = "https://event.cityline.com/queue?" + window.location.href.split("?")[1]; |  | ||||||
|                 } |  | ||||||
|                 document.getElementById("multiple_tab_layout").innerHTML = ''; |  | ||||||
|                 $('#busy_zone').removeClass('d-none') |  | ||||||
|                 document.getElementById("busy_zone").innerHTML = '<div class="event"><button id="btn-retry-en-1" class="btn_cta" type="button" onclick="javascript:goEvent()">請重試 Retry<span id="remainTime1"></span></button></div>'; |  | ||||||
| 
 |  | ||||||
|                 var ddsScheduler = undefined; |  | ||||||
|                 setRemainTime(remainTime);  |  | ||||||
|                 if (ddsScheduler == undefined) { |  | ||||||
|                  ddsScheduler = setInterval(function(){ |  | ||||||
|                     updateRemainTime(); |  | ||||||
|                  }, 1000); |  | ||||||
|                 } |  | ||||||
| 
 |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         if(urlThrottler.indexOf("?") > -1) { |  | ||||||
|             document.getElementById("multiple_tab_layout").innerHTML = urlThrottler; |  | ||||||
|             window.location.href = urlThrottler; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| */ |  | ||||||
| 
 |  | ||||||
| function begin() | function begin() | ||||||
| { | { | ||||||
|     let settings = JSON.parse($("#settings").html()); |     let settings = JSON.parse($("#settings").html()); | ||||||
|  | @ -86,7 +16,7 @@ function begin() | ||||||
| 
 | 
 | ||||||
|     // too short to cause error.
 |     // too short to cause error.
 | ||||||
|     if(auto_reload_page_interval < 0.05) { |     if(auto_reload_page_interval < 0.05) { | ||||||
|         auto_reload_page_interval = 0.05; |         auto_reload_page_interval = 0.1; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if(status=='ON') { |     if(status=='ON') { | ||||||
|  | @ -94,7 +24,17 @@ function begin() | ||||||
|         setInterval(() => { |         setInterval(() => { | ||||||
|             //retry();
 |             //retry();
 | ||||||
|             //console.log("trigger");
 |             //console.log("trigger");
 | ||||||
|             $(".btn_cta").prop('disabled', false).trigger("click"); |             $(".eventposter").off(); | ||||||
|  |             setRetryUrl(window.location.href); | ||||||
|  |             $(".btn_cta").prop('disabled', false); | ||||||
|  |             if (ddsScheduler != undefined) | ||||||
|  |                 clearInterval(ddsScheduler); | ||||||
|  |             //$(".btn_cta").prop('disabled', false).trigger("click");
 | ||||||
|  |             if (typeof goEvent !== "undefined") {  | ||||||
|  |                 if(location.href.indexOf('home?') > -1) { | ||||||
|  |                     goEvent(); | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|         }, target_interval); |         }, target_interval); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | @ -151,3 +91,22 @@ setInterval(() => { | ||||||
|     SetItem(ItemType.Local, ""); |     SetItem(ItemType.Local, ""); | ||||||
| }, 100); | }, 100); | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | function getHtmlDocName() { | ||||||
|  |     var pathname = location.pathname; | ||||||
|  |     var pathParts = pathname.split('/'); | ||||||
|  |     if(pathParts.length >= 3) return pathParts[2]; | ||||||
|  |     return null; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | if(getHtmlDocName()==null) { | ||||||
|  |     history.back(); | ||||||
|  | } | ||||||
|  | $(".eventposter").off(); | ||||||
|  | if (typeof goEvent !== "undefined") {  | ||||||
|  |     if(location.href.indexOf('home?') > -1) { | ||||||
|  |         //goEvent();
 | ||||||
|  |     } else { | ||||||
|  |         history.back(); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @ -334,7 +334,7 @@ | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "matches": [ |             "matches": [ | ||||||
|                 "https://*.cityline.com/utsvInternet/internet/eventDetail?event=*", |                 "https://*.cityline.com/utsvInternet/*/eventDetail?event=*", | ||||||
|                 "https://*.cityline.com/utsvlnternet/*/login?lang=TW" |                 "https://*.cityline.com/utsvlnternet/*/login?lang=TW" | ||||||
|             ], |             ], | ||||||
|             "run_at": "document_end", |             "run_at": "document_end", | ||||||
|  | @ -419,5 +419,5 @@ | ||||||
|             ] |             ] | ||||||
|         } |         } | ||||||
|     ], |     ], | ||||||
|     "version": "1.0.20" |     "version": "1.0.21" | ||||||
| } | } | ||||||
		Loading…
	
		Reference in New Issue