Windows下使用Privoxy將socks轉為HTTP代理SDK manager

最近拾起了安卓開發,雖然之前開發過幾個app,但也沒有深入了解,在寫過更多的代碼之後,決定重構一下之前的項目並重新開始安卓學習之路,因此,把實驗室的電腦又裝上了Android Studio。

面臨的第一個問題就是——沒有Android SDK,而且,配置的Shadowsocks代理並不起作用,導致我總是下不了Android SDK。最終得知,我得給SDK配置一個HTTP代理才行。所以問題轉化成,如何將Shadowsocks的socks5代理轉成HTTP代理。對此我選擇了Privoxy作為一個本地運行的HTTP代理伺服器,讓它向Shadowsocks發送網路請求,再將SDK的代理配置為Privoxy即可。

本機環境

Windows 10 x64 + Shadowsocks Windows客戶端(C#)

為什麼選擇Privoxy

其實有一個很強大的代理軟體,甚至可以代理那些不支持代理的程序,就是Proxifier。之所以不用它,一是它收費,二是感覺用它陣仗有點大,沒必要。既然我只是需要一個HTTP代理,那麼強大的開源的Privoxy已經足夠。

Privoxy的配置

  1. 下載安裝Privoxy。
  2. 打開Privoxy安裝目錄下的主配置文件config.txt。這裡我們需要了解並配置的只有兩個欄位:
  • 代理的IP地址與監聽埠listen-address,因為是在本機運行代理,IP必然是127.0.0.1,這個欄位我們保持默認值即可,無須改動,默認值為127.0.0.1:8118。文件內搜索欄位名可以查看。
  • 轉發請求的代理IP地址與監聽埠forward-socks5t,也即本機上運行的Shadowsocks的IP與監聽埠,由於Shadowsocks使用socks5協議因此我們選擇配置該欄位。該欄位沒有默認配置,我們需要在文件中添加一行,在文件內搜索欄位名可以看到注釋中給出的示例。對於Shadowsocks,一般監聽埠為1080,也就是我們需要在文件中添加一行forward-socks5t / 127.0.0.1:1080 .
  1. 運行安裝並配置完成的Privoxy,至此我們的機器上已經運行著一個可以進行HTTP代理的代理服務。

Android Studio的配置

  1. 打開Android Studio,進入Settings -> System settings -> Android SDK,會發現根本獲取不到Android SDK的列表,接下來配置代理解決這個問題。
  2. 在Android Studio中進入Settings -> System settings -> HTTP Proxy,依次點擊選擇Manual proxy configurationHTTP,然後在Host name中填寫127.0.0.1,在Port number中填寫8118。至於下面的No proxy for這個欄位,個人只填寫了localhost,127.*,可以適當添加不需要代理的IP和域名。點擊OK保存更改。
  3. 再次進入Settings -> System settings -> Android SDK,這個世界正常運行了起來。

推薦閱讀:

TAG:網路代理 | Android開發 |