- 使用機器人搶票有被官方鎖帳號的風險,請評估後再進行使用,後果請自行承擔。
- 以下文章出現的「搶票」指的是「非台灣的藝文活動或車票」。
文章索引
軟體特色
- 急速搶票
優化購票流程。 - 自動填寫
搶票不再手忙腳亂心慌慌。 - 合法購票
本系統僅代為填寫購票資訊,無任何入侵、取得、刪除或變更售票系統其電磁紀錄。 - 多系統支援
支援 Windows 和(Mac、Linux 請直接執行原始碼) - 無時間或次數限制
如果官方網站沒有改版,可以在多台電腦且無使用時間或次數限制。 - 無病毒/惡意/間碟程式
開放主程式的原始碼,雖然原始碼的檔案可以執行,但需要在相依元件都安裝的環境下,建議下載執行檔,會簡單很多。
檔案下載
2種執行ddddext 的方式:
- 程式碼
- 執行檔
目前只有 Windows 平台才有提供執行檔。
Windows 的執行檔下載:
https://github.com/max32002/ddddext/releases
原始碼下載:
https://github.com/max32002/ddddext
主要功能
- 1:OCR驗證碼欄位,並輸入到指定輸入框。
- 2:填入內容到指定欄位內。
- 3:自動打勾。
- 4:注入 Javascript 到指定網頁。
- 5:設定 cookie 內容。
- 6:匯入其他創作者的設定檔。
- 7:啟動被隔離的瀏覽器。
示範影片
網頁驗證碼自動輸入使用教學
https://youtu.be/wZy4BQ-z-S4
附註:影片是舊的版本執行畫面,新的設定介面與設定的規則有微調。
自動打勾+輸入欄位內容
https://youtu.be/98YikOWDLjo
附註:影片是舊的版本執行畫面,新的設定介面與設定的規則有微調。
在特定欄位自動打勾/移除勾勾
https://youtu.be/q17yvLtRato
附註:影片是舊的版本執行畫面,新的設定介面與設定的規則有微調。
用 ChatGPT 寫 jQuery 腳本
https://youtu.be/IRcC7cHs__I
這部影片的聽眾是給不會寫 jQuery 的人, 已經會jQuery 請直接略過.
透過原始碼的執行方法
透過原始碼執行 DDDDEXT 有2種執行方式:
- Load unpacked extension (只可以使用部份功能)
- 執行 start 主程式 (可以使用完整功能)
Load unpacked extension
DDDDEXT 可以不安裝就在各個平台的 chrome 瀏覽器上執行,使用方式先從 gibhub 是先下載原始檔的zip 檔, 並解壓縮, 在 chrome 瀏覽器的網址輸入 chrome://extensions, 右邊啟用 Developer mode,就可以 Load unpacked extension. 擴充功能的目錄在 /ddddext/webdriver/ 目錄下.
說明:沒有透過 start.py (或 start.exe) 並按下「搶票」,而是透過「Load unpacked extension」只執行 chrome extension(擴充功能)的方式,需要指定「OCR Server URL」為網路上的其他伺服器,才有辦法進行 OCR。建議透過 start.py (或 start.exe) 並按下「搶票」來執行 ddddext.
透過 start.py (或 start.exe) 並按下「搶票」開出來的瀏覽,請不要去修改「OCR Server URL」的內容值,使用預設的 「http://127.0.0.1:16888/
」 即可。
執行 start 主程式
透過原始碼執行ddddext教學影片: https://youtu.be/HpVG91j0lbI
使用原始碼的解法,第一步是先取得原始碼後,開啟 Terminal 視窗來下指令,應該是4行指令就可以了。
請參看看文章: 如何用虛擬主機搶拓元的門票,這篇文章是以虛擬主機來示範,在 Windows / macOS / Linux 平台裡的 python 操作方式幾乎相同。
詳細的文字說明: https://max-everyday.com/2023/11/buy-ticket-by-vm/
Step 1: 取得source code:
git clone https://github.com/max32002/ddddext.git
Step 2: 進入 clone 的資料夾: ddddext:
cd ddddext
Step 3: 安裝第三方套件:
python3 -m pip install -r requirement.txt
說明:Windows 作業系統要用 python 指令,不是 python3, macOS / Linux 作業系統由於可能有多個 python 版本的環境,所以才是使用 python3 指令。
Step 4: 執行設定介面主桯式:
python3 start.py
不管是 macOS 還是 Windows 預設都是沒有 git 這個指令,如果 Step 1 執行後, 沒有檔案被下載, 請先安裝 git 到你的作業系統。或是使用github 網頁裡的 Download 功能把python 腳本下載。
如果你選擇下載 github 上的 zip 檔, 在 Step 2 進入目錄的指令可能會遇到問題, 因為「直接解壓縮」後的目錄名稱並不是 ddddext 而是 ddddext-main, 你在進入的資料夾名稱, 需要調整為你實際解壓縮後的目錄名稱。
透過瀏覽器下載 github 上的 zip 檔, 在 Windows / macOS / Linux 平台, 預設的路徑在「下載」(~/Download) 的資料夾, 你在執行的 Terminal 視窗的路徑, 與你解壓縮的路徑可能不同, 直接執行上面的指令, 會無法進入到預期的資料夾內。
執行程碼 Q&A
- Q: 取得source code後跑出來fatal: destination path ‘ddddext’ already exists and is not an empty directory.想問是什麼意思?
A: 執行 git clone 2次, 重覆取得 source code, 才會有這個問題, 如果 ddddext 目錄已經存在, 直接 cd ddddext 就可以了。 如果你想把已下載的刪除, 可以直把把 ddddext 目錄刪掉即可。 如果你想更新 source code, 可以重新下載, 或是先 cd ddddext 目錄後, 再執行 git pull , 可以更新 source code 為新的版本。 - Q: 取得source code後跑出來錯誤訊息:no module named requests
A: 請先確定你的python 執行環境下已安裝 nodriver 及相關的套件,請參考 requirement.txt 檔案內容。 - Q: 使用最新版 websockets 會造成 nodriver 打不開的情況
A: 我個人使用的 Windows 11 與 macOS 都沒遇到這個問題,請在手動移除 websockets,再指定修改 requirement.txt 將websockets
修改為websockets==13.1
,指定版本 13.1 即可以解決此問題。
其他備註
- Windows 平台:建議下載打包好的 binary 檔
- macOS 平台,遇到問題,建議安裝 Rosetta 2:
https://max-everyday.com/2023/11/maxbot-troubleshooting/#macos-bad-cpu-type - 如果挑戰執行原始碼,Python 版本的選擇,建議使用 3.10.11 版。因為太新或太舊都可能有問題。
- 由於 nodriver 必須使用 Python 3.9, 所以不支援 Win7 的作業系統版本。
檔案說明
- nodriver_ddddext.py : 使用的元件是nodriver,用來把擴充功能放進瀏覽器。
- start.py : 編輯 settings.json 的 GUI 介面。提供圖片OCR功能給chrome擴充功能。
常見問答
Q:無法在 Safari 瀏覽器運行
A:由於完整功能是透過 nodriver 在實作,所以只支援 chrome 瀏覽器。
nodirver 傳送門:https://github.com/ultrafunkamsterdam/nodriver
其他常見的搶票時常遇到的問題:https://max-everyday.com/2023/02/common-problem-when-you-buy-ticket