Skip to content
This repository has been archived by the owner on Nov 21, 2019. It is now read-only.

Site Script Simple

栽培者 edited this page Mar 26, 2018 · 3 revisions

站点脚本样例

注:所有自定义的脚本,最终将通过 JavaScripteval 方法调用执行;

获取搜索结果脚本

该脚本会在搜索种子时执行,主要用于分析及获取下载链接;可用变量及方法说明:

  • result: 表示已获取的搜索结果,有可能是XML、HTML或JSON,根据搜索页面返回的值决定;
  • site: 当前站点地址;
  • system: 当前搜索页面的处理对象;
  • system.getSite: 获取当前站点信息;
  • system.addSearchResult: 将结果添加至显示列表,接受一个数组;

样例:

  • NexusPHP,返回为XML类型数据
var items = $(result).find('item');
var datas = [];
$.each(items, function(index, item) {
	item = $(item);
	var data = {
		title: item.find("title").text(),
		link: item.find("link").text(),
		downloadURL: item.find("enclosure").attr("url")+"&passkey="+system.getSite(site).passkey,
		size: formatSize(item.find("enclosure").attr("length")),
		date: (new Date(item.find("pubDate").text())).toLocaleString(),
		author: item.find("author").text(),
		source: site
	};
	datas.push(data);
});

system.addSearchResult(datas);
  • TTG,返回为HTML数据
var items = $(result).find('#torrent_table tr.hover_hr');
var datas = [];
$.each(items, function(index, item) {
	item = $(item);
	var id = item.attr("id");
	var url="https://"+site+"/rssdd.php?par="+(new Base64).encode("vvv"+id+"|||"+system.getSite(site).passkey+"zz");
	var data = {
		title: item.find(".name_left a").html(),
		link: "https://"+site+item.find(".name_left a").attr("href"),
		downloadURL: url,
		size: item.find("td:eq(6)").text().replace("\n"," "),
		date: item.find("td:eq(4)").html(),
		author: item.find("td:eq(9)").text(),
		source: site
	};
	datas.push(data);
});

system.addSearchResult(datas);

关于站点设置中的 脚本1,2,3

  • 脚本1:用于获取种子列表页面所有种子下载链接,需要返回一个数组;NexusPHP 的默认执行:
var torrents = jQuery("a[href*='download']").toArray();
var urls = jQuery.map(torrents, function(n) {
	return system.site.host + jQuery(n).attr("href") + "&passkey=" + system.site.passkey;
});
return urls;
  • 脚本2:用于获取种子详情页面当前种子下载链接,需要返回一个地址;NexusPHP 的默认执行:
// 如果当前页面地址为:https://abc.com/details.php?id=1234
// 以下语句获取结果为:https://abc.com/download.php?id=1234&passkey=定义好的值
tab.url.substr(0, _indexOf) + item.site + "/download.php?id=" + tab.url.getQueryString("id") + "&passkey=" + item.passkey;
  • 脚本3:用于获取种子列表页面拖放种子链接时,获取下载链接,需要返回一个地址;NexusPHP 的默认执行:
id = url.getQueryString("id");
if (id) {
	if (system.site && system.config.droptosend) {
		url = system.site.host + "download.php?id=" + id + "&passkey=" + system.site.passkey;
	}
}