Skip to content

Instantly share code, notes, and snippets.

@endintro
Last active August 29, 2015 14:06
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save endintro/3d150466c30608ed51a9 to your computer and use it in GitHub Desktop.
Save endintro/3d150466c30608ed51a9 to your computer and use it in GitHub Desktop.
// ==UserScript==
// @name My WeiYun Userscript
// @namespace http://endintro.com/
// @version 0.1
// @description fetch direct download url from WeiYun share file, need to login
// @match http://share.weiyun.com/*
// @copyright 2014+, You
// ==/UserScript==
(function() {
// injection
var script = document.createElement("script");
script.textContent = "(" + main.toString() + ")();";
document.body.appendChild(script);
})();
function main() {
window.setTimeout(function() {
seajs.use(['$', 'lib', 'common', 'outlink'], function($, lib, common, outlink) {
var tools = {
getQueryStringRegExp: function(name, url) {
var reg = new RegExp("(^|\\?|&)" + name + "=([^&]*)(\\s|&|$)", "i");
if (reg.test(url)) return decodeURI(RegExp.$2.replace(/\+/g, " "));
return "";
}
}
// instantiate
var outlink_mod = outlink.get('./outlink');
var uri = window.location.href.split("/")[3];
outlink_mod.render(uri);
var request = common.get('./request');
outlink_appid = 3011;
var downloadURL = outlink_mod.getDownloadURL();
//console.log(downloadURL);
var zn = tools.getQueryStringRegExp('zn', downloadURL);
var os_info = tools.getQueryStringRegExp('os_info', downloadURL);
var browser = tools.getQueryStringRegExp('browser', downloadURL);
request.xhr_get({
url: 'http://web2.cgi.weiyun.com/outlink.fcg',
cmd: 'WeiyunShareDownload',
pb_v2: true,
header: {
appid: outlink_appid
},
body: {
share_key: outlink_mod.share_key,
pack_name: zn,
pwd: outlink_mod.pwd,
os_info: os_info,
browser: browser
}
}).ok(function(msg, body) {
console.log('success!');
$(".main").append('<a href="' + body.download_url + '">' + body.download_url + '</a>');
}).fail(function(msg, ret) {
console.log('failed!');
$(".main").append('<a href="###">Fetching direct download url failed!</a>');
});
});
}, 2000);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment