mirror of
https://git.mirrors.martin98.com/https://github.com/cilame/v_jstools
synced 2025-07-31 00:22:01 +08:00
add
This commit is contained in:
parent
e26cad4968
commit
a92c75d52f
@ -17,7 +17,7 @@
|
||||
<ul>
|
||||
<button class="act">dom对象 hook 配置</button>
|
||||
<button>注入代码</button>
|
||||
<button>修改返回值</button>
|
||||
<button>修改代理/返回值</button>
|
||||
<button>AST混淆解密</button>
|
||||
<button>代码模板(RPC...)</button>
|
||||
<button>混淆器</button>
|
||||
@ -139,6 +139,11 @@
|
||||
<!-- <div>修改代理:<input type="text" data-key="config-proxy_config" id="proxy_config"></div> -->
|
||||
</section>
|
||||
<section class="tab">
|
||||
<h2 style="margin-bottom: 0px;margin-top: 50px;">pac代理地址</h2>
|
||||
<label ><input type="checkbox" data-key="config-pac_proxy">是否打开返回值替换开关</label>
|
||||
<hr>
|
||||
<textarea id='proxy_config' data-key="config-proxy_config" style="width: 100%; height: 200px"></textarea>
|
||||
|
||||
<h2 style="margin-bottom: 0px;margin-top: 50px;">修改匹配URL的返回值</h2>
|
||||
<label ><input type="checkbox" data-key="config-replacer_toggle">是否打开返回值替换开关</label>
|
||||
<hr>
|
||||
@ -252,6 +257,7 @@
|
||||
</section>
|
||||
</div>
|
||||
<script src="tools/jquery.min.js"></script>
|
||||
<script src="./tools/common.js"></script>
|
||||
<script src="./tools/sub_logger.js"></script>
|
||||
<script src="options.js"></script>
|
||||
<script src="tools/model_funcs.js"></script>
|
||||
|
31
options.js
31
options.js
@ -448,6 +448,17 @@ document.querySelectorAll("input").forEach(function(v){
|
||||
chrome.storage.local.set({
|
||||
[e.target.dataset.key]: e.target.checked
|
||||
})
|
||||
if (e.target.dataset.key == 'config-pac_proxy'){
|
||||
if (e.target.checked){
|
||||
chrome.storage.local.get(['config-proxy_config'], function(res){
|
||||
if (res['config-proxy_config']){
|
||||
set_my_proxy(res['config-proxy_config'])
|
||||
}
|
||||
})
|
||||
}else{
|
||||
set_my_proxy()
|
||||
}
|
||||
}
|
||||
sub_logger()
|
||||
}
|
||||
if (v.type == 'text' || v.type == 'password'){
|
||||
@ -676,10 +687,22 @@ chrome.debugger.onDetach.addListener(function(){
|
||||
debug_tab = false
|
||||
})
|
||||
|
||||
// var proxy_config = document.getElementById('proxy_config');
|
||||
// proxy_config.addEventListener("change", function(v){
|
||||
// v.target.value
|
||||
// })
|
||||
var proxy_config = document.getElementById('proxy_config')
|
||||
proxy_config.placeholder = `// 请在第一行输出你使用的 pac 路径例如:
|
||||
// 1: PROXY 127.0.0.1:8888
|
||||
// 2: HTTPS hk2.link.ac.cn:152;HTTPS fmt1.link.ac.cn:995
|
||||
`
|
||||
chrome.storage.local.get([proxy_config.dataset.key], function (result) {
|
||||
proxy_config.value = result[proxy_config.dataset.key] || '';
|
||||
})
|
||||
function change_proxy_config(v){ console.log('change_proxy_config')
|
||||
chrome.storage.local.set({
|
||||
[v.target.dataset.key]: v.target.value
|
||||
})
|
||||
}
|
||||
proxy_config.addEventListener("input", change_proxy_config)
|
||||
proxy_config.addEventListener("change", change_proxy_config)
|
||||
proxy_config.addEventListener("blur", change_proxy_config)
|
||||
|
||||
var mysec = document.getElementById('my_secret')
|
||||
var mycode_dec = document.getElementById('my_code_dec')
|
||||
|
@ -133,18 +133,25 @@
|
||||
<input type="checkbox" data-key="config-replacer_toggle"><div class="slider"></div>
|
||||
</label>
|
||||
<div style="float: right; padding: 10px">是否替换返回值</div>
|
||||
<label class="switch">
|
||||
<input type="checkbox" data-key="config-pac_proxy"><div class="slider"></div>
|
||||
</label>
|
||||
<div style="float: right; padding: 10px">是否开启pac代理</div>
|
||||
<!-- <label class="switch">
|
||||
<input type="checkbox" data-key="config-hook-new-tab"><div class="slider"></div>
|
||||
</label>
|
||||
<div style="float: right; padding: 10px">配置newTab页</div> -->
|
||||
<div>
|
||||
<button id="showoptions" class="button" style="vertical-align:middle"><span>打开配置页面</span></button>
|
||||
<button id="ast_page" class="button" style="vertical-align:middle"><span>ast工具页面</span></button>
|
||||
<button id="diff_page" class="button" style="vertical-align:middle"><span>文本对比页面</span></button>
|
||||
<button id="addlistener" class="button2" style="vertical-align:middle"><span>生成临时环境</span></button>
|
||||
<!-- <button id="logtoggle" class="button2" style="vertical-align:middle"><span>开关输出日志</span></button> -->
|
||||
<!-- <button id="clone_page" class="button2" style="vertical-align:middle"><span>拷贝当前页面</span></button> -->
|
||||
<hr>
|
||||
<button id="update_page" class="button2" style="vertical-align:middle"><span>工具更新地址</span></button>
|
||||
</div>
|
||||
<script src="./tools/common.js"></script>
|
||||
<script src="./tools/sub_logger.js"></script>
|
||||
<script src="popup.js"></script>
|
||||
</body>
|
||||
|
79
popup.js
79
popup.js
@ -15,6 +15,17 @@ document.querySelectorAll("input").forEach(function(v){
|
||||
chrome.tabs.sendMessage(tabs[0].id, {action: {type:'logtoggle', info: 'logtoggle'}}, function(response) {});
|
||||
});
|
||||
}
|
||||
if (e.target.dataset.key == 'config-pac_proxy'){
|
||||
if (e.target.checked){
|
||||
chrome.storage.local.get(['config-proxy_config'], function(res){
|
||||
if (res['config-proxy_config']){
|
||||
set_my_proxy(res['config-proxy_config'])
|
||||
}
|
||||
})
|
||||
}else{
|
||||
set_my_proxy()
|
||||
}
|
||||
}
|
||||
chrome.storage.local.set({
|
||||
[e.target.dataset.key]: e.target.checked
|
||||
})
|
||||
@ -69,30 +80,50 @@ hook-domobj-显示func输出
|
||||
// })
|
||||
|
||||
const bg = chrome.extension.getBackgroundPage()
|
||||
document.getElementById('clone_page').addEventListener('click', function(e){
|
||||
chrome.tabs.query({active: true, currentWindow: true}, function(tabs){
|
||||
var url = tabs[0].url
|
||||
var html = bg.get_html(url)
|
||||
if (html){
|
||||
var url = URL.createObjectURL(new Blob(html.split(''), {type: 'text/html'}))
|
||||
chrome.downloads.download({
|
||||
url: url,
|
||||
filename: 'clone_html.html'
|
||||
});
|
||||
}else{
|
||||
alert('获取html结构失败,请右键需要拷贝的页面的空白处,选择“打开 html 调试拷贝”。刷新页面后,确保页面资源加载充足后再重新点击“拷贝当前页面”')
|
||||
var clone_page = document.getElementById('clone_page')
|
||||
if (clone_page){
|
||||
clone_page.addEventListener('click', function(e){
|
||||
chrome.tabs.query({active: true, currentWindow: true}, function(tabs){
|
||||
var url = tabs[0].url
|
||||
var html = bg.get_html(url)
|
||||
if (html){
|
||||
var url = URL.createObjectURL(new Blob(html.split(''), {type: 'text/html'}))
|
||||
chrome.downloads.download({
|
||||
url: url,
|
||||
filename: 'clone_html.html'
|
||||
});
|
||||
}else{
|
||||
alert('获取html结构失败,请右键需要拷贝的页面的空白处,选择“打开 html 调试拷贝”。刷新页面后,确保页面资源加载充足后再重新点击“拷贝当前页面”')
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
var update_page = document.getElementById('update_page')
|
||||
if(update_page){
|
||||
update_page.addEventListener('click', function(e){
|
||||
function closePopup() {
|
||||
window.close();
|
||||
document.body.style.opacity = 0;
|
||||
setTimeout(function() { history.go(0); }, 300);
|
||||
}
|
||||
closePopup()
|
||||
chrome.tabs.create({
|
||||
url: 'https://github.com/cilame/v_jstools',
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
document.getElementById('ast_page')?.addEventListener('click', function(){
|
||||
var temp = chrome.runtime.getURL('astexplorer_babel.html')
|
||||
chrome.tabs.create({
|
||||
url: temp
|
||||
});
|
||||
|
||||
})
|
||||
document.getElementById('diff_page')?.addEventListener('click', function(){
|
||||
var temp = chrome.runtime.getURL('diff_text.html')
|
||||
chrome.tabs.create({
|
||||
url: temp
|
||||
});
|
||||
})
|
||||
|
||||
document.getElementById('update_page').addEventListener('click', function(e){
|
||||
function closePopup() {
|
||||
window.close();
|
||||
document.body.style.opacity = 0;
|
||||
setTimeout(function() { history.go(0); }, 300);
|
||||
}
|
||||
closePopup()
|
||||
chrome.tabs.create({
|
||||
url: 'https://github.com/cilame/v_jstools',
|
||||
});
|
||||
})
|
37
tools/common.js
Normal file
37
tools/common.js
Normal file
@ -0,0 +1,37 @@
|
||||
function set_my_proxy(proxy){
|
||||
if (proxy){
|
||||
var proxylist = proxy.trim().split('\n').map(function(e){
|
||||
return e.trim()
|
||||
})
|
||||
var toggle = false
|
||||
for (var i = 0; i < proxylist.length; i++) {
|
||||
if (proxylist[i] && !proxylist[i].startsWith('//')){
|
||||
proxy = proxylist[i]
|
||||
toggle = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if(!toggle){
|
||||
proxy = ''
|
||||
}
|
||||
}else{
|
||||
proxy = proxy||''
|
||||
}
|
||||
var pacScriptConfig = {
|
||||
mode: 'pac_script',
|
||||
pacScript: {
|
||||
data: `
|
||||
function FindProxyForURL(url, host) {
|
||||
return "${proxy};DIRECT";
|
||||
}
|
||||
`
|
||||
}
|
||||
};
|
||||
chrome.proxy.settings.set({ value: pacScriptConfig, scope: 'regular' }, function() {
|
||||
if (proxy){
|
||||
// alert("代理设置完成");
|
||||
}else{
|
||||
// alert("取消代理链接");
|
||||
}
|
||||
});
|
||||
}
|
@ -3,6 +3,7 @@ function sub_logger(){
|
||||
'config-hook-global',
|
||||
'config-myinject_toggle',
|
||||
'config-replacer_toggle',
|
||||
'config-pac_proxy',
|
||||
], function(e){
|
||||
chrome.browserAction.setBadgeBackgroundColor({color: '#BC1717'});
|
||||
var info = ''
|
||||
@ -12,6 +13,9 @@ function sub_logger(){
|
||||
if (e['config-myinject_toggle']){
|
||||
info += 'I'
|
||||
}
|
||||
if (e['config-pac_proxy']){
|
||||
info += 'P'
|
||||
}
|
||||
if (e['config-replacer_toggle']){
|
||||
info += 'R'
|
||||
localStorage.webRedirect_toggle = JSON.stringify(true)
|
||||
|
Loading…
x
Reference in New Issue
Block a user