星火出海是您的WhatsApp业务解决方案提供商
埃及、利比亚、突尼斯、阿尔及利亚、摩洛哥、亚速尔群岛(葡)、马德拉群岛(葡)、加那利群岛(西)、苏丹、南苏丹、埃塞俄比亚、厄立特里亚、索马里、吉布提、肯尼亚、坦桑尼亚、乌干达、卢旺达、布隆迪、塞舌尔,乍得、中非、喀麦隆、赤道几内亚、加蓬、刚果共和国、刚果民主共和国、圣多美和普林西比,毛里塔尼亚、塞内加尔、冈比亚、马里、布基纳法索、几内亚、几内亚比绍、佛得角、塞拉利昂、利比里亚、科特迪瓦、加纳、多哥、贝宁、尼日尔、尼日利亚 、西撒哈拉(摩洛哥实际控制),赞比亚、安哥拉、津巴布韦、马拉维、莫桑比克、博茨瓦纳、纳米比亚、南非、斯威士兰、莱索托、马达加斯加、科摩罗、毛里求斯、留尼汪岛(法)、圣赫勒拿岛(英)、马约特(法)
作者:Ran
2020-10-15 Ran
以WhatsApp网页版为例,通过拦截并重定向请求可以注入自定义逻辑。
/**
* 请求重定向
*/
chrome.webRequest.onBeforeRequest.addListener(
function (details) {
const matchURL = details.url
const replaceBaseURL = 'http://localhost:3001'
const scriptReg = /https:\/\/web\.whatsapp\.com\/([^.]+)\.?([^.]*)\.js/
const fileName = scriptReg.exec(matchURL)[1]
const fileHash = scriptReg.exec(matchURL)[2]
const replaceURL = `${replaceBaseURL}/whatsapp/override/${fileName}${fileHash ? '.' + fileHash : ''}.js`
console.log(`onBeforeRequest: ${matchURL} → ${replaceURL}`, new Date())
return {
redirectUrl: replaceURL
}
},
{
urls: [
'https://web.whatsapp.com/app.*.js',
'https://web.whatsapp.com/app2.*.js',
],
types: ['script']
},
['blocking']
)