Changeset 2ae91a9


Ignore:
Timestamp:
Dec 27, 2010 6:08:43 PM (9 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
01b67ac
Parents:
71043c4
Message:

listing info tweaks

File:
1 edited

Legend:

Unmodified
Added
Removed
  • apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java

    r71043c4 r2ae91a9  
    828828
    829829        out.write("<td class=\"" + rowClass + "\">");
    830         // temporarily hardcoded for postman* and anonymity, requires bytemonsoon patch for lookup by info_hash
    831830        String announce = null;
    832         if (isValid)
     831        if (isValid) {
    833832            announce = meta.getAnnounce();
    834         if (announce != null && (announce.startsWith("http://YRgrgTLG") || announce.startsWith("http://8EoJZIKr") ||
    835               announce.startsWith("http://lnQ6yoBT") || announce.startsWith("http://tracker2.postman.i2p/") ||
    836               announce.startsWith("http://ahsplxkbhemefwvvml7qovzl5a2b5xo5i7lyai7ntdunvcyfdtna.b32.i2p/"))) {
    837             Map trackers = _manager.getTrackers();
    838             for (Iterator iter = trackers.entrySet().iterator(); iter.hasNext(); ) {
    839                 Map.Entry entry = (Map.Entry)iter.next();
    840                 String name = (String)entry.getKey();
    841                 String baseURL = (String)entry.getValue();
    842                 if (!(baseURL.startsWith(announce) || // vvv hack for non-b64 announce in list vvv
    843                       (announce.startsWith("http://lnQ6yoBT") && baseURL.startsWith("http://tracker2.postman.i2p/")) ||
    844                       (announce.startsWith("http://ahsplxkbhemefwvvml7qovzl5a2b5xo5i7lyai7ntdunvcyfdtna.b32.i2p/") && baseURL.startsWith("http://tracker2.postman.i2p/"))))
    845                     continue;
    846                 int e = baseURL.indexOf('=');
    847                 if (e < 0)
    848                     continue;
    849                 baseURL = baseURL.substring(e + 1);
    850                 out.write("<a href=\"" + baseURL + "details.php?dllist=1&amp;filelist=1&amp;info_hash=");
    851                 out.write(TrackerClient.urlencode(snark.getInfoHash()));
    852                 out.write("\" title=\"" + _("Details at {0} tracker", name) + "\" target=\"_blank\">");
    853                 out.write("<img alt=\"" + _("Info") + "\" border=\"0\" src=\"" + _imgPath + "details.png\">");
    854                 out.write("</a>");
    855                 break;
     833            if (announce != null) {
     834                String trackerLink = getTrackerLink(announce, snark.getInfoHash());
     835                if (trackerLink != null)
     836                    out.write(trackerLink);
    856837            }
    857838        }
     
    10951076    }
    10961077
     1078    /**
     1079     *  @return string or null
     1080     *  @since 0.8.4
     1081     */
     1082    private String getTrackerLink(String announce, byte[] infohash) {
     1083        // temporarily hardcoded for postman* and anonymity, requires bytemonsoon patch for lookup by info_hash
     1084        if (announce != null && (announce.startsWith("http://YRgrgTLG") || announce.startsWith("http://8EoJZIKr") ||
     1085              announce.startsWith("http://lnQ6yoBT") || announce.startsWith("http://tracker2.postman.i2p/") ||
     1086              announce.startsWith("http://ahsplxkbhemefwvvml7qovzl5a2b5xo5i7lyai7ntdunvcyfdtna.b32.i2p/"))) {
     1087            Map<String, String> trackers = _manager.getTrackers();
     1088            for (Map.Entry<String, String> entry : trackers.entrySet()) {
     1089                String baseURL = entry.getValue();
     1090                if (!(baseURL.startsWith(announce) || // vvv hack for non-b64 announce in list vvv
     1091                      (announce.startsWith("http://lnQ6yoBT") && baseURL.startsWith("http://tracker2.postman.i2p/")) ||
     1092                      (announce.startsWith("http://ahsplxkbhemefwvvml7qovzl5a2b5xo5i7lyai7ntdunvcyfdtna.b32.i2p/") && baseURL.startsWith("http://tracker2.postman.i2p/"))))
     1093                    continue;
     1094                int e = baseURL.indexOf('=');
     1095                if (e < 0)
     1096                    continue;
     1097                baseURL = baseURL.substring(e + 1);
     1098                String name = entry.getKey();
     1099                StringBuilder buf = new StringBuilder(128);
     1100                buf.append("<a href=\"").append(baseURL).append("details.php?dllist=1&amp;filelist=1&amp;info_hash=")
     1101                   .append(TrackerClient.urlencode(infohash))
     1102                   .append("\" title=\"").append(_("Details at {0} tracker", name)).append("\" target=\"_blank\">" +
     1103                          "<img alt=\"").append(_("Info")).append("\" border=\"0\" src=\"")
     1104                   .append(_imgPath).append("details.png\"></a>");
     1105                return buf.toString();
     1106            }
     1107        }
     1108        return null;
     1109    }
     1110
    10971111    private void writeAddForm(PrintWriter out, HttpServletRequest req) throws IOException {
    10981112        String uri = req.getRequestURI();
     
    15781592            buf.append("<br>").append(_("Pieces")).append(": ").append(pieces);
    15791593            buf.append("<br>").append(_("Piece size")).append(": ").append(formatSize(snark.getPieceLength(0)));
     1594
     1595            if (meta != null) {
     1596                String announce = meta.getAnnounce();
     1597                if (announce != null) {
     1598                    String trackerLink = getTrackerLink(announce, snark.getInfoHash());
     1599                    if (trackerLink != null) {
     1600                        if (announce.startsWith("http://"))
     1601                            announce = announce.substring(7);
     1602                        int slsh = announce.indexOf('/');
     1603                        if (slsh > 0)
     1604                            announce = announce.substring(0, slsh);
     1605                        buf.append("<br>").append(trackerLink).append(' ').append(announce);
     1606                    }
     1607                }
     1608            }
     1609
    15801610            String hex = I2PSnarkUtil.toHex(snark.getInfoHash());
    1581             buf.append("<br>").append(_("Magnet link")).append(": <a href=\"").append(MAGNET).append(hex).append("\">")
     1611            buf.append("<br>").append(toImg("magnet", _("Magnet link"))).append(" <a href=\"")
     1612               .append(MAGNET).append(hex).append("\">")
    15821613               .append(MAGNET).append(hex).append("</a>");
    15831614            // We don't have the hash of the torrent file
Note: See TracChangeset for help on using the changeset viewer.