您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
ous beatmap download from mirror.osu beatmap镜像站下载。支持的镜像站点:bloodcat.com、osu.mengsky.net、inso.link、osu.uu.gl。
当前为
// ==UserScript== // @name osu! my download // @description ous beatmap download from mirror.osu beatmap镜像站下载。支持的镜像站点:bloodcat.com、osu.mengsky.net、inso.link、osu.uu.gl。 // @author dazzulay // @copyright 2014+, dazzulay // @version 2.1.0 // @icon http://osu.ppy.sh/favicon.ico // @include http*://osu.ppy.sh/b/* // @include http*://osu.ppy.sh/s/* // @include http*://osu.ppy.sh/p/beatmap* // @include http*://osu.ppy.sh/beatmapsets/* // @grant none // @namespace https://gf.qytechs.cn/scripts/3916 // @homepageURL https://gf.qytechs.cn/scripts/3916 // ==/UserScript== var domain = document.domain; var drive = domain.replace(/\./g, '_'); if (drive == 'osu_mengsky_net') { var bmid = getUrlParameter('bmid'); if (bmid) { document.write('<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title></title></head><body></body></html>'); } } function myJQueryCode() { function osu_my_downoad() { var self = this; this.mirros = { bloodcat: { url: 'http://bloodcat.com/osu/m/{bmid}', class: 'my_orange', text: 'DOWNLOAD BLOODCAT', target: '_blank' }, /* 2017-07-16 挂了 mengsky: { url: 'http://osu.mengsky.net/?bmid={bmid}', url2: 'http://osu.mengsky.net/api/download/{bmid}', // 无法直接跳转,限制了 class: 'my_green', text: 'DOWNLOAD MENGSKY', target: '_blank' }, */ insolink: { url: 'http://inso.link/?source=osu_my_download&m={bmid}', class: 'my_pink', text: 'DOWNLOAD INSO.LINK', target: '_blank' }, osu_uu_gl: { url: 'http://osu.uu.gl/s/{bmid}', class: 'my_purpule', text: 'DOWNLOAD OSU.UU.GL', target: '_blank' } }; this.mirros_parse = function (bmid, mirro, param) { var _param = 'url'; if (param) { _param = param; } if (typeof self.mirros[mirro] !== "undefined") { self.mirros[mirro][_param] = str_render(self.mirros[mirro][_param], {bmid: bmid}); } else { $.each(self.mirros, function (k, v) { self.mirros[k][_param] = str_render(v[_param], {bmid: bmid}); }); } }; this.drives = { osu_ppy_sh: function () { var is_new = $( '.osu-layout').length; if(is_new){ // css样式 设置 $('head').append('<style>.my_container .btn-osu-big__text-top{white-space: normal;}.my_container a:before{content:" ";position:absolute;left:0;right:0;top:0;bottom:0;border-radius:4px;}.my_orange:before{background-color:rgba(255,141,0,.5)}.my_green:before{background-color:rgba(0,101,0,.5)}.my_pink:before{background-color:rgba(255, 102, 170,.5)}.my_purpule:before{background-color:rgba(169, 10, 165,0.5);}</style>'); var beatmapset_page = '.js-react--beatmapset-page'; function ready(){ // 获取beatmapid var bmsrc = $('.js-audio--play').attr('data-audio-url'); if(!bmsrc){ return false; } var bmid = bmsrc.substring(bmsrc.lastIndexOf("/") + 1, bmsrc.lastIndexOf(".")); // 设置url self.mirros_parse(bmid); // 添加按钮 var $container = $('<div class="beatmapset-header__buttons my_container"></div>'); var btn_tpl = '<a href="{url}" class="btn-osu-big btn-osu-big--beatmapset-header {class}" target="{target}"><div class="btn-osu-big__content"><div class="btn-osu-big__left"><span class="btn-osu-big__text-top">{text}</span></div><div class="btn-osu-big__icon"><span class="fa fa-download"></span></div></div></a>'; $.each(self.mirros, function (k, v) { $container.append(str_render(btn_tpl, self.mirros[k])); }); $('.beatmapset-header__box--main').append($container); } // 第一次加载页面触发下面的load无效 用一个定时器 var _timer = setInterval(function(){ if($(beatmapset_page).attr('data-react-turbolinks-loaded')==1){ ready(); clearInterval(_timer); } },200); $(document).on('turbolinks:load', ready); }else{ // css样式 设置 $('head').append('<style>.my_container{position:fixed;top:20px;right:0px;}.my_btn{text-align: center;width:150px;height:111px;display:table-cell;vertical-align:middle;margin:0 0 10px 0;padding:10px;font-family:Haettenschweiler,Impact,"Arial Grande",Tahoma,Helvetica,Arial,sans-serif;font-size:32px;font-weight:normal;color:#fff;border:4px solid #fff;border-radius:6px;}.my_btn:hover{text-shadow:0 0 20px floralwhite;color:#fff;}.my_orange{background:linear-gradient(to bottom,darkorange,orange,darkorange);}.my_blue{background:linear-gradient(to bottom,darkblue,blue,darkblue);}.my_green{background:linear-gradient(to bottom,darkgreen,green,darkgreen);}.my_pink{background:linear-gradient(to bottom,HotPink,pink,HotPink);}.my_purpule{background:linear-gradient(to bottom,#261326,#4B254B);}.my_btn span{display:inline-block;vertical-align:middle;text-align:center}</style>'); // 获取beatmapid var bmsrc = $('.bmt').attr('src'); var bmid = bmsrc.substring(bmsrc.indexOf("thumb/") + 6, bmsrc.lastIndexOf("l")); // 设置url self.mirros_parse(bmid); // 添加按钮 var $container = $('<div class="my_container"></div>'); var btn_tpl = '<a class="my_btn {class}" href="{url}" target="{target}"><span>{text}</span></a><br/>'; $.each(self.mirros, function (k, v) { $container.append(str_render(btn_tpl, self.mirros[k])); }); $('body').append($container); } }, new_ppy_sh: function () { }, osu_mengsky_net: function () { // 获取url参数的bmid var bmid = getUrlParameter('bmid'); if (!bmid) { return; } // css样式 设置 $('head').append('<style>.my_container{position:fixed;top:20px;right:0px;}.my_btn{text-align: center;width:150px;height:111px;display:table-cell;vertical-align:middle;margin:0 0 10px 0;padding:10px;font-family:Haettenschweiler,Impact,"Arial Grande",Tahoma,Helvetica,Arial,sans-serif;font-size:32px;font-weight:normal;color:#fff;border:4px solid #fff;border-radius:6px;}.my_btn:hover{text-shadow:0 0 20px floralwhite;color:#fff;}.my_orange{background:linear-gradient(to bottom,darkorange,orange,darkorange);}.my_blue{background:linear-gradient(to bottom,darkblue,blue,darkblue);}.my_green{background:linear-gradient(to bottom,darkgreen,green,darkgreen);}.my_pink{background:linear-gradient(to bottom,HotPink,pink,HotPink);}.my_btn span{display:inline-block;vertical-align:middle;text-align:center}</style>'); // 设置url self.mirros_parse(bmid, 'mengsky', 'url2'); // 添加按钮 var $container = $('<div class="my_container"></div>'); var btn_tpl = '<a class="my_btn {class}" href="{url2}" target=""><span>{text}</span></a><br/>'; $container.append(str_render(btn_tpl, self.mirros.mengsky)); $('body').html($container); // 点击按钮 $('a')[0].click(); } }; this.init = function () { var domain = document.domain; var drive = domain.replace(/\./g, '_'); self.drives[drive](); }; self.init(); } osu_my_downoad(); } if (typeof jQuery == 'undefined') { var headTag = document.getElementsByTagName("head")[0]; var jqTag = document.createElement('script'); jqTag.type = 'text/javascript'; jqTag.src = '//code.jquery.com/jquery-1.8.3.min.js'; jqTag.onload = myJQueryCode; headTag.appendChild(jqTag); } else { myJQueryCode(); } function str_render(template, context) { var tokenReg = /(\\)?\{([^\{\}\\]+)(\\)?\}/g; return template.replace(tokenReg, function (word, slash1, token, slash2) { if (slash1 || slash2) { return word.replace('\\', ''); } var variables = token.replace(/\s/g, '').split('.'); var currentObject = context; var i, length, variable; for (i = 0, length = variables.length; i < length; ++i) { variable = variables[i]; currentObject = currentObject[variable]; if (currentObject === undefined || currentObject === null) return ''; } return currentObject; }); } function getUrlParameter(sParam) { var sPageURL = decodeURIComponent(window.location.search.substring(1)), sURLVariables = sPageURL.split('&'), sParameterName, i; for (i = 0; i < sURLVariables.length; i++) { sParameterName = sURLVariables[i].split('='); if (sParameterName[0] === sParam) { return sParameterName[1] === undefined ? true : sParameterName[1]; } } }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址