summaryrefslogtreecommitdiff
path: root/web/allpingers/index.wml
blob: 66aa35b8d44ac9ddbb5be3fb95233d4c6201b217 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
  <HEAD>
    <TITLE>Canonical List of All Pingers</TITLE>
    <META name="Description" content="Canonical List of All Pingers">
    <META name="Keywords" content="pinger, stats, statistics, remailer, reliability, anonymous, nym, mixmaster">
  </HEAD>
  <BODY bgcolor="#aaaaaa" text="#000000" LINK="#0000ff" ALINK="#ff0000" VLINK="#ff0000">
    <TABLE cellpadding=0 cellspacing=0 width="100%">
      <TR><TD colspan=2 bgcolor="#444444"><FONT color="#ffffff"><A href="/"><FONT color="#bbbbff">www.noreply.org</FONT></A> :: All Pingers</FONT></TD></TR>
      <TR><TD colspan=2 bgcolor="#ffffff">&nbsp;</TD></TR>
      <TR><TD bgcolor="#ffffff">&nbsp;</TD>
	<TD bgcolor="#ffffff">
	  
	 <h1>Canonical List of All Pingers</h1>
	 <p>
	 <table border=1>
	 <tr>
		 <th>Pinger</th>
		 <th>CPunk V1</th>
		 <th>CPunk V2</th>
		 <th>Mix V1</th>
		 <th>Mix V2</th>
		 <th>rchain</th>
		 <th>PGP Keyring</th>
		 <th>Mix Keyring</th>
		 <th>Comment</th>
	 </tr>
	 <:
	 	use warnings;
		use strict;
	 	sub join_links($$) {
			my ($a, $b) = @_;
			if (defined $a) {
				if (defined $b) {
					return $a.' '.$b;
				} else {
					return $a;
				};
			} else {
				if (defined $b) {
					return $b;
				} else {
					return '&nbsp';
				};
			};
		};
		open(F,"allpingers.txt") or die("Could not open allpingers.txt: $!");
		my $source;
		my %pinger;
		while(<F>) {
			s/\s*(.*)\s*/$1/;
			next if (/^\s*#/);
			$source = $1, next if (/^\[(.*)\]$/);
			if (/(.+?)\s*=\s*(.+)/) {
				$pinger{$source}->{$1} = $2 if defined $source;
			};
		}
		close(F);
		for $source (sort keys %pinger) {
			print("<TR>\n");
			printf('<td><a href="%s">%s</a></td>', $pinger{$source}->{base}, $source);
			my $r1_t = sprintf('<a href="%s">T</a>', $pinger{$source}->{rlist}      ) if defined $pinger{$source}->{rlist};
			my $r1_h = sprintf('<a href="%s">H</a>', $pinger{$source}->{rlist_html} ) if defined $pinger{$source}->{rlist_html};
			my $r2_t = sprintf('<a href="%s">T</a>', $pinger{$source}->{rlist2}     ) if defined $pinger{$source}->{rlist2};
			my $r2_h = sprintf('<a href="%s">H</a>', $pinger{$source}->{rlist2_html}) if defined $pinger{$source}->{rlist2_html};
			my $m1_t = sprintf('<a href="%s">T</a>', $pinger{$source}->{mlist}      ) if defined $pinger{$source}->{mlist};
			my $m1_h = sprintf('<a href="%s">H</a>', $pinger{$source}->{mlist_html} ) if defined $pinger{$source}->{mlist_html};
			my $m2_t = sprintf('<a href="%s">T</a>', $pinger{$source}->{mlist2}     ) if defined $pinger{$source}->{mlist2};
			my $m2_h = sprintf('<a href="%s">H</a>', $pinger{$source}->{mlist2_html}) if defined $pinger{$source}->{mlist2_html};
			my $rchain_t = sprintf('<a href="%s">T</a>', $pinger{$source}->{rchain}     ) if defined $pinger{$source}->{rchain};
			my $rchain_h = sprintf('<a href="%s">H</a>', $pinger{$source}->{rchain_html}) if defined $pinger{$source}->{rchain_html};
			my $pgp      = sprintf('<a href="%s">ALL</a>', $pinger{$source}->{pgpring}    ) if defined $pinger{$source}->{pgpring};
			my $pgp_rsa  = sprintf('<a href="%s">RSA</a>', $pinger{$source}->{pgpring_rsa}) if defined $pinger{$source}->{pgpring_rsa};
			my $mixring  = sprintf('<a href="%s"><code>pubring.mix</code></a>', $pinger{$source}->{mixring}    ) if defined $pinger{$source}->{mixring};
			my $typelist = sprintf('<a href="%s"><code>type2.list</code></a>', $pinger{$source}->{type2list}  ) if defined $pinger{$source}->{type2list};
			my $comment = $pinger{$source}->{comment};
			
			printf('<td align="center">%s</td>', join_links($r1_t, $r1_h));
			printf('<td align="center">%s</td>', join_links($r2_t, $r2_h));
			printf('<td align="center">%s</td>', join_links($m1_t, $m1_h));
			printf('<td align="center">%s</td>', join_links($m2_t, $m2_h));
			printf('<td align="center">%s</td>', join_links($rchain_t, $rchain_h));
			printf('<td align="center">%s</td>', join_links($pgp, $pgp_rsa));
			printf('<td align="center">%s</td>', join_links($mixring, $typelist));
			printf('<td align="left">%s</td>', (defined $comment && $comment ne '') ? $comment : '&nbsp');
			
			print("</TR>\n");
		}
	 :>
	 </table>

	 <p>
	 If anything is wrong/broken/needs to be added/removed please mail the maintainer at <a href="mailto:web@palfrader.org">web@palfrader.org</a>.
	 <p>
	 The canonical list of all pingers in a machine readable format can be
	 found here: <a href="allpingers.txt"><code>allpingers.txt</code></a>.
	 It was last updated <: print scalar gmtime() :>.
	 <p>
	 For testing purposes I've also generated an <a href="allpingers.xml">XML
	 document</a> with all pingers. Feedback especially on the DTD is very
	 much apprechiated.

	 #<hr>
	 #<p>
	 #A similar list can be found at Frog's: <a href="http://www.privacyresources.org/frogadmin/Pingers.html">http://www.privacyresources.org/frogadmin/Pingers.html</a>.
	  
      </TD></TR>
      <TR><TD colspan=2 bgcolor="#ffffff">&nbsp;</TD></TR>
      <TR><TD colspan=2 bgcolor="#444444"><FONT color="#ffffff"><EM><a href="mailto:web@palfrader.org"><font color="#bbbbff">web@palfrader.org</font></a></EM> -
      <a href="http://validator.w3.org/check/referer"><font color="#bbbbff">Valid HTML 4.01!</font></a></FONT></TD></TR>
    </TABLE>
  </BODY>
</HTML>