1 0c631feb 2023-09-07 izzyb #!/usr/bin/perl
4 0c631feb 2023-09-07 izzyb use warnings;
8 0c631feb 2023-09-07 izzyb my $ipv4 = '38.87.162.191';
9 0c631feb 2023-09-07 izzyb my $ipv6 = '2602:fccf:1:1191::';
10 0c631feb 2023-09-07 izzyb my $domain = 'user.planetofnix.com';
12 0c631feb 2023-09-07 izzyb my $shellname = shift;
13 0c631feb 2023-09-07 izzyb my $username = shift;
14 0c631feb 2023-09-07 izzyb my $password = shift;
17 0c631feb 2023-09-07 izzyb my $shell = {
18 0c631feb 2023-09-07 izzyb mail_domains => qq{$shellname.$domain\n},
19 0c631feb 2023-09-07 izzyb mail_mailname_config => qq{$shellname.$domain\n},
21 0c631feb 2023-09-07 izzyb $shellname 3600 IN A $ipv4
22 0c631feb 2023-09-07 izzyb 3600 IN AAAA $ipv6
23 0c631feb 2023-09-07 izzyb 3600 IN MX 10 mail
24 0c631feb 2023-09-07 izzyb imap.$shellname 3600 IN CNAME imap
25 0c631feb 2023-09-07 izzyb pop.$shellname 3600 IN CNAME pop
26 0c631feb 2023-09-07 izzyb pop3.$shellname 3600 IN CNAME pop3
27 0c631feb 2023-09-07 izzyb smtp.$shellname 3600 IN CNAME smtp
28 0c631feb 2023-09-07 izzyb mail.$shellname 3600 IN CNAME mail
29 0c631feb 2023-09-07 izzyb _xmpp-client._tcp.$shellname 3600 IN SRV 0 5 5222 xmpp
30 0c631feb 2023-09-07 izzyb _xmpp-server._tcp.$shellname 3600 IN SRV 0 5 5269 xmpp
32 0c631feb 2023-09-07 izzyb acme_client => qq{
33 0c631feb 2023-09-07 izzyb domain $shellname.$domain {
34 0c631feb 2023-09-07 izzyb domain key "/etc/ssl/private/$shellname.$domain.key"
35 0c631feb 2023-09-07 izzyb domain full chain certificate "/etc/ssl/$shellname.$domain.fullchain.pem"
36 0c631feb 2023-09-07 izzyb sign with letsencrypt
39 0c631feb 2023-09-07 izzyb prosody_config => qq{
40 0c631feb 2023-09-07 izzyb VirtualHost "$shellname.$domain"
42 0c631feb 2023-09-07 izzyb certificate = "/etc/prosody/certs/$shellname.$domain.fullchain.pem";
43 0c631feb 2023-09-07 izzyb key = "/etc/prosody/certs/$shellname.$domain.key";
48 0c631feb 2023-09-07 izzyb my $user = {
49 0c631feb 2023-09-07 izzyb mail_Virtual => qq{$username\@$shellname.$domain vmail},
50 0c631feb 2023-09-07 izzyb mail_user => qq{$username\@$shellname.$domain: $username\@$shellname.$domain},
51 0c631feb 2023-09-07 izzyb mail_passwd => "$username\@$shellname.$domain:$password"."::::::userdb_quota_rule=*:storage=1G",
54 0c631feb 2023-09-07 izzyb use Data::Dumper;
55 0c631feb 2023-09-07 izzyb print Dumper($shell);
56 0c631feb 2023-09-07 izzyb print Dumper($user);