在"增加 Tracker"中新增 "Best Trackers" 和 "All Trackers" 按钮。

实现自动从 ngosang/trackerslist 中获取 trackers_best_ip 和 trackers_all_ip 。
This commit is contained in:
EchoSun
2019-06-29 19:59:27 +08:00
parent ff9a7046a5
commit bf7de2ab13

View File

@@ -15,71 +15,71 @@
</div>
</div>
<script type="text/javascript">
(function (thisDialog) {
var title = "tip".split(",");
var torrent = transmission.torrents.all[system.currentTorrentId];
(function (thisDialog) {
var title = "tip".split(",");
var torrent = transmission.torrents.all[system.currentTorrentId];
$.each(title, function (i, item) {
thisDialog.find("#dialog-torrent-attribute-add-tracker-" + item).html(system.lang.dialog[
"torrent-attribute-add-tracker"][item]);
});
$.each(title, function (i, item) {
thisDialog.find("#dialog-torrent-attribute-add-tracker-" + item).html(system.lang.dialog[
"torrent-attribute-add-tracker"][item]);
});
thisDialog.find(".title").css({
background: "#e6e6e6"
});
thisDialog.find(".title").css({
background: "#e6e6e6"
});
title = "button-ok,button-cancel".split(",");
$.each(title, function (i, item) {
thisDialog.find("#torrent-attribute-add-tracker-" + item).html(system.lang.dialog["public"][item]);
});
title = "button-ok,button-cancel".split(",");
$.each(title, function (i, item) {
thisDialog.find("#torrent-attribute-add-tracker-" + item).html(system.lang.dialog["public"][item]);
});
thisDialog.find("#text-nochange").html(system.lang["public"]["text-nochange"]);
thisDialog.find("#text-nochange").html(system.lang["public"]["text-nochange"]);
// 确认
thisDialog.find("#torrent-attribute-add-tracker-button-ok").click(function () {
var urls = thisDialog.find("#txtTrackers").val();
var button = $(this);
// 确认
thisDialog.find("#torrent-attribute-add-tracker-button-ok").click(function () {
var urls = thisDialog.find("#txtTrackers").val();
var button = $(this);
if (urls != "") {
var newTrackers = [];
var items = urls.split("\n");
$.each(items, function(index, value) {
if (isURL(value) && newTrackers.indexOf(value)==-1) {
newTrackers.push(value);
}
});
if (newTrackers.length==0) {
thisDialog.find("#text-nochange").html(system.lang["public"]["text-nochange"]).fadeInAndOut();
return;
}
var icon = button.linkbutton("options").iconCls;
button.linkbutton({
disabled: true,
iconCls: "icon-loading"
});
transmission.exec({
method: "torrent-set",
arguments: {
ids: system.currentTorrentId,
trackerAdd: newTrackers
}
}, function (data) {
button.linkbutton({
iconCls: icon,
disabled: false
});
if (urls != "") {
var newTrackers = [];
var items = urls.split("\n");
$.each(items, function(index, value) {
if (isURL(value) && newTrackers.indexOf(value)==-1) {
newTrackers.push(value);
}
});
if (newTrackers.length==0) {
thisDialog.find("#text-nochange").html(system.lang["public"]["text-nochange"]).fadeInAndOut();
return;
}
var icon = button.linkbutton("options").iconCls;
button.linkbutton({
disabled: true,
iconCls: "icon-loading"
});
transmission.exec({
method: "torrent-set",
arguments: {
ids: system.currentTorrentId,
trackerAdd: newTrackers
}
}, function (data) {
button.linkbutton({
iconCls: icon,
disabled: false
});
if (data.result == "success") {
system.getTorrentInfos(system.currentTorrentId);
thisDialog.dialog("close");
}
});
} else {
thisDialog.find("#text-nochange").html(system.lang["public"]["text-nochange"]).fadeInAndOut();
}
if (data.result == "success") {
system.getTorrentInfos(system.currentTorrentId);
thisDialog.dialog("close");
}
});
} else {
thisDialog.find("#text-nochange").html(system.lang["public"]["text-nochange"]).fadeInAndOut();
}
});
});
thisDialog.find("#torrent-attribute-add-tracker-button-search-best-ip").click(function () {
var trackersURL = "https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best_ip.txt"
$.get(trackersURL,function(data){
@@ -93,13 +93,13 @@
$("#txtTrackers").html(data);
});
});
thisDialog.find("#torrent-attribute-add-tracker-button-cancel").click(function () {
thisDialog.dialog("close");
});
thisDialog.find("#torrent-attribute-add-tracker-button-cancel").click(function () {
thisDialog.dialog("close");
});
function isURL(v) {
return /^[a-zA-z]+:\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?$/.test(v);
}
})($("#dialog-torrent-attribute-add-tracker"));
function isURL(v) {
return /^[a-zA-z]+:\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?$/.test(v);
}
})($("#dialog-torrent-attribute-add-tracker"));
</script>