mirror of
https://git.mirrors.martin98.com/https://github.com/cilame/v_jstools
synced 2025-08-03 00:10:40 +08:00
add
This commit is contained in:
parent
e26cad4968
commit
a92c75d52f
@ -17,7 +17,7 @@
|
|||||||
<ul>
|
<ul>
|
||||||
<button class="act">dom对象 hook 配置</button>
|
<button class="act">dom对象 hook 配置</button>
|
||||||
<button>注入代码</button>
|
<button>注入代码</button>
|
||||||
<button>修改返回值</button>
|
<button>修改代理/返回值</button>
|
||||||
<button>AST混淆解密</button>
|
<button>AST混淆解密</button>
|
||||||
<button>代码模板(RPC...)</button>
|
<button>代码模板(RPC...)</button>
|
||||||
<button>混淆器</button>
|
<button>混淆器</button>
|
||||||
@ -139,6 +139,11 @@
|
|||||||
<!-- <div>修改代理:<input type="text" data-key="config-proxy_config" id="proxy_config"></div> -->
|
<!-- <div>修改代理:<input type="text" data-key="config-proxy_config" id="proxy_config"></div> -->
|
||||||
</section>
|
</section>
|
||||||
<section class="tab">
|
<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>
|
<h2 style="margin-bottom: 0px;margin-top: 50px;">修改匹配URL的返回值</h2>
|
||||||
<label ><input type="checkbox" data-key="config-replacer_toggle">是否打开返回值替换开关</label>
|
<label ><input type="checkbox" data-key="config-replacer_toggle">是否打开返回值替换开关</label>
|
||||||
<hr>
|
<hr>
|
||||||
@ -252,6 +257,7 @@
|
|||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
<script src="tools/jquery.min.js"></script>
|
<script src="tools/jquery.min.js"></script>
|
||||||
|
<script src="./tools/common.js"></script>
|
||||||
<script src="./tools/sub_logger.js"></script>
|
<script src="./tools/sub_logger.js"></script>
|
||||||
<script src="options.js"></script>
|
<script src="options.js"></script>
|
||||||
<script src="tools/model_funcs.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({
|
chrome.storage.local.set({
|
||||||
[e.target.dataset.key]: e.target.checked
|
[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()
|
sub_logger()
|
||||||
}
|
}
|
||||||
if (v.type == 'text' || v.type == 'password'){
|
if (v.type == 'text' || v.type == 'password'){
|
||||||
@ -676,10 +687,22 @@ chrome.debugger.onDetach.addListener(function(){
|
|||||||
debug_tab = false
|
debug_tab = false
|
||||||
})
|
})
|
||||||
|
|
||||||
// var proxy_config = document.getElementById('proxy_config');
|
var proxy_config = document.getElementById('proxy_config')
|
||||||
// proxy_config.addEventListener("change", function(v){
|
proxy_config.placeholder = `// 请在第一行输出你使用的 pac 路径例如:
|
||||||
// v.target.value
|
// 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 mysec = document.getElementById('my_secret')
|
||||||
var mycode_dec = document.getElementById('my_code_dec')
|
var mycode_dec = document.getElementById('my_code_dec')
|
||||||
|
@ -133,18 +133,25 @@
|
|||||||
<input type="checkbox" data-key="config-replacer_toggle"><div class="slider"></div>
|
<input type="checkbox" data-key="config-replacer_toggle"><div class="slider"></div>
|
||||||
</label>
|
</label>
|
||||||
<div style="float: right; padding: 10px">是否替换返回值</div>
|
<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">
|
<!-- <label class="switch">
|
||||||
<input type="checkbox" data-key="config-hook-new-tab"><div class="slider"></div>
|
<input type="checkbox" data-key="config-hook-new-tab"><div class="slider"></div>
|
||||||
</label>
|
</label>
|
||||||
<div style="float: right; padding: 10px">配置newTab页</div> -->
|
<div style="float: right; padding: 10px">配置newTab页</div> -->
|
||||||
<div>
|
<div>
|
||||||
<button id="showoptions" class="button" style="vertical-align:middle"><span>打开配置页面</span></button>
|
<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="addlistener" class="button2" style="vertical-align:middle"><span>生成临时环境</span></button>
|
||||||
<!-- <button id="logtoggle" 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> -->
|
<!-- <button id="clone_page" class="button2" style="vertical-align:middle"><span>拷贝当前页面</span></button> -->
|
||||||
<hr>
|
<hr>
|
||||||
<button id="update_page" class="button2" style="vertical-align:middle"><span>工具更新地址</span></button>
|
<button id="update_page" class="button2" style="vertical-align:middle"><span>工具更新地址</span></button>
|
||||||
</div>
|
</div>
|
||||||
|
<script src="./tools/common.js"></script>
|
||||||
<script src="./tools/sub_logger.js"></script>
|
<script src="./tools/sub_logger.js"></script>
|
||||||
<script src="popup.js"></script>
|
<script src="popup.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
37
popup.js
37
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) {});
|
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({
|
chrome.storage.local.set({
|
||||||
[e.target.dataset.key]: e.target.checked
|
[e.target.dataset.key]: e.target.checked
|
||||||
})
|
})
|
||||||
@ -69,7 +80,9 @@ hook-domobj-显示func输出
|
|||||||
// })
|
// })
|
||||||
|
|
||||||
const bg = chrome.extension.getBackgroundPage()
|
const bg = chrome.extension.getBackgroundPage()
|
||||||
document.getElementById('clone_page').addEventListener('click', function(e){
|
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){
|
chrome.tabs.query({active: true, currentWindow: true}, function(tabs){
|
||||||
var url = tabs[0].url
|
var url = tabs[0].url
|
||||||
var html = bg.get_html(url)
|
var html = bg.get_html(url)
|
||||||
@ -83,9 +96,12 @@ document.getElementById('clone_page').addEventListener('click', function(e){
|
|||||||
alert('获取html结构失败,请右键需要拷贝的页面的空白处,选择“打开 html 调试拷贝”。刷新页面后,确保页面资源加载充足后再重新点击“拷贝当前页面”')
|
alert('获取html结构失败,请右键需要拷贝的页面的空白处,选择“打开 html 调试拷贝”。刷新页面后,确保页面资源加载充足后再重新点击“拷贝当前页面”')
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
document.getElementById('update_page').addEventListener('click', function(e){
|
var update_page = document.getElementById('update_page')
|
||||||
|
if(update_page){
|
||||||
|
update_page.addEventListener('click', function(e){
|
||||||
function closePopup() {
|
function closePopup() {
|
||||||
window.close();
|
window.close();
|
||||||
document.body.style.opacity = 0;
|
document.body.style.opacity = 0;
|
||||||
@ -95,4 +111,19 @@ document.getElementById('update_page').addEventListener('click', function(e){
|
|||||||
chrome.tabs.create({
|
chrome.tabs.create({
|
||||||
url: 'https://github.com/cilame/v_jstools',
|
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
|
||||||
|
});
|
||||||
})
|
})
|
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-hook-global',
|
||||||
'config-myinject_toggle',
|
'config-myinject_toggle',
|
||||||
'config-replacer_toggle',
|
'config-replacer_toggle',
|
||||||
|
'config-pac_proxy',
|
||||||
], function(e){
|
], function(e){
|
||||||
chrome.browserAction.setBadgeBackgroundColor({color: '#BC1717'});
|
chrome.browserAction.setBadgeBackgroundColor({color: '#BC1717'});
|
||||||
var info = ''
|
var info = ''
|
||||||
@ -12,6 +13,9 @@ function sub_logger(){
|
|||||||
if (e['config-myinject_toggle']){
|
if (e['config-myinject_toggle']){
|
||||||
info += 'I'
|
info += 'I'
|
||||||
}
|
}
|
||||||
|
if (e['config-pac_proxy']){
|
||||||
|
info += 'P'
|
||||||
|
}
|
||||||
if (e['config-replacer_toggle']){
|
if (e['config-replacer_toggle']){
|
||||||
info += 'R'
|
info += 'R'
|
||||||
localStorage.webRedirect_toggle = JSON.stringify(true)
|
localStorage.webRedirect_toggle = JSON.stringify(true)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user