[ Tor ] 多開 Tor client
之前 " 使用 Tor更新 IP位置 " 文中提到 Python要透過 Tor爬蟲前,須透過 Tor提供的 Socket port來連接 Tor。 最近因為朋友有需求,稍微花了一點時間研究了一下如何多開 Tor client和獨立更新 IP位置。 當要使用大量 IP同時訪問同一個網站,就有必要讓 Tor提供兩個以上的 Socket port來提供不同的 IP位置。 首先,我在桌面上建立了一個 tor_confs資料夾,內容大概是長下面這樣。 . tor_confs ├── torrc1.in └── torrc2.in 要多開 Tor需要為各個 Socket port建立各自的 conf檔。 # torrc1.in SocksPort 9050 ControlPort 9051 DataDirectory /Users/XXXXXXXX/Desktop/tor_confs/tor1 ExitNodes {tw},{jp},{kr},{hk},{sg} # torrc2.in SocksPort 9060 ControlPort 9061 DataDirectory /Users/XXXXXXXX/Desktop/tor_confs/tor2 ExitNodes {tw},{jp},{kr},{hk},{sg} DataDirectory需設定絕對路徑,設定相對路徑在更新 IP時會報錯。 ExitNodes則可有可無,因為個人需求需限制 Exit node的國家。各國的代碼可以點擊 這裡 查詢。 完成後只需要在 tor_confs資料夾內使用 terminal執行 $ tor -f torrc1.in & tor -f torrc2.in 兩個 Socket port會各自連上不同的 IP位置,這樣就算完成了。 執行後 Tor就會自動在 DataDirectory設定的路徑建立所需的檔案,資料夾結構如下。 . tor_confs ├── tor1 │ ├── cached-certs │ ├── cached-microdesc-consensus │ ├── cached-microdescs.new │ ├── lock │ └── state ├── tor2 │ ├── ca