#
# Standalone PSGI app to handle HTTP(s) unsubscribe links generated
@@ -12,7 +12,8 @@ use warnings;
use Crypt::CBC;
use Plack::Util;
use MIME::Base64 qw(decode_base64url);
-my $CODE_URL = 'https://public-inbox.org/public-inbox.git';
+my @CODE_URL = qw(http://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/public-inbox.git
+ https://public-inbox.org/public-inbox.git);
my @CT_HTML = ('Content-Type', 'text/html; charset=UTF-8');
sub new {
@@ -38,13 +39,15 @@ sub new {
my $unsubscribe = $opt{unsubscribe} or
die "`unsubscribe' callback not given\n";
+ my $code_url = $opt{code_url} || \@CODE_URL;
+ $code_url = [ $code_url ] if ref($code_url) ne 'ARRAY';
bless {
- pi_config => $opt{pi_config}, # PublicInbox::Config
+ pi_cfg => $opt{pi_config}, # PublicInbox::Config
owner_email => $opt{owner_email},
cipher => $cipher,
unsubscribe => $unsubscribe,
contact => qq($e),
- code_url => $opt{code_url} || $CODE_URL,
+ code_url => $code_url,
confirm => $opt{confirm},
}, $class;
}
@@ -138,7 +141,7 @@ sub r {
"$title".
join("\n", "$title\n", @body) . '
'.
"This page is available under AGPL-3.0+\n" .
- "git clone $self->{code_url}\n" .
+ join('', map { "git clone $_\n" } @{$self->{code_url}}) .
qq(Email $self->{contact} if you have any questions).
'
'
] ];
@@ -149,11 +152,11 @@ sub archive_info {
my $archive_url = $self->{archive_urls}->{$list_addr};
unless ($archive_url) {
- if (my $config = $self->{pi_config}) {
+ if (my $cfg = $self->{pi_cfg}) {
# PublicInbox::Config::lookup
- my $inbox = $config->lookup($list_addr);
+ my $ibx = $cfg->lookup($list_addr);
# PublicInbox::Inbox::base_url
- $archive_url = $inbox->base_url if $inbox;
+ $archive_url = $ibx->base_url if $ibx;
}
}