diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
index 3907b9587..0b1322fd3 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
@@ -1325,7 +1325,7 @@ public class I2PSnarkServlet extends DefaultServlet {
* @return string or null
* @since 0.8.4
*/
- private String getTrackerLink(String announce, byte[] infohash) {
+ private String getTrackerLinkUrl(String announce, byte[] infohash) {
// temporarily hardcoded for postman* and anonymity, requires bytemonsoon patch for lookup by info_hash
if (announce != null && (announce.startsWith("http://YRgrgTLG") || announce.startsWith("http://8EoJZIKr") ||
announce.startsWith("http://lnQ6yoBT") || announce.startsWith("http://tracker2.postman.i2p/") ||
@@ -1341,15 +1341,29 @@ public class I2PSnarkServlet extends DefaultServlet {
StringBuilder buf = new StringBuilder(128);
buf.append("" +
- "");
+ .append("\" title=\"").append(_("Details at {0} tracker", name)).append("\" target=\"_blank\">");
return buf.toString();
}
}
return null;
}
+ /**
+ * @return string or null
+ * @since 0.8.4
+ */
+ private String getTrackerLink(String announce, byte[] infohash) {
+ String linkUrl = getTrackerLinkUrl(announce, infohash);
+ if (linkUrl != null) {
+ StringBuilder buf = new StringBuilder(128);
+ buf.append(linkUrl)
+ .append("
");
+ return buf.toString();
+ }
+ return null;
+ }
+
private void writeAddForm(PrintWriter out, HttpServletRequest req) throws IOException {
// display incoming parameter if a GET so links will work
String newURL = req.getParameter("newURL");
@@ -2074,6 +2088,9 @@ public class I2PSnarkServlet extends DefaultServlet {
if (trackerLink != null)
buf.append(trackerLink).append(' ');
buf.append("").append(_("Tracker")).append(": ");
+ String trackerLinkUrl = getTrackerLinkUrl(announce, snark.getInfoHash());
+ if (trackerLinkUrl != null)
+ buf.append(trackerLinkUrl);
if (announce.startsWith("http://"))
announce = announce.substring(7);
int slsh = announce.indexOf('/');
@@ -2081,15 +2098,19 @@ public class I2PSnarkServlet extends DefaultServlet {
announce = announce.substring(0, slsh);
if (announce.length() > 67)
announce = announce.substring(0, 40) + "…" + announce.substring(announce.length() - 8);
- buf.append(announce).append("");
+ buf.append(announce);
+ if (trackerLinkUrl != null)
+ buf.append("");
+ buf.append("");
}
}
String hex = I2PSnarkUtil.toHex(snark.getInfoHash());
if (meta == null || !meta.isPrivate()) {
- buf.append("