2024-01-01, update for firefox browser, cityline maxbot plus extension.

master
unknown 2024-01-09 16:30:49 +08:00
parent 1cf1418cb5
commit 8f32c4975d
18 changed files with 330 additions and 212 deletions

View File

@ -54,7 +54,7 @@ import webbrowser
import chromedriver_autoinstaller import chromedriver_autoinstaller
CONST_APP_VERSION = "MaxBot (2023.12.31)" CONST_APP_VERSION = "MaxBot (2024.01.01)"
CONST_MAXBOT_CONFIG_FILE = "settings.json" CONST_MAXBOT_CONFIG_FILE = "settings.json"
CONST_MAXBOT_LAST_URL_FILE = "MAXBOT_LAST_URL.txt" CONST_MAXBOT_LAST_URL_FILE = "MAXBOT_LAST_URL.txt"
@ -379,8 +379,6 @@ def is_all_alpha_or_numeric(text):
def get_favoriate_extension_path(webdriver_path, config_dict): def get_favoriate_extension_path(webdriver_path, config_dict):
#print("webdriver_path:", webdriver_path) #print("webdriver_path:", webdriver_path)
extension_list = [] extension_list = []
if config_dict["advanced"]["adblock_plus_enable"]:
extension_list.append(os.path.join(webdriver_path,"Adblock_3.21.1.0.crx"))
extension_list.append(os.path.join(webdriver_path, MAXBOT_EXTENSION_NAME + ".crx")) extension_list.append(os.path.join(webdriver_path, MAXBOT_EXTENSION_NAME + ".crx"))
return extension_list return extension_list
@ -2077,8 +2075,8 @@ def tixcraft_date_auto_select(driver, url, config_dict, domain_name):
except Exception as exc: except Exception as exc:
pass pass
if config_dict["advanced"]["auto_reload_random_delay"]: if config_dict["advanced"]["auto_reload_page_interval"] > 0:
time.sleep(random.randint(0,CONST_AUTO_RELOAD_RANDOM_DELAY_MAX_SECOND)) time.sleep(config_dict["advanced"]["auto_reload_page_interval"])
return is_date_clicked return is_date_clicked
@ -2576,8 +2574,8 @@ def tixcraft_area_auto_select(driver, url, config_dict):
except Exception as exc: except Exception as exc:
pass pass
if config_dict["advanced"]["auto_reload_random_delay"]: if config_dict["advanced"]["auto_reload_page_interval"] > 0:
time.sleep(random.randint(0,CONST_AUTO_RELOAD_RANDOM_DELAY_MAX_SECOND)) time.sleep(config_dict["advanced"]["auto_reload_page_interval"])
def ticketmaster_area_auto_select(driver, config_dict, zone_info): def ticketmaster_area_auto_select(driver, config_dict, zone_info):
show_debug_message = True # debug. show_debug_message = True # debug.
@ -2633,8 +2631,8 @@ def ticketmaster_area_auto_select(driver, config_dict, zone_info):
except Exception as exc: except Exception as exc:
pass pass
if config_dict["advanced"]["auto_reload_random_delay"]: if config_dict["advanced"]["auto_reload_page_interval"] > 0:
time.sleep(random.randint(0,CONST_AUTO_RELOAD_RANDOM_DELAY_MAX_SECOND)) time.sleep(config_dict["advanced"]["auto_reload_page_interval"])
def tixcraft_ticket_agree(driver, config_dict): def tixcraft_ticket_agree(driver, config_dict):
@ -3394,7 +3392,9 @@ def tixcraft_assign_ticket_number(driver, config_dict):
def tixcraft_ticket_main(driver, config_dict, ocr, Captcha_Browser, domain_name): def tixcraft_ticket_main(driver, config_dict, ocr, Captcha_Browser, domain_name):
# use extension instead of selenium. # use extension instead of selenium.
#tixcraft_ticket_main_agree(driver, config_dict) # checkbox javascrit code at chrome extension.
if config_dict["browser"] in ["firefox", "edge", "safari"]:
tixcraft_ticket_main_agree(driver, config_dict)
is_ticket_number_assigned = False is_ticket_number_assigned = False
@ -3421,7 +3421,7 @@ def tixcraft_ticket_main_ocr(driver, config_dict, ocr, Captcha_Browser, domain_n
else: else:
previous_answer = None previous_answer = None
last_url, is_quit_bot = get_current_url(driver) last_url, is_quit_bot = get_current_url(driver)
for redo_ocr in range(99): for redo_ocr in range(19):
is_need_redo_ocr, previous_answer, is_form_sumbited = tixcraft_auto_ocr(driver, ocr, away_from_keyboard_enable, previous_answer, Captcha_Browser, ocr_captcha_image_source, domain_name) is_need_redo_ocr, previous_answer, is_form_sumbited = tixcraft_auto_ocr(driver, ocr, away_from_keyboard_enable, previous_answer, Captcha_Browser, ocr_captcha_image_source, domain_name)
if is_form_sumbited: if is_form_sumbited:
# start next loop. # start next loop.
@ -4611,8 +4611,8 @@ def kktix_reg_new_main(driver, config_dict, fail_list, captcha_sound_played, is_
#print("refresh fail") #print("refresh fail")
pass pass
if config_dict["advanced"]["auto_reload_random_delay"]: if config_dict["advanced"]["auto_reload_page_interval"] > 0:
time.sleep(random.randint(0,CONST_AUTO_RELOAD_RANDOM_DELAY_MAX_SECOND)) time.sleep(config_dict["advanced"]["auto_reload_page_interval"])
return fail_list, captcha_sound_played return fail_list, captcha_sound_played
@ -5068,8 +5068,8 @@ def fami_date_auto_select(driver, config_dict, last_activity_url):
except Exception as exc: except Exception as exc:
pass pass
if config_dict["advanced"]["auto_reload_random_delay"]: if config_dict["advanced"]["auto_reload_page_interval"] > 0:
time.sleep(random.randint(0,CONST_AUTO_RELOAD_RANDOM_DELAY_MAX_SECOND)) time.sleep(config_dict["advanced"]["auto_reload_page_interval"])
return is_date_assign_by_bot return is_date_assign_by_bot
@ -5264,8 +5264,8 @@ def fami_date_to_area(driver, config_dict, last_activity_url):
except Exception as exc: except Exception as exc:
pass pass
if config_dict["advanced"]["auto_reload_random_delay"]: if config_dict["advanced"]["auto_reload_page_interval"] > 0:
time.sleep(random.randint(0,CONST_AUTO_RELOAD_RANDOM_DELAY_MAX_SECOND)) time.sleep(config_dict["advanced"]["auto_reload_page_interval"])
return is_price_assign_by_bot return is_price_assign_by_bot
@ -6563,8 +6563,8 @@ def ibon_date_auto_select(driver, config_dict):
except Exception as exc: except Exception as exc:
pass pass
if config_dict["advanced"]["auto_reload_random_delay"]: if config_dict["advanced"]["auto_reload_page_interval"] > 0:
time.sleep(random.randint(0,CONST_AUTO_RELOAD_RANDOM_DELAY_MAX_SECOND)) time.sleep(config_dict["advanced"]["auto_reload_page_interval"])
return is_date_assign_by_bot return is_date_assign_by_bot
@ -6828,8 +6828,8 @@ def ibon_performance(driver, config_dict):
except Exception as exc: except Exception as exc:
pass pass
if config_dict["advanced"]["auto_reload_random_delay"]: if config_dict["advanced"]["auto_reload_page_interval"] > 0:
time.sleep(random.randint(0,CONST_AUTO_RELOAD_RANDOM_DELAY_MAX_SECOND)) time.sleep(config_dict["advanced"]["auto_reload_page_interval"])
return is_price_assign_by_bot return is_price_assign_by_bot
@ -9998,8 +9998,8 @@ def hkam_date_auto_select(driver, domain_name, config_dict):
except Exception as exc: except Exception as exc:
pass pass
if config_dict["advanced"]["auto_reload_random_delay"]: if config_dict["advanced"]["auto_reload_page_interval"] > 0:
time.sleep(random.randint(0,CONST_AUTO_RELOAD_RANDOM_DELAY_MAX_SECOND)) time.sleep(config_dict["advanced"]["auto_reload_page_interval"])
return is_date_assign_by_bot return is_date_assign_by_bot
@ -11417,9 +11417,8 @@ def ticketplus_order_expansion_panel(driver, config_dict, current_layout_style):
except Exception as exc: except Exception as exc:
pass pass
if config_dict["advanced"]["auto_reload_random_delay"]: if config_dict["advanced"]["auto_reload_page_interval"] > 0:
time.sleep(random.randint(1,CONST_AUTO_RELOAD_RANDOM_DELAY_MAX_SECOND+1)) time.sleep(config_dict["advanced"]["auto_reload_page_interval"])
return is_price_assign_by_bot return is_price_assign_by_bot

View File

@ -22,7 +22,7 @@ import sys
import threading import threading
import webbrowser import webbrowser
CONST_APP_VERSION = "MaxBot (2023.12.31)" CONST_APP_VERSION = "MaxBot (2024.01.01)"
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"

View File

@ -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_captcha_sound": {"enable": 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": "", "adblock_plus_enable": false, "disable_adjacent_seat": false, "hide_some_image": true, "block_facebook_network": false, "headless": false, "verbose": false, "auto_guess_options": true, "user_guess_string": "", "online_dictionary_url": "", "auto_reload_page_interval": 1.0, "auto_reload_random_delay": false, "proxy_server_port": ""}} {"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_captcha_sound": {"enable": 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": "", "disable_adjacent_seat": false, "hide_some_image": true, "block_facebook_network": false, "headless": false, "verbose": false, "auto_guess_options": true, "user_guess_string": "", "online_dictionary_url": "", "auto_reload_page_interval": 0.1, "proxy_server_port": ""}}

View File

@ -34,7 +34,7 @@ import ssl
ssl._create_default_https_context = ssl._create_unverified_context ssl._create_default_https_context = ssl._create_unverified_context
CONST_APP_VERSION = "MaxBot (2023.12.31)" CONST_APP_VERSION = "MaxBot (2024.01.01)"
CONST_MAXBOT_CONFIG_FILE = "settings.json" CONST_MAXBOT_CONFIG_FILE = "settings.json"
CONST_MAXBOT_LAST_URL_FILE = "MAXBOT_LAST_URL.txt" CONST_MAXBOT_LAST_URL_FILE = "MAXBOT_LAST_URL.txt"
@ -142,8 +142,7 @@ def load_translate():
en_us["date_keyword"] = 'Date Keyword' en_us["date_keyword"] = 'Date Keyword'
en_us["pass_date_is_sold_out"] = 'Pass date is sold out' en_us["pass_date_is_sold_out"] = 'Pass date is sold out'
en_us["auto_reload_coming_soon_page"] = 'Reload coming soon page' en_us["auto_reload_coming_soon_page"] = 'Reload coming soon page'
en_us["auto_reload_page_interval"] = 'Reload page interval sec.(HK)' en_us["auto_reload_page_interval"] = 'Reload page interval(sec.)'
en_us["auto_reload_random_delay"] = 'Reload random delay(TW)'
en_us["proxy_server_port"] = 'Proxy IP:PORT' en_us["proxy_server_port"] = 'Proxy IP:PORT'
en_us["area_select_order"] = 'Area select order' en_us["area_select_order"] = 'Area select order'
@ -214,8 +213,6 @@ def load_translate():
en_us["play_captcha_sound"] = 'Play sound while ordering' en_us["play_captcha_sound"] = 'Play sound while ordering'
en_us["captcha_sound_filename"] = 'sound filename' en_us["captcha_sound_filename"] = 'sound filename'
en_us["adblock_plus_enable"] = 'Browser Extension'
en_us["adblock_plus_settings"] = "Adblock Advanced Filter"
en_us["disable_adjacent_seat"] = "Disable Adjacent Seat" en_us["disable_adjacent_seat"] = "Disable Adjacent Seat"
en_us["hide_some_image"] = "Hide Some Images" en_us["hide_some_image"] = "Hide Some Images"
en_us["block_facebook_network"] = "Block Facebook Network" en_us["block_facebook_network"] = "Block Facebook Network"
@ -248,8 +245,7 @@ def load_translate():
zh_tw["date_keyword"] = '日期關鍵字' zh_tw["date_keyword"] = '日期關鍵字'
zh_tw["pass_date_is_sold_out"] = '避開「搶購一空」的日期' zh_tw["pass_date_is_sold_out"] = '避開「搶購一空」的日期'
zh_tw["auto_reload_coming_soon_page"] = '自動刷新倒數中的日期頁面' zh_tw["auto_reload_coming_soon_page"] = '自動刷新倒數中的日期頁面'
zh_tw["auto_reload_page_interval"] = '自動刷新頁面間隔(秒)(香港)' zh_tw["auto_reload_page_interval"] = '自動刷新頁面間隔(秒)'
zh_tw["auto_reload_random_delay"] = '刷新清票建議增加隨機延遲(台灣)'
zh_tw["proxy_server_port"] = 'Proxy IP:PORT' zh_tw["proxy_server_port"] = 'Proxy IP:PORT'
zh_tw["area_select_order"] = '區域排序方式' zh_tw["area_select_order"] = '區域排序方式'
@ -319,8 +315,6 @@ def load_translate():
zh_tw["play_captcha_sound"] = '訂購時播放音效' zh_tw["play_captcha_sound"] = '訂購時播放音效'
zh_tw["captcha_sound_filename"] = '音效檔' zh_tw["captcha_sound_filename"] = '音效檔'
zh_tw["adblock_plus_enable"] = '瀏覽器擴充功能'
zh_tw["adblock_plus_settings"] = "Adblock 進階過濾規則"
zh_tw["disable_adjacent_seat"] = "允許不連續座位" zh_tw["disable_adjacent_seat"] = "允許不連續座位"
zh_tw["hide_some_image"] = "隱藏部份圖片" zh_tw["hide_some_image"] = "隱藏部份圖片"
zh_tw["block_facebook_network"] = "擋掉 Facebook 連線" zh_tw["block_facebook_network"] = "擋掉 Facebook 連線"
@ -354,8 +348,7 @@ def load_translate():
zh_cn["date_keyword"] = '日期关键字' zh_cn["date_keyword"] = '日期关键字'
zh_cn["pass_date_is_sold_out"] = '避开“抢购一空”的日期' zh_cn["pass_date_is_sold_out"] = '避开“抢购一空”的日期'
zh_cn["auto_reload_coming_soon_page"] = '自动刷新倒数中的日期页面' zh_cn["auto_reload_coming_soon_page"] = '自动刷新倒数中的日期页面'
zh_cn["auto_reload_page_interval"] = '重新加载间隔(秒)(香港)' zh_cn["auto_reload_page_interval"] = '重新加载间隔(秒)'
zh_cn["auto_reload_random_delay"] = '重新加载随机延迟(台湾)'
zh_cn["proxy_server_port"] = 'Proxy IP:PORT' zh_cn["proxy_server_port"] = 'Proxy IP:PORT'
zh_cn["area_select_order"] = '区域排序方式' zh_cn["area_select_order"] = '区域排序方式'
@ -426,8 +419,6 @@ def load_translate():
zh_cn["play_captcha_sound"] = '订购时播放音效' zh_cn["play_captcha_sound"] = '订购时播放音效'
zh_cn["captcha_sound_filename"] = '音效档' zh_cn["captcha_sound_filename"] = '音效档'
zh_cn["adblock_plus_enable"] = '浏览器扩充功能'
zh_cn["adblock_plus_settings"] = "Adblock 进阶过滤规则"
zh_cn["disable_adjacent_seat"] = "允许不连续座位" zh_cn["disable_adjacent_seat"] = "允许不连续座位"
zh_cn["hide_some_image"] = "隐藏一些图像" zh_cn["hide_some_image"] = "隐藏一些图像"
zh_cn["block_facebook_network"] = "擋掉 Facebook 連線" zh_cn["block_facebook_network"] = "擋掉 Facebook 連線"
@ -461,8 +452,7 @@ def load_translate():
ja_jp["date_keyword"] = '日付キーワード' ja_jp["date_keyword"] = '日付キーワード'
ja_jp["pass_date_is_sold_out"] = '「売り切れ」公演を避ける' ja_jp["pass_date_is_sold_out"] = '「売り切れ」公演を避ける'
ja_jp["auto_reload_coming_soon_page"] = '公開予定のページをリロード' ja_jp["auto_reload_coming_soon_page"] = '公開予定のページをリロード'
ja_jp["auto_reload_page_interval"] = 'リロード間隔(秒)(HK)' ja_jp["auto_reload_page_interval"] = 'リロード間隔(秒)'
ja_jp["auto_reload_random_delay"] = 'ランダムなリロード遅延(TW)'
ja_jp["proxy_server_port"] = 'Proxy IP:PORT' ja_jp["proxy_server_port"] = 'Proxy IP:PORT'
ja_jp["area_select_order"] = 'エリアソート方法' ja_jp["area_select_order"] = 'エリアソート方法'
@ -532,8 +522,6 @@ def load_translate():
ja_jp["play_captcha_sound"] = '注文時に音を鳴らす' ja_jp["play_captcha_sound"] = '注文時に音を鳴らす'
ja_jp["captcha_sound_filename"] = 'サウンドファイル' ja_jp["captcha_sound_filename"] = 'サウンドファイル'
ja_jp["adblock_plus_enable"] = '拡張機能'
ja_jp["adblock_plus_settings"] = "Adblock 高度なフィルター"
ja_jp["disable_adjacent_seat"] = "連続しない座席も可" ja_jp["disable_adjacent_seat"] = "連続しない座席も可"
ja_jp["hide_some_image"] = "一部の画像を非表示にする" ja_jp["hide_some_image"] = "一部の画像を非表示にする"
ja_jp["block_facebook_network"] = "Facebookをブロックする" ja_jp["block_facebook_network"] = "Facebookをブロックする"
@ -685,7 +673,6 @@ def get_default_config():
config_dict["advanced"]["udn_password"] = "" config_dict["advanced"]["udn_password"] = ""
config_dict["advanced"]["ticketplus_password"] = "" config_dict["advanced"]["ticketplus_password"] = ""
config_dict["advanced"]["adblock_plus_enable"] = False
config_dict["advanced"]["disable_adjacent_seat"] = False config_dict["advanced"]["disable_adjacent_seat"] = False
config_dict["advanced"]["hide_some_image"] = False config_dict["advanced"]["hide_some_image"] = False
config_dict["advanced"]["block_facebook_network"] = False config_dict["advanced"]["block_facebook_network"] = False
@ -696,8 +683,7 @@ def get_default_config():
config_dict["advanced"]["user_guess_string"] = "" config_dict["advanced"]["user_guess_string"] = ""
config_dict["advanced"]["online_dictionary_url"] = "" config_dict["advanced"]["online_dictionary_url"] = ""
config_dict["advanced"]["auto_reload_page_interval"] = 1.0 config_dict["advanced"]["auto_reload_page_interval"] = 0.1
config_dict["advanced"]["auto_reload_random_delay"] = False
config_dict["advanced"]["proxy_server_port"] = "" config_dict["advanced"]["proxy_server_port"] = ""
return config_dict return config_dict
@ -788,7 +774,6 @@ def btn_save_act(language_code, slience_mode=False):
global chk_state_auto_reload_coming_soon_page global chk_state_auto_reload_coming_soon_page
global txt_auto_reload_page_interval global txt_auto_reload_page_interval
global txt_proxy_server_port global txt_proxy_server_port
global chk_state_auto_reload_random_delay
global txt_tixcraft_sid global txt_tixcraft_sid
global txt_ibon_ibonqware global txt_ibon_ibonqware
@ -816,7 +801,6 @@ def btn_save_act(language_code, slience_mode=False):
global chk_state_play_captcha_sound global chk_state_play_captcha_sound
global txt_captcha_sound_filename global txt_captcha_sound_filename
global chk_state_adblock_plus
global chk_state_ocr_captcha global chk_state_ocr_captcha
global chk_state_ocr_captcha_ddddocr_beta global chk_state_ocr_captcha_ddddocr_beta
global chk_state_ocr_captcha_force_submit global chk_state_ocr_captcha_force_submit
@ -978,7 +962,6 @@ def btn_save_act(language_code, slience_mode=False):
config_dict["advanced"]["udn_password"] = encryptMe(config_dict["advanced"]["udn_password"]) config_dict["advanced"]["udn_password"] = encryptMe(config_dict["advanced"]["udn_password"])
config_dict["advanced"]["ticketplus_password"] = encryptMe(config_dict["advanced"]["ticketplus_password"]) config_dict["advanced"]["ticketplus_password"] = encryptMe(config_dict["advanced"]["ticketplus_password"])
config_dict["advanced"]["adblock_plus_enable"] = bool(chk_state_adblock_plus.get())
config_dict["advanced"]["disable_adjacent_seat"] = bool(chk_state_adjacent_seat.get()) config_dict["advanced"]["disable_adjacent_seat"] = bool(chk_state_adjacent_seat.get())
config_dict["advanced"]["hide_some_image"] = bool(chk_state_hide_some_image.get()) config_dict["advanced"]["hide_some_image"] = bool(chk_state_hide_some_image.get())
config_dict["advanced"]["block_facebook_network"] = bool(chk_state_block_facebook_network.get()) config_dict["advanced"]["block_facebook_network"] = bool(chk_state_block_facebook_network.get())
@ -1000,7 +983,6 @@ def btn_save_act(language_code, slience_mode=False):
config_dict["advanced"]["auto_guess_options"] = bool(chk_state_auto_guess_options.get()) config_dict["advanced"]["auto_guess_options"] = bool(chk_state_auto_guess_options.get())
config_dict["advanced"]["auto_reload_page_interval"] = float(txt_auto_reload_page_interval.get().strip()) config_dict["advanced"]["auto_reload_page_interval"] = float(txt_auto_reload_page_interval.get().strip())
config_dict["advanced"]["auto_reload_random_delay"] = bool(chk_state_auto_reload_random_delay.get())
config_dict["advanced"]["proxy_server_port"] = txt_proxy_server_port.get().strip() config_dict["advanced"]["proxy_server_port"] = txt_proxy_server_port.get().strip()
@ -1282,7 +1264,6 @@ def applyNewLanguage():
global chk_pass_date_is_sold_out global chk_pass_date_is_sold_out
global chk_auto_reload_coming_soon_page global chk_auto_reload_coming_soon_page
global chk_play_captcha_sound global chk_play_captcha_sound
global chk_adblock_plus
global chk_ocr_captcha global chk_ocr_captcha
global chk_ocr_captcha_ddddocr_beta global chk_ocr_captcha_ddddocr_beta
global chk_ocr_captcha_force_submit global chk_ocr_captcha_force_submit
@ -1295,7 +1276,6 @@ def applyNewLanguage():
global lbl_online_dictionary_url global lbl_online_dictionary_url
global lbl_online_dictionary_preview global lbl_online_dictionary_preview
global chk_auto_guess_options global chk_auto_guess_options
global chk_auto_reload_random_delay
global tabControl global tabControl
@ -1304,8 +1284,6 @@ def applyNewLanguage():
global lbl_donate global lbl_donate
global lbl_release global lbl_release
global lbl_adblock_plus
global lbl_adblock_plus_settings
global lbl_adjacent_seat global lbl_adjacent_seat
global lbl_hide_some_image global lbl_hide_some_image
global lbl_block_facebook_network global lbl_block_facebook_network
@ -1315,7 +1293,6 @@ def applyNewLanguage():
global lbl_auto_reload_page_interval global lbl_auto_reload_page_interval
global lbl_proxy_server_port global lbl_proxy_server_port
global lbl_auto_reload_random_delay
lbl_homepage.config(text=translate[language_code]["homepage"]) lbl_homepage.config(text=translate[language_code]["homepage"])
lbl_browser.config(text=translate[language_code]["browser"]) lbl_browser.config(text=translate[language_code]["browser"])
@ -1352,7 +1329,6 @@ def applyNewLanguage():
lbl_auto_reload_page_interval.config(text=translate[language_code]["auto_reload_page_interval"]) lbl_auto_reload_page_interval.config(text=translate[language_code]["auto_reload_page_interval"])
lbl_proxy_server_port.config(text=translate[language_code]["proxy_server_port"]) lbl_proxy_server_port.config(text=translate[language_code]["proxy_server_port"])
lbl_auto_reload_random_delay.config(text=translate[language_code]["auto_reload_random_delay"])
lbl_headless.config(text=translate[language_code]["headless"]) lbl_headless.config(text=translate[language_code]["headless"])
lbl_verbose.config(text=translate[language_code]["verbose"]) lbl_verbose.config(text=translate[language_code]["verbose"])
@ -1371,7 +1347,6 @@ def applyNewLanguage():
chk_pass_date_is_sold_out.config(text=translate[language_code]["enable"]) chk_pass_date_is_sold_out.config(text=translate[language_code]["enable"])
chk_auto_reload_coming_soon_page.config(text=translate[language_code]["enable"]) chk_auto_reload_coming_soon_page.config(text=translate[language_code]["enable"])
chk_play_captcha_sound.config(text=translate[language_code]["enable"]) chk_play_captcha_sound.config(text=translate[language_code]["enable"])
chk_adblock_plus.config(text=translate[language_code]["enable"])
chk_ocr_captcha.config(text=translate[language_code]["enable"]) chk_ocr_captcha.config(text=translate[language_code]["enable"])
chk_ocr_captcha_ddddocr_beta.config(text=translate[language_code]["enable"]) chk_ocr_captcha_ddddocr_beta.config(text=translate[language_code]["enable"])
chk_ocr_captcha_force_submit.config(text=translate[language_code]["enable"]) chk_ocr_captcha_force_submit.config(text=translate[language_code]["enable"])
@ -1382,7 +1357,6 @@ def applyNewLanguage():
chk_headless.config(text=translate[language_code]["enable"]) chk_headless.config(text=translate[language_code]["enable"])
chk_verbose.config(text=translate[language_code]["enable"]) chk_verbose.config(text=translate[language_code]["enable"])
chk_auto_guess_options.config(text=translate[language_code]["enable"]) chk_auto_guess_options.config(text=translate[language_code]["enable"])
chk_auto_reload_random_delay.config(text=translate[language_code]["enable"])
tabControl.tab(0, text=translate[language_code]["preference"]) tabControl.tab(0, text=translate[language_code]["preference"])
tabControl.tab(1, text=translate[language_code]["advanced"]) tabControl.tab(1, text=translate[language_code]["advanced"])
@ -1454,9 +1428,6 @@ def applyNewLanguage():
lbl_donate.config(text=translate[language_code]["donate"]) lbl_donate.config(text=translate[language_code]["donate"])
lbl_release.config(text=translate[language_code]["release"]) lbl_release.config(text=translate[language_code]["release"])
lbl_adblock_plus.config(text=translate[language_code]["adblock_plus_enable"])
lbl_adblock_plus_settings.config(text=translate[language_code]["adblock_plus_settings"])
global btn_run global btn_run
global btn_save global btn_save
global btn_exit global btn_exit
@ -1964,38 +1935,6 @@ def AdvancedTab(root, config_dict, language_code, UI_PADDING_X):
group_row_count +=1 group_row_count +=1
global lbl_adblock_plus
lbl_adblock_plus = Label(frame_group_header, text=translate[language_code]['adblock_plus_enable'])
lbl_adblock_plus.grid(column=0, row=group_row_count, sticky = E)
global chk_state_adblock_plus
chk_state_adblock_plus = BooleanVar()
chk_state_adblock_plus.set(config_dict["advanced"]["adblock_plus_enable"])
global chk_adblock_plus
chk_adblock_plus = Checkbutton(frame_group_header, text=translate[language_code]['enable'], variable=chk_state_adblock_plus)
chk_adblock_plus.grid(column=1, row=group_row_count, sticky = W)
group_row_count +=1
global lbl_adblock_plus_settings
lbl_adblock_plus_settings = Label(frame_group_header, text=translate[language_code]['adblock_plus_settings'])
lbl_adblock_plus_settings.grid(column=0, row=group_row_count, sticky = E+N)
txt_adblock_plus_settings = Text(frame_group_header, width=30, height=3)
txt_adblock_plus_settings.grid(column=1, row=group_row_count, sticky = W)
txt_adblock_plus_settings.insert("1.0", CONST_ADBLOCK_PLUS_ADVANCED_FILTER_DEFAULT)
icon_copy_filename = "icon_copy_2.gif"
icon_copy_img = PhotoImage(file=icon_copy_filename)
lbl_icon_copy = Label(frame_group_header, image=icon_copy_img, cursor="hand2")
lbl_icon_copy.image = icon_copy_img
lbl_icon_copy.grid(column=2, row=group_row_count, sticky = W+N)
lbl_icon_copy.bind("<Button-1>", lambda e: btn_copy_clicked())
group_row_count +=1
global lbl_auto_reload_page_interval global lbl_auto_reload_page_interval
lbl_auto_reload_page_interval = Label(frame_group_header, text=translate[language_code]['auto_reload_page_interval']) lbl_auto_reload_page_interval = Label(frame_group_header, text=translate[language_code]['auto_reload_page_interval'])
lbl_auto_reload_page_interval.grid(column=0, row=group_row_count, sticky = E) lbl_auto_reload_page_interval.grid(column=0, row=group_row_count, sticky = E)
@ -2007,20 +1946,6 @@ def AdvancedTab(root, config_dict, language_code, UI_PADDING_X):
group_row_count +=1 group_row_count +=1
global lbl_auto_reload_random_delay
lbl_auto_reload_random_delay = Label(frame_group_header, text=translate[language_code]['auto_reload_random_delay'])
lbl_auto_reload_random_delay.grid(column=0, row=group_row_count, sticky = E)
global chk_state_auto_reload_random_delay
chk_state_auto_reload_random_delay = BooleanVar()
chk_state_auto_reload_random_delay.set(config_dict["advanced"]["auto_reload_random_delay"])
global chk_auto_reload_random_delay
chk_auto_reload_random_delay = Checkbutton(frame_group_header, text=translate[language_code]['enable'], variable=chk_state_auto_reload_random_delay)
chk_auto_reload_random_delay.grid(column=1, row=group_row_count, sticky = W)
group_row_count +=1
global lbl_proxy_server_port global lbl_proxy_server_port
lbl_proxy_server_port = Label(frame_group_header, text=translate[language_code]['proxy_server_port']) lbl_proxy_server_port = Label(frame_group_header, text=translate[language_code]['proxy_server_port'])
lbl_proxy_server_port.grid(column=0, row=group_row_count, sticky = E) lbl_proxy_server_port.grid(column=0, row=group_row_count, sticky = E)
@ -2739,7 +2664,7 @@ def main():
load_GUI(root, config_dict) load_GUI(root, config_dict)
GUI_SIZE_WIDTH = 580 GUI_SIZE_WIDTH = 580
GUI_SIZE_HEIGHT = 615 GUI_SIZE_HEIGHT = 590
GUI_SIZE_MACOS = str(GUI_SIZE_WIDTH) + 'x' + str(GUI_SIZE_HEIGHT) GUI_SIZE_MACOS = str(GUI_SIZE_WIDTH) + 'x' + str(GUI_SIZE_HEIGHT)
GUI_SIZE_WINDOWS=str(GUI_SIZE_WIDTH-60) + 'x' + str(GUI_SIZE_HEIGHT-70) GUI_SIZE_WINDOWS=str(GUI_SIZE_WIDTH-60) + 'x' + str(GUI_SIZE_HEIGHT-70)

View File

@ -27,7 +27,7 @@ import pyperclip
import tornado import tornado
from tornado.web import Application from tornado.web import Application
CONST_APP_VERSION = "MaxBot (2023.12.31)" CONST_APP_VERSION = "MaxBot (2024.01.01)"
CONST_MAXBOT_QUESTION_FILE = "MAXBOT_QUESTION.txt" CONST_MAXBOT_QUESTION_FILE = "MAXBOT_QUESTION.txt"

View File

@ -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_captcha_sound": {"enable": 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": "", "adblock_plus_enable": false, "disable_adjacent_seat": false, "hide_some_image": false, "block_facebook_network": false, "headless": false, "verbose": false, "auto_guess_options": true, "user_guess_string": "", "online_dictionary_url": "", "auto_reload_page_interval": 1.0, "auto_reload_random_delay": false, "proxy_server_port": ""}} {"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_captcha_sound": {"enable": 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": "", "disable_adjacent_seat": false, "hide_some_image": true, "block_facebook_network": false, "headless": false, "verbose": false, "auto_guess_options": true, "user_guess_string": "", "online_dictionary_url": "", "auto_reload_page_interval": 0.1, "proxy_server_port": ""}}

View File

@ -1,4 +1,6 @@
const storage = chrome.storage.local; const storage = chrome.storage.local;
var settings = null;
var eventDataCache = null; var eventDataCache = null;
var performanceDataCache = null; var performanceDataCache = null;
var selectedPerfId = null; var selectedPerfId = null;
@ -70,9 +72,27 @@ var fillEventData = function(data) {
eventDataCache = data; eventDataCache = data;
eventImageUrl = data.eventLargeCoverUrl eventImageUrl = data.eventLargeCoverUrl
let reload=false;
let eventStatues = {"TOBESOLD" : "event-status-tobesold", "SALE" : "event-status-sale", "SOLDOUT" : "event-status-soldout", "EXPIRED" : "event-status-expired"}; let eventStatues = {"TOBESOLD" : "event-status-tobesold", "SALE" : "event-status-sale", "SOLDOUT" : "event-status-soldout", "EXPIRED" : "event-status-expired"};
if(data.status=="TOBESOLD") location.reload(); if(data.status=="TOBESOLD") reload=true;
if(data.status=="SOLDOUT") location.reload(); if(data.status=="SOLDOUT") reload=true;;
if(reload) {
let auto_reload_page_interval = 0.0;
if(settings) {
auto_reload_page_interval = settings.advanced.auto_reload_page_interval;
}
if(auto_reload_page_interval == 0) {
//console.log('Start to reload now.');
location.reload();
} else {
console.log('We are going to reload after few seconeds.');
setTimeout(function () {
location.reload();
}, auto_reload_page_interval * 1000);
}
}
} }
var openWindow = function(url) { var openWindow = function(url) {
@ -308,6 +328,14 @@ function cityline_event_status_check()
} }
} }
storage.get('settings', function (items)
{
if (items.settings)
{
settings = items.settings;
}
});
storage.get('status', function (items) storage.get('status', function (items)
{ {
if (items.status && items.status=='ON') if (items.status && items.status=='ON')

View File

@ -0,0 +1,32 @@
const storage = chrome.storage.local;
var settings = null;
function cityline_msg_start(status)
{
if(settings) {
let settings_div="<div style='display:none' id='settings'>" + JSON.stringify(settings) + "</div>";
$("body").append(settings_div);
let status_div="<div style='display:none' id='status'>" + status + "</div>";
$("body").append(status_div);
//console.log("dom append");
}
}
storage.get('settings', function (items)
{
if (items.settings)
{
settings = items.settings;
}
});
storage.get('status', function (items)
{
if (items.status && items.status=='ON')
{
cityline_msg_start(items.status);
} else {
console.log('no status found');
}
});

View File

@ -0,0 +1,35 @@
function begin()
{
let settings = JSON.parse($("#settings").html());
let status = $("#status").html();
console.log("msg");
console.log(settings);
console.log(status);
$("#settings").remove();
$("#status").remove();
let auto_reload_page_interval = 0.0;
if(settings) {
auto_reload_page_interval = settings.advanced.auto_reload_page_interval;
}
if(status=='ON') {
setInterval(() => {
retry();
}, auto_reload_page_interval * 1000);
}
}
function dom_ready()
{
console.log("checking...");
if($("#settings").length>0) {
clearInterval(myInterval);
begin();
}
}
myInterval = setInterval(() => {
dom_ready();
}, 100);

View File

@ -73,8 +73,21 @@ function kktix_ajax_done(register_info)
if(register_info.inventory.registerStatus=='SOLD_OUT') {reload=true;} if(register_info.inventory.registerStatus=='SOLD_OUT') {reload=true;}
//console.log(reload); //console.log(reload);
if(reload) { if(reload) {
location.reload(); let auto_reload_page_interval = 0.0;
} else { if(settings) {
auto_reload_page_interval = settings.advanced.auto_reload_page_interval;
}
if(auto_reload_page_interval == 0) {
//console.log('Start to reload now.');
location.reload();
} else {
console.log('We are going to reload after few seconeds.');
setTimeout(function () {
location.reload();
}, auto_reload_page_interval * 1000);
}
}
else {
$(function() { $(function() {
myInterval = setInterval(() => { myInterval = setInterval(() => {
clean_sold_out_row(register_info); clean_sold_out_row(register_info);

View File

@ -19,34 +19,30 @@ function ajax_return_done(data, real_event_id, real_session_id) {
//console.log("ajax return done") //console.log("ajax return done")
let reload=false; let reload=false;
let auto_reload_random_delay = false; let auto_reload_page_interval = 0.0;
if(settings) { if(settings) {
auto_reload_random_delay = settings.advanced.auto_reload_random_delay; auto_reload_page_interval = settings.advanced.auto_reload_page_interval;
} }
//console.log("auto_reload_random_delay:"+auto_reload_random_delay); //console.log("auto_reload_page_interval:"+auto_reload_page_interval);
let is_match_reload_status = false;
if(data.result.session[0].status=="pending" || data.result.session[0].status=="soldout" || data.result.session[0].status=="unavailable") { if(data.result.session[0].status=="pending" || data.result.session[0].status=="soldout" || data.result.session[0].status=="unavailable") {
is_match_reload_status = true; reload=true;
} }
//console.log("is_match_reload_status:"+is_match_reload_status); //console.log("is_match_reload_status:"+is_match_reload_status);
if(is_match_reload_status) { if(reload) {
retry_count +=1; let auto_reload_page_interval = 0.0;
if(settings) {
if (settings) auto_reload_page_interval = settings.advanced.auto_reload_page_interval;
{ }
if(!auto_reload_random_delay) { if(auto_reload_page_interval == 0) {
//console.log('Start to reload now.'); //console.log('Start to reload now.');
location.reload(); location.reload();
} else {
console.log('We are going to reload after few seconeds.');
setTimeout(function () {
location.reload();
}, 7000);
}
} else { } else {
console.log('no settings found'); console.log('We are going to reload after few seconeds.');
setTimeout(function () {
location.reload();
}, auto_reload_page_interval * 1000);
} }
} }

View File

@ -92,20 +92,41 @@ function tixcraft_area_main(settings) {
function area_auto_reload() function area_auto_reload()
{ {
let reload=false;
if ($("ul.area-list > li:has(a)").length) { if ($("ul.area-list > li:has(a)").length) {
storage.get('settings', function (items) if (settings)
{ {
if (items.settings) tixcraft_area_main(settings);
{ }
settings = items.settings;
tixcraft_area_main(settings);
}
});
} else { } else {
location.reload(); reload=true;
}
if(reload) {
let auto_reload_page_interval = 0.0;
if(settings) {
auto_reload_page_interval = settings.advanced.auto_reload_page_interval;
}
if(auto_reload_page_interval == 0) {
//console.log('Start to reload now.');
location.reload();
} else {
console.log('We are going to reload after few seconeds.');
setTimeout(function () {
location.reload();
}, auto_reload_page_interval * 1000);
}
} }
} }
storage.get('settings', function (items)
{
if (items.settings)
{
settings = items.settings;
}
});
storage.get('status', function (items) storage.get('status', function (items)
{ {
if (items.status && items.status=='ON') if (items.status && items.status=='ON')

View File

@ -1,11 +1,9 @@
(function () { const currentUrl = window.location.href;
const currentUrl = window.location.href; const event_code = currentUrl.split('/')[5];
const event_code = currentUrl.split('/')[5]; //console.log(currentUrl);
//console.log(currentUrl); //console.log(event_code);
//console.log(event_code); if(event_code){
if(event_code){ const domain = currentUrl.split('/')[2];
let domain = currentUrl.split('/')[2]; const new_url = "https://"+ domain +"/activity/game/"+ event_code;
let new_url = "https://"+ domain +"/activity/game/"+ event_code; location.href=new_url;
location.href=new_url; }
}
})();

View File

@ -52,7 +52,14 @@ function date_keyword(settings)
} }
if (target_date.length) { if (target_date.length) {
let link = target_date.parent().find("button").attr("data-href"); let button_tag = "button";
const currentUrl = window.location.href;
const domain = currentUrl.split('/')[2];
if(domain=="ticketmaster.sg") {
button_tag = "a";
}
let link = target_date.parent().find(button_tag).attr("data-href");
if (link) { if (link) {
//console.log("link: " + link); //console.log("link: " + link);
clearInterval(myInterval); clearInterval(myInterval);
@ -74,31 +81,57 @@ function date_main(settings)
function date_auto_reload() function date_auto_reload()
{ {
if ($("#gameList button").length) { let reload=false;
date_clean();
if ($("#gameList button").length) {
storage.get('settings', function (items)
{
if (items.settings)
{
settings = items.settings;
date_main(settings);
} else {
console.log('no settings found');
}
});
let button_tag = "button";
const currentUrl = window.location.href;
const domain = currentUrl.split('/')[2];
if(domain=="ticketmaster.sg") {
button_tag = "a";
}
const query_string = "#gameList "+button_tag;
if ($(query_string).length) {
date_clean();
if ($(query_string).length) {
if (settings)
{
date_main(settings);
}
} else { } else {
location.reload(); reload=true;
} }
} else { } else {
location.reload(); reload=true;
}
if(reload) {
let auto_reload_page_interval = 0.0;
if(settings) {
auto_reload_page_interval = settings.advanced.auto_reload_page_interval;
}
if(auto_reload_page_interval == 0) {
//console.log('Start to reload now.');
location.reload();
} else {
console.log('We are going to reload after few seconeds.');
setTimeout(function () {
location.reload();
}, auto_reload_page_interval * 1000);
}
} }
} }
storage.get('settings', function (items)
{
if (items.settings)
{
settings = items.settings;
}
});
storage.get('status', function (items) storage.get('status', function (items)
{ {
console.log(items);
if (items.status && items.status=='ON') if (items.status && items.status=='ON')
{ {
date_auto_reload(); date_auto_reload();
@ -106,5 +139,3 @@ storage.get('status', function (items)
console.log('no status found'); console.log('no status found');
} }
}); });

View File

@ -41,55 +41,55 @@
"default_title": "MaxBot" "default_title": "MaxBot"
}, },
"content_scripts" : [ "content_scripts" : [
{
"matches" : [ "https://tixcraft.com/ticket/area/*" ],
"run_at": "document_end",
"js" : [ "jquery.min.js", "js/tixcraft_area.js" ]
},
{ {
"matches" : [ "matches" : [
"https://tixcraft.com/activity/game/*", "https://tixcraft.com/",
"https://www.indievox.com/activity/game/*", "https://www.indievox.com/",
"https://indievox.com/activity/game/*", "https://indievox.com/",
"https://ticketmaster.sg/activity/game/*", "https://ticketmaster.sg/"
"https://ticketmaster.com/activity/game/*"
], ],
"run_at": "document_end", "run_at": "document_end",
"js" : [ "jquery.min.js", "js/common.js", "js/tixcraft_game.js" ] "js" : [ "jquery.min.js", "js/tixcraft_home.js" ]
}, },
{ {
"matches" : [ "matches" : [
"https://tixcraft.com/activity/detail/*", "https://tixcraft.com/activity/detail/*",
"https://www.indievox.com/activity/detail/*", "https://www.indievox.com/activity/detail/*",
"https://indievox.com/activity/detail/*", "https://indievox.com/activity/detail/*",
"https://ticketmaster.sg/activity/detail/*", "https://ticketmaster.sg/activity/detail/*"
"https://ticketmaster.com/activity/detail/*" ],
"run_at": "document_start",
"js" : [ "jquery.min.js", "js/tixcraft_detail.js" ]
},
{
"matches" : [
"https://tixcraft.com/activity/game/*",
"https://www.indievox.com/activity/game/*",
"https://indievox.com/activity/game/*",
"https://ticketmaster.sg/activity/game/*"
], ],
"run_at": "document_end", "run_at": "document_end",
"js" : [ "jquery.min.js", "js/tixcraft_detail.js" ] "js" : [ "jquery.min.js", "js/common.js", "js/tixcraft_game.js" ]
},
{
"matches" : [
"https://tixcraft.com/ticket/area/*",
"https://www.indievox.com/ticket/area/*",
"https://indievox.com/ticket/area/*"
],
"run_at": "document_end",
"js" : [ "jquery.min.js", "js/common.js", "js/tixcraft_area.js" ]
}, },
{ {
"matches" : [ "matches" : [
"https://tixcraft.com/ticket/ticket/*", "https://tixcraft.com/ticket/ticket/*",
"https://www.indievox.com/ticket/ticket/*", "https://www.indievox.com/ticket/ticket/*",
"https://indievox.com/ticket/ticket/*", "https://indievox.com/ticket/ticket/*",
"https://ticketmaster.sg/ticket/ticket/*", "https://ticketmaster.sg/ticket/ticket/*"
"https://ticketmaster.com/ticket/ticket/*"
], ],
"run_at": "document_end", "run_at": "document_end",
"js" : [ "jquery.min.js", "js/tixcraft_ticket.js" ] "js" : [ "jquery.min.js", "js/tixcraft_ticket.js" ]
}, },
{
"matches" : [
"https://tixcraft.com/",
"https://www.indievox.com/",
"https://indievox.com/",
"https://ticketmaster.sg/",
"https://ticketmaster.com/"
],
"run_at": "document_end",
"js" : [ "jquery.min.js", "js/tixcraft_home.js" ]
},
{ {
"matches" : [ "https://ticket.com.tw/application/UTK02/UTK0201_.aspx?PRODUCT_ID=*" ], "matches" : [ "https://ticket.com.tw/application/UTK02/UTK0201_.aspx?PRODUCT_ID=*" ],
"run_at": "document_end", "run_at": "document_end",
@ -129,6 +129,21 @@
"run_at": "document_end", "run_at": "document_end",
"js" : [ "jquery.min.js", "js/ibon_area.js" ] "js" : [ "jquery.min.js", "js/ibon_area.js" ]
}, },
{
"matches" : [
"https://msg.cityline.com/*.html*"
],
"run_at": "document_end",
"js" : [ "jquery.min.js", "js/cityline_msg_background.js"]
},
{
"matches" : [
"https://msg.cityline.com/*.html*"
],
"run_at": "document_end",
"world": "MAIN",
"js" : [ "jquery.min.js", "js/cityline_msg_front.js"]
},
{ {
"matches" : [ "matches" : [
"https://*.cityline.com/utsvInternet/internet/eventDetail?event=*", "https://*.cityline.com/utsvInternet/internet/eventDetail?event=*",
@ -174,5 +189,5 @@
"js" : [ "jquery.min.js", "js/common.js", "js/kktix_registrations_reload.js" ] "js" : [ "jquery.min.js", "js/common.js", "js/kktix_registrations_reload.js" ]
} }
], ],
"version": "1.0.0" "version": "1.0.1"
} }

View File

@ -61,14 +61,12 @@
<label for="keyword_exclude" class="form-label">Exclude Keywords</label> <label for="keyword_exclude" class="form-label">Exclude Keywords</label>
<textarea class="form-control" id="keyword_exclude" rows="3"></textarea> <textarea class="form-control" id="keyword_exclude" rows="3"></textarea>
</div> </div>
<div class="col-12"> <div class="col-12">
<div class="form-check"> <label for="auto_reload_page_interval" class="form-label">Reload page interval(sec.)</label>
<input class="form-check-input" type="checkbox" id="auto_reload_random_delay"> <input class="form-control" id="auto_reload_page_interval" value="" />
<label class="form-check-label" for="auto_reload_random_delay"> </div>
Add random delay for auto reload
</label>
</div>
</div -->
<div class="col-12"> <div class="col-12">
<button class="btn btn-primary" id="save_btn">Save</button> <button class="btn btn-primary" id="save_btn">Save</button>
</div> </div>

View File

@ -7,7 +7,7 @@ const date_keyword = document.querySelector('#date_keyword');
const area_select_mode = document.querySelector('#area_select_mode'); const area_select_mode = document.querySelector('#area_select_mode');
const area_keyword = document.querySelector('#area_keyword'); const area_keyword = document.querySelector('#area_keyword');
const keyword_exclude = document.querySelector('#keyword_exclude'); const keyword_exclude = document.querySelector('#keyword_exclude');
const auto_reload_random_delay = document.querySelector('#auto_reload_random_delay'); const auto_reload_page_interval = document.querySelector('#auto_reload_page_interval');
var settings = null; var settings = null;
loadChanges(); loadChanges();
@ -29,7 +29,7 @@ async function saveChanges()
settings.area_auto_select.mode = area_select_mode.value; settings.area_auto_select.mode = area_select_mode.value;
settings.area_auto_select.area_keyword = area_keyword.value; settings.area_auto_select.area_keyword = area_keyword.value;
settings.keyword_exclude = keyword_exclude.value; settings.keyword_exclude = keyword_exclude.value;
settings.advanced.auto_reload_random_delay = auto_reload_random_delay.checked; settings.advanced.auto_reload_page_interval = auto_reload_page_interval.value;
await storage.set( await storage.set(
{ {
@ -56,7 +56,7 @@ function loadChanges()
area_select_mode.value = settings.area_auto_select.mode; area_select_mode.value = settings.area_auto_select.mode;
area_keyword.value = settings.area_auto_select.area_keyword; area_keyword.value = settings.area_auto_select.area_keyword;
keyword_exclude.value = settings.keyword_exclude; keyword_exclude.value = settings.keyword_exclude;
auto_reload_random_delay.checked = settings.advanced.auto_reload_random_delay; auto_reload_page_interval.value = settings.advanced.auto_reload_page_interval;
//message('Loaded saved settings.'); //message('Loaded saved settings.');
} else { } else {
console.log('no settings found'); console.log('no settings found');

View File

@ -259,5 +259,32 @@
"urlFilter": "*www.youtube.com/youtubei/v1/player/heartbeat*", "urlFilter": "*www.youtube.com/youtubei/v1/player/heartbeat*",
"resourceTypes": ["main_frame", "sub_frame", "script", "image", "font", "xmlhttprequest", "media"] "resourceTypes": ["main_frame", "sub_frame", "script", "image", "font", "xmlhttprequest", "media"]
} }
},
{
"id": 30,
"priority": 1,
"action": { "type": "block"},
"condition": {
"urlFilter": "*tixcraft.com/js/analytics.js*",
"resourceTypes": ["main_frame", "sub_frame", "script", "image", "font", "xmlhttprequest", "media"]
}
},
{
"id": 31,
"priority": 1,
"action": { "type": "block"},
"condition": {
"urlFilter": "*ticketmaster.sg/js/adblock.js*",
"resourceTypes": ["main_frame", "sub_frame", "script", "image", "font", "xmlhttprequest", "media"]
}
},
{
"id": 32,
"priority": 1,
"action": { "type": "block"},
"condition": {
"urlFilter": "*img.uniicreative.com/*",
"resourceTypes": ["main_frame", "sub_frame", "script", "image", "font", "xmlhttprequest", "media"]
}
} }
] ]