雖然作者被抓了, 不過 pandownload 一直都還能正常使用, 直到 5/29 下午, 登入都會出現 bdstoken 的錯誤 (百度應該改了登入時傳輸的資料吧), 不過只要之前登入的沒登出, 還是能正常使用.
這兩天有人寫了一個 proxy 程式, 可以解決 bdstoken 的問題
https://github.com/TkzcM/pandownload-login
不過那個 proxy 應該沒寫好, 效能很差, 而且下載不一定能用.
好在 http proxy 這協定每筆交易都是獨立的, 所以我們只要在登入後, 把 proxy 換到正常的 proxy server (例如 squid) 就可以用了.
我的作法是, 有一台 squid proxy 在 192.168.0.1:8080
在 pandownload 登入之後, 結束 pdproxy.exe 這個 proxy.
然後執行
netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=8888 connectaddress=192.168.0.1 connectport=8080
把原本 pdproxy 用的 127.0.0.1:8888 轉送到 squid proxy 去. 這樣後續就能正常使用了.
如果要結束這個 tcp tunnel, 就執行
netsh interface portproxy delete v4tov4 listenaddress=127.0.0.1 listenport=8888
另外, 並行任務建議設為 1, 最大連接不要超過 8. 下載時一個一個檔案下, 不要連續一直下, 應該就不太會把百度擋掉了.