// ==UserScript== // @name Anime1.me 下載器 // @namespace https://blog.maple3142.net/ // @description 下載Anime1.me網站上的動漫 // @version 0.5 // @author maple3142 // @match https://anime1.me/* // @match https://p.anime1.me/pic.php* // @match https://p.anime1.me/ts.php* // @match https://p.anime1.me/mp4.php* // @match https://torrent.anime1.me/*.html // @require https://code.jquery.com/jquery-3.2.1.min.js // @noframes // @grant none // @downloadURL none // ==/UserScript== (function ($) { 'use strict'; $ = $ && $.hasOwnProperty('default') ? $['default'] : $; function download(url, filename) { //觸發下載 var a = document.createElement('a'); a.href = url; if (filename) a.download = filename; document.body.appendChild(a); a.click(); return a; } function parseQuery(str) { return Object.assign.apply(Object, str.replace('?', '').split('&').map(function (part) { return part.split('='); }).map(function (ar) { var _ref; return _ref = {}, _ref[ar[0]] = ar[1], _ref; })); } function pic () { //如果是普通下載頁面 //取得資料 var video = jwplayer().getPlaylist()[0]; //目前使用jwplayer if (!video) return; var sources = video.sources; var title = video.title; var videomap = Object.assign.apply(Object, sources.map(function (src) { var _ref; return _ref = {}, _ref[src.label] = src.file, _ref; })); //Object.assign({'HD': 'hd video url'},{'SD': 'sd video url'},something...) //詢問要下載的畫質 var askmsg = '\u8F38\u5165\u8981\u4E0B\u8F09\u7684\u756B\u8CEA\u540D\u7A31:(' + sources.map(function (src) { return src.label; }).join(',') + ')'; var type = prompt(askmsg); //如果畫質存在 if (type in videomap) { download(videomap[type], title + '.mp4'); } } var query = parseQuery(location.search); function ts () { //不支援下載 var m3u8 = 'https://video.anime1.top/' + query.vid + '/list.m3u8'; var msg = '\u62B1\u6B49!\u7531\u65BC\u9019\u7A2E\u5F71\u7247\u662F\u7531\u591A\u500B\u5F71\u7247\u6240\u7D44\u6210\u7684\uFF0C\u76EE\u524D\u9084\u7121\u6CD5\u76F4\u63A5\u4E0B\u8F09\n\u4E0D\u904E\u53EF\u4EE5\u8907\u88FD\u4E0B\u65B9\u7684\u7DB2\u5740\u7136\u5F8C\u4F7F\u7528vlc\u4E4B\u985E\u652F\u63F4\u7DB2\u8DEF\u4E32\u6D41\u7684\u64AD\u653E\u5668\u4F86\u4F7F\u7528'; prompt(msg, m3u8); } var query$1 = parseQuery(location.search); function mp4 () { //特殊,因為需要Referer header才能得到影片檔 if (!confirm('這類需要特殊下載方法,要保持此頁面開啟直到下載完成\n是否繼續?')) return; //初始化下載器元素 $(document.body).append('
'); //渲染函數 function update(loaded, total) { var percent = parseInt(loaded / total * 100); $('#pbox').empty().append($('