Greasy Fork

Greasy Fork is available in English.

M-Team 搜索器

在 资源库 看到的影片、演员和类型,能够立即在 M-team 中搜索。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         M-Team 搜索器
// @namespace    mteam-searcher
// @version      0.17
// @description  在 资源库 看到的影片、演员和类型,能够立即在 M-team 中搜索。
// @author       Samuel Cui
// @include     *://avmoo.xyz/*
// @include     *://tp.m-team.cc/*
// @grant       none
// ==/UserScript==

(function() {
    var site_root = "https://avmoo.xyz/";
    var jav_regex = RegExp(site_root + "([^/]+)/([^/]+)/(.+)");
    var mteam_regex = RegExp("https://tp.m-team.cc/(details|adult)\.php.*");

    var jav_paths = jav_regex.exec(location.href);
    if (jav_paths !== null) {
        switch(jav_paths[2]) {
            case "movie":
                var mteam_root = document.createElement('p');
                var mteam = document.createElement('a');
                mteam.innerHTML = '在 M-team 中搜索';
                mteam.href = '//tp.m-team.cc/adult.php?incldead=0&spstate=0&inclbookmarked=0&search=' + document.querySelector('.header').nextElementSibling.innerHTML + '&search_area=0&search_mode=0';
                mteam.target = '_blank';
                mteam_root.appendChild(mteam);
                var target = document.querySelector('.info');
                target.insertBefore(mteam_root, target.querySelectorAll('p')[1]);
                return;
            case "star":
                var mteam_root = document.createElement('p');
                var mteam = document.createElement('a');
                mteam.innerHTML = '在 M-team 中搜索';
                mteam.href = '//tp.m-team.cc/adult.php?incldead=0&spstate=0&inclbookmarked=0&search=' + document.querySelector('.pb-10').innerHTML + '&search_area=0&search_mode=0';
                mteam.target = '_blank';
                mteam_root.appendChild(mteam);
                document.querySelector('.photo-info').appendChild(mteam_root);
                return;
            case "genre":
                var url = location.href.replace('/cn/', '/ja/').replace('/tw/', '/ja/').replace('/en/', '/ja/');
                var nav = document.querySelector('.nav.navbar-nav');
                var ajax = new XMLHttpRequest();
                ajax.onreadystatechange=function() {
                    if (ajax.readyState==4 && ajax.status==200) {
                        var mteam_root = document.createElement('li');
                        var mteam = document.createElement('a');
                        mteam.innerHTML = '在 M-team 中搜索 类别 ' + document.querySelector('title').text.match(/(.+?) - .+/)[1];
                        mteam.href = '//tp.m-team.cc/adult.php?tagname=' + ajax.responseText.match(/<title>(.+) - ジャンル .+<\/title>/)[1];
                        mteam.target = '_blank';
                        mteam_root.appendChild(mteam);
                        nav.appendChild(mteam_root);
                    }
                };
                ajax.open("GET", url, true);
                ajax.send();
                return;
        }
    }

    var mteam_paths = mteam_regex.exec(location.href);
    if (mteam_paths === null) {
        return;
    }
    switch(mteam_paths[1]) {
        case "adult":
            var search_matched = /&search=(.+?)&/.exec(location.href);
            if (search_matched !== null) {
                var mteam = document.createElement('a');
                mteam.innerHTML = '在 JAV 中搜索';
                mteam.href = site_root + 'cn/search/' + search_matched[1];
                mteam.target = '_blank';
                var target = document.querySelectorAll('select[name=search_area]')[0];
                target.parentElement.appendChild(mteam);
            }

            var list = document.querySelectorAll('table.torrents')[0].children[0].children;
            var line_num = null;
            jQuery.each(list, function (index, line) {
                if (line.querySelectorAll('img[alt$="Censored"]').length === 0) {
                    return;
                }
                var mteam = document.createElement('a');
                mteam.innerHTML = '<img src="' + site_root + 'app/jav/View/img/favicon.ico" height="16px" width="16px" />';
                mteam.href = site_root + 'cn/search/' + line.querySelectorAll('a[href^="details.php"]')[0].title.match(/(.+?) /)[1];
                mteam.target = '_blank';
                var target = line.querySelectorAll('a[id^=bookmark]')[0];
                target.parentElement.appendChild(mteam);
            });
            return;
        case "details":
            if (/\sCensored/.test(document.documentElement.innerHTML)) {
                var jsearch = document.createElement('a');
                jsearch.innerHTML = 'J';
                jsearch.href = site_root + 'cn/search/' + jQuery('#top').text().match(/(.+?) /)[1];
                jsearch.target = '_blank';
                jsearch.style = 'color:#880000';
                var msearch = document.createElement('a');
                msearch.innerHTML = 'M';
                msearch.href = '//tp.m-team.cc/adult.php?incldead=1&spstate=0&inclbookmarked=0&search=' + jQuery('#top').text().match(/(.+?) /)[1];
                msearch.target = '_blank';
                msearch.style = 'color:#880000';
                var target = jQuery('#top')[0];
                target.appendChild(document.createTextNode(' ['));
                target.appendChild(jsearch);
                target.appendChild(document.createTextNode('] ['));
                target.appendChild(msearch);
                target.appendChild(document.createTextNode(']'));
            }
            return;
    }
})();