您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
将所有分享生成连接,方便复制使用
当前为
// ==UserScript== // @name free-ss.site 生成全部链接 // @version 0.4.2 // @description 将所有分享生成连接,方便复制使用 // @author dolacmeo // @match http*://free-ss.site/ // @match http*://free-ss.gq/ // @require https://cdn.jsdelivr.net/npm/[email protected]/base64.min.js // @grant GM_setClipboard // @grant GM_xmlhttpRequest // @connect ssr.1234566.xyz // @run-at document-idle // @namespace http://tampermonkey.net/ // ==/UserScript== // @0.4.2 2018-4-8 bugfix(密码与加密方法位置调换导致生成地址错误), // 新增订阅地址(每次使用脚本都会更新),这个功能会使每次打开页面都消耗10kb浏览,如果有疑义请在反馈页面说明 // @0.4.1 2018-4-7 bugfix,脚本优化,新增移除低速按钮,一键清爽(6分以下) // @0.4.0 2018-4-5 脚本优化(初始化、判断方法、剪贴板、标签结构) // @0.3.8 2018-3-22 主站代码更新,旧版已不可用。代码中加入了被墙账号与假表格做混淆。 // @0.3.7 2018-3-3 主站代码更新,旧版已不可用。代码中加入了被墙账号与假表格做混淆。 // @0.3.6 2018-2-27 增加镜像站 free-ss.gq // @0.3.5 2018-2-24 主站代码更新,旧版已不可用。代码中加入了干扰隐藏表格。新年第一次摸鱼~ // @0.3.4 2018-2-13 整理脚本代码,年前最后一次摸鱼。祝大家新春快乐~ // @0.3.3 2018-2-6 主站代码更新,旧版已不可用 // @0.3.2 2018-2-2 点击二维码按钮生成SS、SSR两种链接与二维码,方便使用 // @0.3.1 2018-2-2 可进行多选,再生成链接,不选择生成所有 // @0.3 2018-2-2 随站更新,现从表格直接读取数据生成链接 // @0.2.1 2018-1-31 修复bug,备注名称加入当前日期 // @0.2 2018-1-31 不直接显示连接,变为两个复制按钮,点击即可复制所有链接,新增SSR链接(带备注与分组信息) // @0.1 2018-1-26 成功打开页面后直接展示所有ss链接 var today_date = new Date(); var date_str = today_date.toISOString().slice(0,10)+'_'; var ss_id, ss_links_str = "", ssr_links_str = ""; $("table").each(function (){ if ($("#"+this.id+"_wrapper").css("height") === undefined) { ss_id = "#"+this.id; console.info("real #"+this.id); } }); // 载入HTML $(ss_id).before("<ul style='display: inline-flex;' id='tools'>"+ "<li class='aff'><p style='margin: 0;color: red;'>"+ss_id+"</p></li>"+ "<li class='aff'><p style='margin: 0;' id='link_num'>"+ "等待数据加载,请稍后... <span id='sel'></span></p></li>"+ "</ul>"); $(ss_id).after('<div style="display:none" id="diy-qrcode"></div>'); // 工具对象 var gen = { // 生成ss链接 ss: function (data) { return 'ss://'+Base64.encodeURI(data[3]+':'+data[4]+'@'+data[1]+':'+data[2])+'#'+data[6]+'('+date_str+data[5]+')'; }, // 生成ssr链接 ssr: function (data) { return 'ssr://'+Base64.encodeURI(data[1]+':'+data[2]+':origin:'+data[3]+':plain:'+Base64.encodeURI(data[4])+ '/?remarks='+Base64.encodeURI(data[6]+'['+data[0]+']'+'('+date_str+data[5]+')')+'&group=ZnJlZS1zcy5zaXRl'); }, // 将数据处理成链接 datas: function () { var ssdatas; if (ss_table.rows('.selected').data().length > 0) { ssdatas = ss_table.rows('.selected').data(); } else { ssdatas = ss_table.data(); } ss_links_str = ""; ssr_links_str = ""; $.each(ssdatas, function(i, data){ ss_links_str = ss_links_str + gen.ss(data) + '\n'; ssr_links_str = ssr_links_str + gen.ssr(data) + '\n'; }); return ssdatas; }, qr: function (data) { var ss = gen.ss(data), ssr =gen.ssr(data); var qrcode = $('#diy-qrcode'); qrcode.children('canvas').remove(); qrcode.children('hr').remove(); qrcode.children('p').remove(); qrcode.append('<p><a href="'+ss+'" style="font-size: 30px;font-weight: bold;">SS </a></p>'); qrcode.qrcode({background:'#FFFFFF',ecLevel:'M',text:ss}); qrcode.append('<hr>'); qrcode.append('<p><a href="'+ssr+'" style="font-size: 30px;font-weight: bold;">SSR</a></p>'); qrcode.qrcode({background:'#FFFFFF',ecLevel:'M',text:ssr}); qrcode.append('<hr>'); layer.closeAll(); layer.open({ type:1, title:data[1]+':'+data[2]+' ('+data[6]+')', closeBtn:0, shade:0.1, area:'24em', shadeClose:true, content:qrcode, }); } }; $(document).ready(function() { // 表格加载完成后执行 $(ss_id).on('init.dt', function (){ ss_table = $(ss_id).DataTable( { retrieve: true } ); $("#tools").html("<li class='aff'><p style='margin: 0;' id='link_num'>复制之后可使用剪贴板批量导入 "+ "(点击可选,当前已选择 <span id='sel'>0</span> 条),共"+ ss_table.data().length+"条</p></li>"+ "<li class='aff'><button id='btn_clear'>移除低速</button></li>"+ "<li class='aff'><button id='btn_ss'>复制SS </button></li>"+ "<li class='aff'><button id='btn_ssr'>复制SSR</button></li>"); $('#btn_ss').on('click',function(){ alert("SS 链接复制成功("+gen.datas().length+"条)"); GM_setClipboard(ss_links_str); }); $('#btn_ssr').on('click',function(){ alert("SSR链接复制成功("+gen.datas().length+"条)"); GM_setClipboard(ssr_links_str); }); $('#btn_clear').on('click',function(){ ss_table.$('tr.selected').removeClass('selected'); $(ss_id).find('tr').each(function(){ var ping = $(this).find('td').eq(0).text().split('/'); if (ping.length == 3) { for (var x in ping) { if (Number(ping[x])<=5){ $(this).toggleClass('selected'); break; } } } }); var r_c = ss_table.rows('.selected').data().length; ss_table.rows('.selected').remove().draw(); $("#link_num").html("复制之后可使用剪贴板批量导入 "+ "(点击可选,当前已选择 <span id='sel'>0</span> 条),共"+ ss_table.data().length+"条"); $('#btn_clear').replaceWith('<p style="margin: 0;color: red;">已移除'+r_c+'条</p>'); ss_table.order( [ 0, 'asc' ] ).draw(); }); ss_table.$('tr').click( function () { $(this).toggleClass('selected'); $("#sel").html(ss_table.rows('.selected').data().length); } ); // 等待1s setTimeout(function(){ $(ss_id+' tbody').off('click','i'); $(ss_id+' tbody').on('click','i',function(){ gen.qr(ss_table.row($(this).closest('tr')).data()); }); },1000); gen.datas(); GM_xmlhttpRequest({ method:'POST', url: 'http://ssr.1234566.xyz', headers: {"Content-Type": "application/x-www-form-urlencoded"}, data: 'ssr='+Base64.encodeURI(ssr_links_str), onload: function(response) { $("#tools").after('<p style="margin: 0;">每次使用复制脚本访问本页面,将会自动更新公共订阅地址:'+ '<a href="http://ssr.1234566.xyz">http://ssr.1234566.xyz</a>'+ ' '+ '<a target="_blank" href="https://www.baidu.com/s?wd=ssr订阅">(如何订阅?)</a></p>'); } }); }); });