initial commit of file from CVS for smeserver-fail2ban on Sat Sep 7 19:53:17 AEST 2024
This commit is contained in:
@@ -0,0 +1,180 @@
|
||||
% layout 'default', title => "Sme server 2 - fail2ban";
|
||||
|
||||
% content_for 'module' => begin
|
||||
|
||||
<div id="module" class="module fail2ban-panel">
|
||||
|
||||
%if ($config->{debug} == 1) {
|
||||
<p>
|
||||
%= dumper $c->current_route
|
||||
%= dumper $f2b_datas
|
||||
</p>
|
||||
%}
|
||||
|
||||
% if ( stash 'error' ) {
|
||||
<br><div class=sme-error>
|
||||
%= $c->render_to_string(inline => stash 'error')
|
||||
</div>
|
||||
%}
|
||||
|
||||
<h1><%= $title %></h1>
|
||||
|
||||
%= form_for '/fail2ban' => (method => 'POST') => begin
|
||||
<p>
|
||||
%=l('f2b_SERVICE_STATUS')
|
||||
<br><span class=label>
|
||||
%=l 'f2b_STATUS'
|
||||
</span><span class=input>
|
||||
% param 'Status' => $f2b_datas->{status} unless param 'Status';
|
||||
%= select_field 'Status' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
|
||||
</span></p>
|
||||
<p>
|
||||
%=l('f2b_FilterLocalNetworks_STATUS')
|
||||
<br><span class=label>
|
||||
%=l 'f2b_FilterLocalNetworks'
|
||||
</span><span class=input>
|
||||
% param 'FilterLocalNetworks' => $f2b_datas->{filterlocalnetworks} unless param 'FilterLocalNetworks';
|
||||
%= select_field 'FilterLocalNetworks' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
|
||||
</span></p>
|
||||
<p>
|
||||
%=l('f2b_FilterValidRemoteHosts_STATUS')
|
||||
<br><span class=label>
|
||||
%=l 'f2b_FilterValidRemoteHosts'
|
||||
</span><span class=input>
|
||||
% param 'FilterValidRemoteHosts' => $f2b_datas->{filtervalidremotehosts} unless param 'FilterValidRemoteHosts';
|
||||
%= select_field 'FilterValidRemoteHosts' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
|
||||
</span></p>
|
||||
<p>
|
||||
%=l('f2b_SEND_MAIL_STATUS')
|
||||
<br><span class=label>
|
||||
%=l 'f2b_MAIL'
|
||||
</span><span class=input>
|
||||
% param 'Mail' => $f2b_datas->{mail} unless param 'Mail';
|
||||
%= select_field 'Mail' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
|
||||
</span></p>
|
||||
<p><span class=label>
|
||||
%=l 'f2b_DEFAULT_BANTIME'
|
||||
</span><span class=input>
|
||||
% param 'BanTime' => $f2b_datas->{bantime} unless param 'BanTime';
|
||||
%= text_field 'BanTime', size => '9', class => 'input'
|
||||
</span><span class=label2>
|
||||
%=l 'f2b_DEFAULT_FINDTIME'
|
||||
</span><span class=input>
|
||||
% param 'FindTime' => $f2b_datas->{findtime} unless param 'FindTime';
|
||||
%= text_field 'FindTime', size => '6', class => 'input'
|
||||
</span><span class=label2>
|
||||
%=l 'f2b_DEFAULT_MAXRETRY'
|
||||
</span><span class=input>
|
||||
% param 'MaxRetry' => $f2b_datas->{maxretry} unless param 'MaxRetry';
|
||||
%= text_field 'MaxRetry', size => '2', class => 'input'
|
||||
</span></p>
|
||||
<p>
|
||||
%=l('f2b_SSHD_STATUS')
|
||||
<br><span class=label>
|
||||
%=l 'f2b_SSHD'
|
||||
</span><span class=input>
|
||||
% param 'Sshd' => $f2b_datas->{sshd} unless param 'Sshd';
|
||||
%= select_field 'Sshd' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
|
||||
</span></p><p>
|
||||
%=l('f2b_QPSMTPD_STATUS')
|
||||
<br><span class=label>
|
||||
%=l 'f2b_QPSMTPD'
|
||||
</span><span class=input>
|
||||
% param 'Qpsmtpd' => $f2b_datas->{qpsmtpd} unless param 'Qpsmtpd';
|
||||
%= select_field 'Qpsmtpd' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
|
||||
</span></p>
|
||||
<p>
|
||||
%=l('f2b_IMAP_STATUS')
|
||||
<br><span class=label>
|
||||
%=l 'f2b_IMAP'
|
||||
</span><span class=input>
|
||||
% param 'Dovecot' => $f2b_datas->{dovecot} unless param 'Dovecot';
|
||||
%= select_field 'Dovecot' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
|
||||
</span></p>
|
||||
<p>
|
||||
%=l('f2b_HTTPD_STATUS')
|
||||
<br><span class=label>
|
||||
%=l 'f2b_HTTPD'
|
||||
</span><span class=input>
|
||||
% param 'Httpd-e-smith' => $f2b_datas->{'httpd-e-smith'} unless param 'Httpd-e-smith';
|
||||
%= select_field 'Httpd-e-smith' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
|
||||
</span></p>
|
||||
<p>
|
||||
%=l('f2b_FTP_STATUS')
|
||||
<br><span class=label>
|
||||
%=l 'f2b_FTP'
|
||||
</span><span class=input>
|
||||
% param 'Ftp' => $f2b_datas->{ftp} unless param 'Ftp';
|
||||
%= select_field 'Ftp' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
|
||||
</span></p>
|
||||
<p>
|
||||
%=l('f2b_LEMONLDAP_STATUS')
|
||||
<br><span class=label>
|
||||
%=l 'f2b_LEMONLDAP'
|
||||
</span><span class=input>
|
||||
% param 'Lemonldap' => $f2b_datas->{lemonldap} unless param 'Lemonldap';
|
||||
%= select_field 'Lemonldap' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
|
||||
</span></p>
|
||||
<p>
|
||||
%=l('f2b_EJABBERD_STATUS')
|
||||
<br><span class=label>
|
||||
%=l 'f2b_EJABBERD'
|
||||
</span><span class=input>
|
||||
% param 'Ejabberd' => $f2b_datas->{ejabberd} unless param 'Ejabberd';
|
||||
%= select_field 'Ejabberd' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
|
||||
</span></p>
|
||||
<p>
|
||||
%=l('f2b_SOGOD_STATUS')
|
||||
<br><span class=label>
|
||||
%=l 'f2b_SOGOD'
|
||||
</span><span class=input>
|
||||
% param 'Sogod' => $f2b_datas->{sogod} unless param 'Sogod';
|
||||
%= select_field 'Sogod' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
|
||||
</span></p>
|
||||
<p>
|
||||
%=l('f2b_WORDPRESS_STATUS')
|
||||
<br><span class=label>
|
||||
%=l 'f2b_WORDPRESS'
|
||||
</span><span class=input>
|
||||
% param 'Wordpress' => $f2b_datas->{wordpress} unless param 'Wordpress';
|
||||
%= select_field 'Wordpress' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
|
||||
</span></p>
|
||||
<p>
|
||||
%=l('f2b_SMANAGER_STATUS')
|
||||
<br><span class=label>
|
||||
%=l 'f2b_SMANAGER'
|
||||
</span><span class=input>
|
||||
% param 'Smanager' => $f2b_datas->{smanager} unless param 'Smanager';
|
||||
%= select_field 'Smanager' => [[(l 'DISABLED') => 'disabled'], [(l 'ENABLED') => 'enabled']], class => 'input'
|
||||
</span></p>
|
||||
|
||||
%= include 'partials/_f2b_valid'
|
||||
|
||||
<p>
|
||||
%=l('f2b_DESC_ADD_IP')
|
||||
<br><span class=label>
|
||||
%=l 'f2b_ADD_IP'
|
||||
</span><span class=input>
|
||||
% param 'Ip' => $f2b_datas->{ip} unless param 'Ip';
|
||||
%= text_field 'Ip', class => 'input'
|
||||
</span></p>
|
||||
<p>
|
||||
%=l('f2b_DESC_ADD_BITS')
|
||||
<br><span class=label>
|
||||
%=l 'f2b_ADD_BITS'
|
||||
</span><span class=input>
|
||||
% param 'Bits' => $f2b_datas->{bits} unless param 'Bits';
|
||||
%= text_field 'Bits', class => 'input'
|
||||
</span></p>
|
||||
|
||||
<div class='center'>
|
||||
%= submit_button $c->l('SAVE'), class => 'action'
|
||||
</div>
|
||||
|
||||
% end
|
||||
|
||||
%= include 'partials/_f2b_blocked'
|
||||
|
||||
</div>
|
||||
|
||||
%end
|
@@ -0,0 +1,47 @@
|
||||
<div id="f2b_blocked">
|
||||
<hr class='sectionbar' /><h2>
|
||||
%=l 'f2b_CURRENT_DENY_TITLE'
|
||||
</h2><p>
|
||||
%=l 'f2b_CURRENT_DENY_DESC'
|
||||
</p>
|
||||
|
||||
% my @denys = @{$c->get_current_deny()};
|
||||
% if ($config->{debug} == 1) {
|
||||
<p><%= dumper @denys %></p>
|
||||
% }
|
||||
|
||||
% if ( @denys ) {
|
||||
<p>
|
||||
<table class="sme-border"><tbody>
|
||||
<tr><th class='sme-border'>
|
||||
%=l 'IP_ADDRESS'
|
||||
</th><th class='sme-border'>
|
||||
%=l 'f2b_JAIL'
|
||||
</th><th class='sme-border'>
|
||||
%=l 'ACTION'
|
||||
</th></tr>
|
||||
% foreach my $sval ( @denys) {
|
||||
% my @ssval = split(':',$sval);
|
||||
% my $curjail = $ssval[0];
|
||||
% $curjail =~ s/^\s//;
|
||||
% my @ssvalip = split(' ',$ssval[1]);
|
||||
% foreach my $sssval (@ssvalip) {
|
||||
% my $ip=$sssval;
|
||||
% my $action3 = "<a href=\"fail2ban2?action=RemoveIP".
|
||||
% "&IP=$ip&Jail=$curjail\">".$c->l('REMOVE')."</a>" .
|
||||
% " <a href=\"fail2ban2?action=RemoveIP&IP=$ip" .
|
||||
% "&Jail=$curjail&Whitelist=true\">".$c->l('WHITELIST')."</a>" ;
|
||||
<tr>
|
||||
%= t td => (class => 'sme-border') => "$ip"
|
||||
%= t td => (class => 'sme-border') => "$curjail"
|
||||
<td class='sme-border'><%= $c->render_to_string(inline => $action3) %></td>
|
||||
</tr>
|
||||
% }
|
||||
% }
|
||||
</tbody></table></span></p>
|
||||
% } else {
|
||||
<b>
|
||||
%=l 'f2b_NO_ENTRIES_YET';
|
||||
</b>
|
||||
% }
|
||||
</div>
|
@@ -0,0 +1,35 @@
|
||||
<div id="f2b_valid">
|
||||
<hr class='sectionbar' /><h2>
|
||||
%=l 'f2b_VALIDFROM_TITLE'
|
||||
</h2><p>
|
||||
%=l 'f2b_VALIDFROM_DESC'
|
||||
</p>
|
||||
% my @valids = @{$c->get_valid_from()};
|
||||
% if ( @valids ) {
|
||||
<p>
|
||||
<table class="sme-border"><tbody>
|
||||
<tr><th class='sme-border'>
|
||||
%=l 'NETWORK'
|
||||
</th><th class='sme-border'>
|
||||
%=l 'REMOVE'
|
||||
</th></tr>
|
||||
% foreach my $v ( @valids) {
|
||||
% my $checked = '';
|
||||
<tr>
|
||||
%= t td => (class => 'sme-border') => "$v"
|
||||
<td class='sme-border'>
|
||||
% if ( $checked eq 'checked' ) {
|
||||
<input type='checkbox' name='ValidFromRemove' checked value='<%= $v %>'>
|
||||
%} else {
|
||||
%= check_box 'ValidFromRemove' => $v
|
||||
%}
|
||||
</td>
|
||||
</tr>
|
||||
% }
|
||||
</tbody></table></span></p>
|
||||
% } else {
|
||||
<b>
|
||||
%=l 'f2b_NO_ENTRIES_YET';
|
||||
</b>
|
||||
% }
|
||||
</div>
|
Reference in New Issue
Block a user