From 18d356fecbc29b463a461c35e61cf672041bf156 Mon Sep 17 00:00:00 2001 From: zzz Date: Thu, 26 Jun 2025 07:33:53 -0400 Subject: [PATCH] Partial fix for display of UDP tracker URLs --- .../src/org/klomp/snark/web/I2PSnarkServlet.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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 91094790e..2b9434b17 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -2476,17 +2476,20 @@ public class I2PSnarkServlet extends BasicServlet { private String getShortTrackerLink(String announce, byte[] infohash) { StringBuilder buf = new StringBuilder(128); String trackerLinkUrl = getTrackerLinkUrl(announce, infohash); - if (announce.startsWith("http://")) + boolean isUDP = false; + if (announce.startsWith("http://")) { announce = announce.substring(7); - else if (announce.startsWith("udp://")) + } else if (announce.startsWith("udp://")) { announce = announce.substring(6); + isUDP = true; + } // strip path int slsh = announce.indexOf('/'); if (slsh > 0) announce = announce.substring(0, slsh); if (trackerLinkUrl != null) { buf.append(trackerLinkUrl); - } else { + } else if (!isUDP) { // browsers don't like a full b64 dest, so convert it to b32 String host = announce; if (host.length() >= 516) { @@ -2515,7 +2518,8 @@ public class I2PSnarkServlet extends BasicServlet { announce = DataHelper.escapeHTML(announce.substring(0, 40)) + "…" + DataHelper.escapeHTML(announce.substring(announce.length() - 8)); buf.append(announce); - buf.append(""); + if (!isUDP) + buf.append(""); return buf.toString(); }