$$R add rule and Proxy for UWP app

$$(R) 中添加规则和UWP应用走代理

 最近在使用$$R的过程中经常会遇到一个问题:有一些网站并不在GFWList中,所以打开这类网站需要手动调整为全局模式,偶尔使用一两次的话问题不大,但当需要频繁打开这类网站时,每次手动调全局就显得有些繁琐。

 简单的说就像Wikipedia有时候会出现无法加载图片和公式;微软家的很多网站或者说应用(Onenote)经常会受到干扰导致打不开或者很慢;OnenoteOnedrive的同步也会频繁掉线,全局的时候上述情况会有很大改善。

 所以就去了解了下如何向$$R中添加规则来避免每次都手动切换的烦恼,把方法记录在这篇文章中。

说明一下,考虑到选择编辑user-rule.txt而不是pac.txt是因为pac.txt文件比较复杂。

 打开user-rule.txt文件进行编辑

user-rule

user-rule2

 这里我主要是为了能够让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文件后,要选择更新PACGFWList

update

 当电脑提示更新pac成功后,可以看到打开网页已经走了代理。

 但这个时候UWP版的OneNote仍然会出现无法连接,查阅相关资料发现,UWP应用运行在App Container的虚拟沙箱环境中,这在保证安全性的同时也阻止了UWP应用访问Localhost

 这里需要一款WindowsLoopbackManager.exe的软件。 打开软件选择需要代理的应用勾选后保存即可。

loopback

 这时候回到OneNote就会发现能够顺利同步了。

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

2020-02-05 08:00 +0800