This commit is contained in:
cilame 2022-04-28 19:24:23 +08:00
parent 6a55a40966
commit a194f7df65
3 changed files with 52 additions and 45 deletions

View File

@ -83,23 +83,23 @@ function AttachDebugger() {
}
);
}
// var currtabid;
// var currdomain;
// chrome.extension.onMessage.addListener(function (req, sender, sendResponse){
// if (req.getcookie){
// currtabid = sender.tab.id
// currdomain = req.domain
// sendResponse({})
// }
// })
// chrome.cookies.onChanged.addListener(function(info){
// if (currtabid){
// chrome.cookies.getAll({domain: currdomain}, function(cookie){
// var cookies = []
// for (var i = 0; i < cookie.length; i++) {
// cookies.push(cookie[i])
// }
// chrome.tabs.sendMessage(currtabid, {action: {type:'getcookie', info: cookies}}, function(){})
// });
// }
// });
var currtabid;
var currdomain;
chrome.extension.onMessage.addListener(function (req, sender, sendResponse){
if (req.getcookie){
currtabid = sender.tab.id
currdomain = req.domain
sendResponse({})
}
})
chrome.cookies.onChanged.addListener(function(info){
if (currtabid){
chrome.cookies.getAll({domain: currdomain}, function(cookie){
var cookies = []
for (var i = 0; i < cookie.length; i++) {
cookies.push(cookie[i])
}
chrome.tabs.sendMessage(currtabid, {action: {type:'getcookie', info: cookies}}, function(){})
});
}
});

View File

@ -1335,22 +1335,24 @@ chrome.storage.local.get(hookers, function (result) {
}
})
// chrome.extension.onMessage.addListener(function(msg, sender, sendResponse) {
// if (msg.action.type == 'error'){
// inject_script(`console.error(${JSON.stringify(msg.action.info)})`)
// }
// if (msg.action.type == 'addlistener'){
// inject_script(`try{v_log_env()}catch(e){debugger;alert('请打开调试总开关同时将dom挂钩全部选中后再刷新页面点击代码生成按钮。')}`)
// }
// if (msg.action.type == 'logtoggle'){
// inject_script(`globalConfig.logtogglefunc({key:'w',altKey:true})`)
// }
// if (msg.action.type == 'alerterror'){
// inject_script(`alert(${JSON.stringify(msg.action.info)})`)
// }
// if (msg.action.type == 'getcookie'){
// inject_script('window.vilame_setter='+JSON.stringify(msg.action.info))
// }
// sendResponse({})
// });
// chrome.extension.sendMessage({getcookie:true, domain:document.domain}, function(res){})
chrome.extension.onMessage.addListener(function(msg, sender, sendResponse) {
if (msg.action.type == 'error'){
inject_script(`console.error(${JSON.stringify(msg.action.info)})`)
}
if (msg.action.type == 'addlistener'){
inject_script(`try{v_log_env()}catch(e){debugger;alert('请打开调试总开关同时将dom挂钩全部选中后再刷新页面点击代码生成按钮。')}`)
}
if (msg.action.type == 'logtoggle'){
inject_script(`globalConfig.logtogglefunc({key:'w',altKey:true})`)
}
if (msg.action.type == 'alerterror'){
inject_script(`alert(${JSON.stringify(msg.action.info)})`)
}
if (msg.action.type == 'getcookie'){
// 有些 onlyhttp 的 cookie 直接通过 js 拿不到,所以这个插件会主动在 js 环境下注入一个 vilame_setter 参数。
// 通过 vilame_setter 参数可以直接拿到所有当前页面 domain 下的 cookie 包括 httponly 类型的 cookie。
inject_script('window.vilame_setter='+JSON.stringify(msg.action.info))
}
sendResponse({})
});
chrome.extension.sendMessage({getcookie:true, domain:document.domain}, function(res){})

View File

@ -160,12 +160,17 @@ function handle_proxy(req, res) {
get_cookie_local(function(v){
// 可以配合 js 的 server 代码在这里搞自动补充/修改 cookie 的功能。
var message = v.message
var purl = new URL(message.href).origin
req.headers.cookie = message.cookie || req.headers.cookie
req.headers['user-agent'] = message.userAgent || req.headers['user-agent']
proxy.web(req, res, { target: purl }, function(e){
console.log(e)
});
if(message){
var purl = new URL(message.href).origin
req.headers.cookie = message.cookie || req.headers.cookie
req.headers['user-agent'] = message.userAgent || req.headers['user-agent']
proxy.web(req, res, { target: purl }, function(e){
console.log(e)
});
}else{
res.write('<h1>no message obj.<h1>')
res.end()
}
})
}else{
res.write('<h1>wss not start.<h1>')