diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/PublicInbox/WwwStream.pm | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/PublicInbox/WwwStream.pm b/lib/PublicInbox/WwwStream.pm index bdc8048d..de457b48 100644 --- a/lib/PublicInbox/WwwStream.pm +++ b/lib/PublicInbox/WwwStream.pm @@ -8,6 +8,7 @@ use warnings; use PublicInbox::Hval qw(ascii_html); use URI; use constant PI_URL => 'https://public-inbox.org/'; +our $TOR_URL = 'https://www.torproject.org/'; sub close {} @@ -68,8 +69,10 @@ sub _html_end { chop $http; my %seen = ( $http => 1 ); my @urls = ($http); + my $need_tor; foreach my $u (@{$obj->cloneurl}) { next if $seen{$u}; + $need_tor = 1 if $u =~ m!\A[^:]+://\w+\.onion/!; $seen{$u} = 1; push @urls, $u =~ /\Ahttps?:/ ? qq(<a\nhref="$u">$u</a>) : $u; } @@ -79,12 +82,17 @@ sub _html_end { $urls .= "\n" . join("\n", map { "\tgit clone --mirror $_" } @urls); } + + if ($need_tor) { + $urls .= "\n note: .onion URLs require Tor: "; + $urls .= qq[<a\nhref="$TOR_URL">$TOR_URL</a>]; + } my $url = PublicInbox::Hval::prurl($ctx->{env}, PI_URL); - '<hr><pre>'.join("\n", - '- ' . $desc, + '<hr><pre>'.join("\n\n", + $desc, $urls, 'Served with public-inbox: '. - qq(git clone <a\nhref="$url">$url</a> public-inbox), + qq(git clone <a\nhref="$url">$url</a> public-inbox) ).'</pre></body></html>'; } |