ITP Ticket Helper v1.1 更新:排隊監控、座位顏色篩選、統一運行控制
ITP Ticket Helper v1.1 來了。
v1.0 的核心目標是「能搶到票」,這個版本則更聚焦在 讓搶票過程更可控、更省心——排隊不用一直盯頁面、選座能按票價等級篩選、不同頁面不再各管各的開關,這些都是真實蹲票場景裡反覆被提起的需求。
以下是 v1.1 的主要更新。
一、排隊監控:不用再盯著排隊數字乾等
每次遇到熱門演出,Interpark 的 waiting page(排隊等待頁)往往要等很久。之前你只能一直盯著螢幕看排隊號碼有沒有掉下來,或者碰運氣切回來才發現已經過號了。
v1.1 在等待頁面加入了一個 排隊位置自動監控器:擴充功能會在排隊頁面自動偵測你當前的排隊名次,當你排到設定的門檻範圍內時(比如低於 1000 號、低於 100 號、低於 10 號),就會透過已設定的 Webhook 渠道發送通知,同時播放一段獨特的提示音。
怎麼用:
- 在排隊頁面,右下角紫色按鈕裡會看到「排隊監控」開關
- 預設門檻是
10,100,1000——排到這三個門檻時各通知一次 - 你也可以改成自己關心的數值,比如
50,500 - 保持瀏覽器聲音不要關靜音,快到號的時候手機會收到推播
建議先把 Webhook 通知測通——快到號的時候你大概正在看手機而不是盯著電腦。
二、統一運行控制:所有頁面一個開關
之前不同頁面類型(選座頁、場次頁、排隊頁、預約頁)各有各的啟動方式,操作上不夠一致。
v1.1 把所有頁面的啟動/停止邏輯統一到一個 運行開關(右下角的三角形 ▶ 按鈕):
- 無論你在選座頁、排隊頁、預約頁還是場次頁,同一個按鈕控制啟動和停止
- 運行狀態會跨頁面記住——從選座頁導航到場次頁,開關狀態不會遺失
- 頁面載入時會自動恢復之前的運行狀態
實際感受就是:在一個頁面打開運行,擴充功能保持工作狀態,你在不同頁面之間切換也不用手動重新啟動。讓它跑在背景就行。
三、座位顏色篩選:只鎖你能接受的票價
Interpark 新版選座頁的區塊模式(覆蓋層 SVG)中,不同票價等級用不同顏色標示。過去擴充功能只能掃所有可用的區域,現在可以按顏色/票價等級過濾。
在設定面板裡,你會看到從頁面上自動偵測到的所有票價等級,每一項都附有顏色標記和價格:
- 勾選你想買的票價等級(比如只選紫色 VIP 區、橙色 S 區)
- 擴充功能會在選座時只掃描和點擊被勾選的顏色區域,跳過其他票價
- 搭配 最大前排限制,可以限定只鎖特定價位的前幾排,避免誤鎖到 VIP 第一排
這個功能同時支援新版(React SPA)和舊版(iframe BookMain)的選座頁面。
四、新版 SVG 區塊選座大幅增強
如果買的是熱門演出,經常會遇到只能選「區塊」而不是具體座位的模式(Interpark 的覆蓋層 SVG 模式)。v1.1 對這套機制做了一次大重構:
- 精準內部點擊:不再只點區塊的中心點,而是透過離屏渲染 SVG 測量每個形狀的實際填充區域,保證每次都點到可點擊的區域內部
- 顏色組管理:同一演出可能有幾十個區塊,按顏色分組後逐個掃描,減少漏掉的情況
- 智慧縮放與定位:自動定位到當前掃描的區塊群,避免鏡頭落在無意義的空白區域
- CDP 可信點擊:使用 Chrome DevTools Protocol 模擬真實點擊,繞過新版 Interpark 的自動化偵測
另外,scanner 迴圈加入了單次掃描上限(等於你勾選的區域數),防止整場售罄時單色組陷入無窮迴圈。
五、輔助付款點擊
過去鎖座後擴充功能會自動推進到付款頁,但付款頁的「確認付款」按鈕需要你手動按。
v1.1 加入了一個 「輔助付款點擊」 選項(預設開啟):擴充功能會嘗試自動點擊付款按鈕,幫你跳過最後一步。如果關閉此選項,則會自動填好手機號和同意條款,付款按鈕留給你手動點擊。
設定面板裡可以隨時開關。
六、ILIC3- 短碼授權
這次還新增了一種更簡潔的授權碼格式——ILIC3- 前綴的短碼,相比原本的 ILIC2- 格式更短,抄寫和輸入都更方便。
兩種格式都能用,你拿到什麼碼就輸入什麼碼,擴充功能會自動辨識:
ILIC2-xxxxxxxxxxxxxx→ 原來的 JSON 編碼格式ILIC3-xxxxxxxxxx→ 新的二進位壓縮格式,長度縮短約 40%
七、其他改善
- 預約頁面(gate page):不再依賴固定的 60 秒倒數,改用 MutationObserver 即時偵測預約按鈕是否出現,按鈕一出現馬上取消倒數,反應更快
- 舊版選座增強:舊版 BookMain 流程也支援了票價等級過濾和最大前排限制,同時最佳化了區域點擊的比對邏輯——先找嵌入 blockId 的座位標記,找不到再走 DOM 替換偵測,選座更準確
- 建置安全:開發環境用的免費授權繞過程式碼現在在打包時會自動被替換掉(
ITP_DEV_BYPASS = false),搭配 minifier 死程式碼消除,確保發佈版本裡不留除錯入口