{"id":21954441,"url":"https://github.com/max32002/ddddext","last_synced_at":"2025-04-23T10:18:24.543Z","repository":{"id":262031154,"uuid":"885178092","full_name":"max32002/ddddext","owner":"max32002","description":"DDDDEXT 網頁驗證碼自動輸入","archived":false,"fork":false,"pushed_at":"2025-01-18T05:20:04.000Z","size":1119,"stargazers_count":28,"open_issues_count":1,"forks_count":9,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-23T10:18:18.233Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://ddddext.max-everyday.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/max32002.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-08T05:19:50.000Z","updated_at":"2025-04-21T16:09:44.000Z","dependencies_parsed_at":"2025-01-18T06:19:27.824Z","dependency_job_id":"e8d84f20-da31-486e-bb62-3be1c875543d","html_url":"https://github.com/max32002/ddddext","commit_stats":null,"previous_names":["max32002/ddddext"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/max32002%2Fddddext","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/max32002%2Fddddext/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/max32002%2Fddddext/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/max32002%2Fddddext/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/max32002","download_url":"https://codeload.github.com/max32002/ddddext/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250412573,"owners_count":21426286,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-29T07:18:44.958Z","updated_at":"2025-04-23T10:18:24.473Z","avatar_url":"https://github.com/max32002.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DDDDEXT 網頁驗證碼自動輸入機器人\n\n爬山想搶山屋/搶信用卡活動的登錄/掛號…都需要輸入驗證碼，透過 ddddocr 可以自動識別並輸入文字驗證碼。\n\n搶票機制，是在比誰更快送出訂單，機器人一定比人工點擊或輸入快，一般民眾在資訊技術的落差下，是被欺凌的弱勢族群，相信分享ddddext原始碼有助於改變搶票機制，是對公眾有利益的一件事。\n\n售票系統的「驗證碼」機制會讓一般不會寫程式的民眾更難公平地購買到預期的門票，因為機器人可以自動填入驗證碼內容。\n\n台灣藝文活動的文創法第十條中的「不正方式」由於沒有明確定義，代表的是所有軟體都涉嫌違反。故在此呼籲大家，勿以身試法。\n\n在整個網站裡出現的「搶票」指的是「非台灣的藝文活動或車票」。\n\n作者沒有意圖要他人購得的票券進行加價轉售或是使用在違法的事情上，他人的行為並不在作者的意識支配範圍之內，作者不對他人的非法行為負責。\n\n搶票程式在其他民主國家有什麼樣的標準？搶票程式只有在台灣會被處罰嗎？\n\n# Download \n(程式下載)\n\nhttps://github.com/max32002/ddddext/releases\n\n下載說明:\n* 目前有打包的「執行檔」，只有Windows 平台，其他作業系統需要使用原始碼來執行。當然Windows 平台也可以用原始碼執行 DDDDEXT.\n* 如果你是要用「原始碼」執行 DDDDEXT, 在透過git clone 或在github按下載原始碼的 zip檔。\n\n# Demo \n(示範影片)\n\n* 網頁驗證碼自動輸入使用教學 https://youtu.be/wZy4BQ-z-S4\n* 自動打勾+輸入欄位內容 https://youtu.be/98YikOWDLjo\n* 在特定欄位自動打勾/移除勾勾 https://youtu.be/q17yvLtRato\n* 用 ChatGPT 寫 jQuery 腳本 https://youtu.be/IRcC7cHs__I\n\n\n# Feature\n(主要功能)\n\n* OCR驗證碼欄位，並輸入到指定輸入框。\n* 填入內容到指定欄位內。\n* 自動打勾。\n* 注入 Javascript 到指定網頁。\n* 設定 cookie 內容。\n* 匯入其他創作者的設定檔。\n* 啟動被隔離的瀏覽器。\n\n\n# How to Use \n(使用教學)\n\n* https://ddddext.max-everyday.com/usage/\n\n# How to Execute Source Code \n(透過原始碼的執行方法)\n\n透過原始碼執行 DDDDEXT 有2種執行方式：\n1. Load unpacked extension (只可以使用部份功能)\n2. 下指令執行主程式 (可以使用完整功能)\n\n## Load unpacked extension\n\nDDDDEXT 可以不安裝就在各個平台的 chrome 瀏覽器上執行，使用方式先從 gibhub 是先下載原始檔的zip 檔, 並解壓縮, 在 chrome 瀏覽器的網址輸入 chrome://extensions, 右邊啟用 Developer mode，就可以 Load unpacked extension. 擴充功能的目錄在 /ddddext/webdriver/ 目錄下.\n\n說明：沒有透過 start.py (或 start.exe) 並按下「搶票」，而是透過「Load unpacked extension」只執行 chrome extension（擴充功能）的方式，需要指定「OCR Server URL」為網路上的其他伺服器，才有辦法進行 OCR。建議透過 start.py (或 start.exe) 並按下「搶票」來執行 ddddext.\n\n透過 start.py (或 start.exe) 並按下「搶票」開出來的瀏覽，請不要去修改「OCR Server URL」的內容值，使用預設的 「http://127.0.0.1:16888/」 即可。\n\n## 執行 start 主程式\n透過原始碼執行ddddext教學影片：\nhttps://youtu.be/HpVG91j0lbI\n\n使用原始碼的解法，第一步是先取得原始碼後，開啟 Terminal(終端機) 視窗來下指令，應該是4行指令就可以了。\n\n### Step 1: 取得source code:\n\n\u003ccode\u003egit clone https://github.com/max32002/ddddext.git\u003c/code\u003e\n\n### Step 2: 進入 clone 的資料夾: ddddext:\n\n\u003ccode\u003ecd ddddext \u003c/code\u003e\n\n### Step 3: 安裝第三方套件:\n\n\u003ccode\u003epython3 -m pip install -r requirement.txt\u003c/code\u003e\n\n說明：Windows 作業系統要用 python 指令，不是 python3, macOS / Linux 作業系統由於可能有多個 python 版本的環境，所以才是使用 python3 指令。\n\n### Step 4: 執行設定介面主桯式:\n\n\u003ccode\u003epython3 start.py\u003c/code\u003e\n\n不管是 macOS 還是 Windows 預設都是沒有 git 這個指令，如果 Step 1 執行後,  沒有檔案被下載, 請先安裝 git 到你的作業系統。或是使用github 網頁裡的 Download 功能把python 腳本下載。\n\n如果你選擇下載 github 上的 zip 檔, 在 Step 2 進入目錄的指令可能會遇到問題, 因為「直接解壓縮」後的目錄名稱並不是 ddddext 而是 ddddext-main, 你在進入的資料夾名稱, 需要調整為你實際解壓縮後的目錄名稱。\n\n透過瀏覽器下載 github 上的 zip 檔, 在 Windows / macOS / Linux 平台, 預設的路徑在「下載」(~/Download) 的資料夾, 你在執行的 Terminal 視窗的路徑, 與你解壓縮的路徑可能不同, 直接執行上面的指令, 會無法進入到預期的資料夾內。\n\n### Q: 取得source code後跑出來fatal: destination path 'ddddext' already exists and is not an empty directory.想問是什麼意思?\n\nA: 執行 git clone 2次, 重覆取得 source code, 才會有這個問題, 如果 ddddext 目錄已經存在, 直接 cd ddddext 就可以了。\n如果你想把已下載的刪除, 可以直把把 ddddext 目錄刪掉即可。\n如果你想更新 source code, 可以重新下載, 或是先 cd ddddext 目錄後, 再執行 git pull , 可以更新 source code 為新的版本。\n\n### Q: 取得source code後跑出來錯誤訊息：no module named requests\n\nA: 請先確定你的python 執行環境下已安裝 nodriver 及相關的套件，請參考 requirement.txt 檔案內容。\n\n### Q: 最新版 websockets 會造成 nodriver 打不開的情況\n\nA: 我個人使用的 Windows 11 與 macOS 都沒遇到這個問題，請在手動移除 websockets，再指定修改 requirement.txt 將 \u003ccode\u003ewebsockets\u003c/code\u003e 修改為 \u003ccode\u003ewebsockets==13.1\u003c/code\u003e ，指定版本 13.1 即可以解決此問題。\n\n\n# File Description\n(檔案說明)\n* nodriver_ddddext.py : 使用的元件是nodriver，用來把擴充功能放進瀏覽器。\n* start.py : 編輯 settings.json 的 GUI 介面。提供圖片OCR功能給chrome擴充功能。\n\n# Questions and Answers\n### Q：無法在 Safari 瀏覽器運行\nA：由於完整功能是透過 nodriver 在實作，所以只支援 chrome 瀏覽器。\n\nnodirver 傳送門：https://github.com/ultrafunkamsterdam/nodriver\n\n\n# Extension Privacy \n\n(DDDDEXT Plus擴充功能隱私權政策)\n\n## 產品如何收集、使用及分享使用者資料\n\n* 擴充取得會取得特定網頁內容, 並且自動輸入內容。\n\n## 使用者資料的所有分享對象。\n\n* 擴充功能沒有分享使用者資料。\n\n## 擴充功能主要功能：\n\n* 特定網頁驗證碼自動輸入功能, 需要同時開啟 DDDDEXT 主程式。\n* 特定網頁自動填入內容值。\n* 特定網頁內容打勾/取消打勾。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmax32002%2Fddddext","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmax32002%2Fddddext","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmax32002%2Fddddext/lists"}