Last active 1698015362

Revision e5118c8d42265d4f426b545a921321660282d6b5

checkcert.pl Raw
1#! /usr/bin/perl
2
3#
4# uses certexp.go from https://thrig.me/src/scripts.git/
5#
6
7# check certs of the form
8#
9# www.lehmann.cx:443
10# irc.libera.chat:6697
11# xmpp.hmm.st:5223
12#
13# only direct TLS connects work, STARTTLS does not
14#
15# typically you would put the program into a cronjob that runs once a day
16#
17# perl checkcert.pl domains.txt
18#
19
20#
21# by alexlehm/at/gmail.com
22#
23
24use strict;
25
26# warn time is 15 days before expiry
27my @time=localtime(time()+15*24*60*60);
28
29my $warntime=sprintf "%04d-%02d-%02d", $time[5]+1900, $time[4]+1, $time[3];
30
31while(<>) {
32 chop;
33
34 next if /^#/;
35
36 my $host=$_;
37
38 open(PIPE, "~/certexp/certexp $host|");
39 my $notafter="";
40
41 while(<PIPE>) {
42 chop;
43 if(/^notAfter (.*)/) {
44 if($notafter eq "" | $1 le $notafter) {
45 $notafter=$1;
46 }
47 }
48 }
49 close PIPE;
50 if($notafter le $warntime) {
51 print "$host $notafter\n";
52 }
53}
54
domains.txt Raw
1ti-l.de:443
2vps.lehmann.cx:443
3www.lehmann.cx:443
4gemini.lehmann.cx:443
5gemini.lehmann.cx:1965
6gemini.lehmann.cx:11965
7womhole.axs.de:993
8womhole.axs.de:995
9womhole.axs.de:465
10