Windows 8 Metro Apps使用Proxifier的方法

在校園裏,經常要使用代理上網的方式,Proxifier可以讓不支持通過代理服務器的軟件能通過HTTPS或SOCKS代理或代理鏈,俗稱“透明代理”,支持Xp,Vista,Windows 7操作系統。雖然Proxifier在Windows 8下可以正常安裝,但是使用卻不是十全十美的,所有桌面程序都可以正常通過Proxifier實現代理上網,但是在Metro界面下,所有Metro應用卻完全不經過Proxifier的透明代理,並且導致所有Metro無法連接互聯網(即使不打開Proxifier)。難道是不兼容?顯然不是,畢竟桌面程序沒問題。

經過上網搜索發現,找到了一篇博文"How to use Proxifier for Windows 8 MetroStyle apps"講解了如何讓Metro應用可以使用Proxifier,同時也引用了一篇MSDN上的博文Revisiting Fiddler and Windows 8 Metro-style applications",提到了爲什麼Metro Apps運行的特殊性,摘錄重點部分如下:

Metro-style applications run inside isolated processes known as “AppContainers,” and by default, AppContainers are forbidden from sending network traffic to the local computer (loopback)

由此可知,Metro Apps是運行在被隔離的AppContainers環境中,該環境阻止了網絡流量發送到本機,即Loopback。從而,像Fiddler這樣著名的抓包工具也沒法抓取Metro Apps的HTTP請求等記錄。

爲了讓Fiddler能夠抓包(在開發時方便調試Metro程序),MSDN那篇博文上給出了新版本的Fiddler,裏面包含了一個EnableLoopback Utility的工具,可以Exempt(豁免)部分或全部Metro應用,從而讓Metro應用能夠Loopback,當然也就能使用Proxifier了。OK,下面給出具體的方法。

1、從這裏這裏下載最新版的Fiddler並安裝

2、打開Fiddler,點擊"Win8 Config"或者Tools->Win8 Loopback Exemptions,這時會彈出一個新窗口"AppContainer Loopback Exemption Utility",如果你要將所有Metro Apps都使用Proxifier,點擊"Exempt All",然後點擊"Save Changes"

3、運行Proxifier,並設置規則讓Fiddler進程通過透明代理

這樣,所有Metro Apps的HTTP請求都經過Fiddler並且使用Proxifier的透明代理了

下圖就是運行商店應用(Store)後Fiddler裏HTTP請求的記錄,是不是很爽?該方法唯一的麻煩之處是需要一直運行Fiddler,當然你可以將Fiddler設爲開機啓動,或者Ctrl+M將其最小化到system tray

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章