如图,调用 webview 显示 YouTube ,显示违规网站。 
与普通华为手机系统自带浏览器的网站屏蔽一致。这基于联网检测的,意味着,你每一个访问的网址 URL ,都会被上传给华为。同时,这会影响到第三方软件,比如三方浏览器,如果它使用的是系统自带的 webview ,而不是自己的浏览器内核,就会中招。经测试,使用的 API 也是与系统自带浏览器一致(https://browsercfg-drcn.cloud.dbankcloud.cn/security/v1/securityurls),软路由屏蔽之后可以访问目标网站。但请不要为此感到高兴,因为他已经对 webview 干了不该干的事情。没了屏蔽规则你还能舒服的用吗?
测试过程
这个熟悉的警告信息,应该是与系统自带浏览器的是一个东西。华为浏览器,任何手机都可以安装,搜索 apk 下载。分析其网络请求,可见上传网站 URL 的 api 。
请求体预览(隐私信息已用……代替)
{ "client": { "device": { "agVersionCode": "0", "androidApiLevel": 31, "appID": "com.huawei.browser", "appList": [{ "pkgName": "com.tencent.mm", "sign": "……", "systemFlag": 0, "versionCode": "……", "versionName": "……" }], "appType": 1, "browserVersion": "15.0.4.312", "deviceBrand": "Redmi", "deviceManufacturer": "Xiaomi", "deviceType": 1, "emuiApiLevel": 0, "emuiVersion": "0", "extChannel": "", "gmsVersion": "24.26.32", "harmonyApiLevel": 0, "hmsVersion": "", "infoflowLang": "", "lang": "zh_CN", "model": "……", "network": "wifi", "osVersion": "12", "platform": 1, "productChannelId": "……", "romVersion": "……", "screenHeight": 2400, "screenWidth": 1080, "sdkVersion": "……", "serviceMode": 1, "udidType": 0 }, "reqID": "……", "timestamp": ……, "user": { "accountBrandId": "99", "ageRange": "-1" } }, "interceptPolicyMode": 1, "urls": ["https://www.youtube.com/"] } 有意思,还有应用列表上传,但只上传了个微信。
使用 clash 添加屏蔽规则
- 'DOMAIN-SUFFIX,browsercfg-drcn.cloud.dbankcloud.cn,REJECT'
回到华为的模拟器,YouTube 正常打开。的确用的是华为浏览器的检测 api 。能上去说明没有使用本地黑名单,但我猜未来会加上的,说不定呢。
