Windows 10 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"

Windows 10 Metro Apps使用Proxifier的方法_第1张图片

3、运行Proxifier,并设置规则让Fiddler进程通过透明代理

这样,所有Metro Apps的HTTP请求都经过Fiddler并且使用Proxifier的透明代理了

下图就是运行商店应用(Store)后Fiddler里HTTP请求的记录,是不是很爽?该方法唯一的麻烦之处是需要一直运行Fiddler,当然你可以将Fiddler设为开机启动,或者Ctrl+M将其最小化到system tray

Windows 10 Metro Apps使用Proxifier的方法_第2张图片

你可能感兴趣的:(metro,apps,win10,fiddle,Proxifier)