$$R add rule and Proxy for UWP app
$$(R)
中添加规则和UWP应用走代理
最近在使用$$R
的过程中经常会遇到一个问题:有一些网站并不在GFWList
中,所以打开这类网站需要手动调整为全局模式,偶尔使用一两次的话问题不大,但当需要频繁打开这类网站时,每次手动调全局就显得有些繁琐。
简单的说就像Wikipedia
有时候会出现无法加载图片和公式;微软家的很多网站或者说应用(Onenote
)经常会受到干扰导致打不开或者很慢;Onenote
、Onedrive
的同步也会频繁掉线,全局的时候上述情况会有很大改善。
所以就去了解了下如何向$$R
中添加规则来避免每次都手动切换的烦恼,把方法记录在这篇文章中。
说明一下,考虑到选择编辑
user-rule.txt
而不是pac.txt
是因为pac.txt
文件比较复杂。
打开user-rule.txt
文件进行编辑
这里我主要是为了能够让UWP
版的OneNote
顺利同步以及微软一些网页能够顺利打开看,所以添加了下面的规则。(规则的意思是,以这些域名结尾的所有地址全走代理)
! Put user rules line by line in this file.
! See https://adblockplus.org/en/filter-cheatsheet
||live.com^
||live.net^
||office.com^
||onenote.com^
||microsoft.com^
保存user-rule.txt
文件后,要选择更新PAC
为GFWList
。
当电脑提示更新pac
成功后,可以看到打开网页已经走了代理。
但这个时候UWP
版的OneNote
仍然会出现无法连接,查阅相关资料发现,UWP应用运行在App Container
的虚拟沙箱环境中,这在保证安全性的同时也阻止了UWP
应用访问Localhost
。
这里需要一款WindowsLoopbackManager.exe
的软件。
打开软件选择需要代理的应用勾选后保存即可。
这时候回到OneNote
就会发现能够顺利同步了。
总结
总的来说,这次折腾还算比较成功。当然这也是最简单偷懒的方法。
附上网上找的user-rule.txt
的完整语法,大家可以参考。
=== 通配符支持 => *
*.example.com/ 代表 http://example.com http://233.example.com https://233.example.com https://666.example.com/233.mp4 全部走代理。
同时"*"可省略,.example.com/ 与 *.example.com/ 效果是一样的
=== 正则表达式支持
以 \ 开始和结束,\[\w]+:\/\/example.com\
=== 例外规则 => @@
@@*.example.com/ 表示"@@"后面的网址规则(*.example.com)不走代理
如:@@www.baidu.com 表示 www.baidu.com 不走代理
=== 匹配地址开始和结尾规则 => |
|http://example.com、example.com| 分别表示 以http://example.com开始 和 以example.com结束 的地址
如:|http://233.com ,代表 http://233.com 开头的网址才会走代理,即 https://233.com http://1.233.com 都不会走代理
如:233.com|,代表 233.com 结尾的网站才会走代理,即 http://233.com https://233.com http://1.233.com 都会走带了,而 http://233.com/index.html 不会走代理。
=== 全匹配规则 => ||
||example.com 则代表 http://example.com、https://example.com、ftp://example.com 等协议的地址全部走代理
如:||233.com ,即 http://233.com、https://233.com、ftp://233.com 等地址全都走代理
=== 注释规则 => !
!我是注释233
!我也是注释666