]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Unsubscribe.pm
treewide: update to v3 Tor onions
[public-inbox.git] / lib / PublicInbox / Unsubscribe.pm
index 79234aa170aeb20a6cae3b5eff03b4e7d475cae7..d583b9c9831bcc3f145b4beaaf8ab66feb056452 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2016 all contributors <meta@public-inbox.org>
+# Copyright (C) 2016-2021 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 #
 # 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 = 'git://80x24.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(<a\nhref="mailto:$e">$e</a>),
-               code_url => $opt{code_url} || $CODE_URL,
+               code_url => $code_url,
                confirm => $opt{confirm},
        }, $class;
 }
@@ -136,9 +139,9 @@ sub r {
        my ($self, $code, $title, @body) = @_;
        [ $code, [ @CT_HTML ], [
                "<html><head><title>$title</title></head><body><pre>".
-               join("\n", "<b>$title</b>\n", @body) . '</pre><hr />'.
+               join("\n", "<b>$title</b>\n", @body) . '</pre><hr>'.
                "<pre>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).
                '</pre></body></html>'
        ] ];
@@ -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;
                }
        }