#!/usr/bin/perl # index.cgi # Display all existing SSL tunnels require './stunnel-lib.pl'; # Check if stunnel is installed if (!-x $config{'stunnel_path'}) { &ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1); print &text('index_estunnel', "<tt>$config{'stunnel_path'}</tt>", "@{[&get_webprefix()]}/config.cgi?$module_name"),"<p>\n"; &ui_print_footer("/", $text{"index"}); exit; } # Check if inetd or xinetd is installed if (!$has_inetd && !$has_xinetd) { &ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1); print "$text{'index_einetd'}<p>\n"; &ui_print_footer("/", $text{"index"}); exit; } # Get the version $ver = &get_stunnel_version(\$out); &ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1, 0, &help_search_link("stunnel", "man", "doc"), undef, undef, &text('index_version', $ver)); #if ($ver >= 4) { # print "<p>",&text('index_eversion', $ver, 4.0),"<p>\n"; # print &ui_hr(); # &ui_print_footer("/", $text{'index'}); # exit; # } # List all tunnels currently setup in inetd $hasconfig = 1; @tunnels = &list_stunnels(); @links = ( &select_all_link("d"), &select_invert_link("d"), &ui_link("edit_stunnel.cgi?new=1",$text{'index_add'}) ); if (@tunnels) { print &ui_form_start("delete_tunnels.cgi", "post"); @tds = ( "width=5" ); print &ui_links_row(\@links); print &ui_columns_start([ "", $text{'index_name'}, $text{'index_port'}, $text{'index_active'}, $text{'index_action'} ], 100, 0, \@tds); foreach $t (@tunnels) { local @cols; if ($ver > 4) { # Parse new-style stunnel config file if ($t->{'args'} =~ /^(\S+)\s+(\S+)/) { $cfile = $2; @conf = &get_stunnel_config($cfile); ($conf) = grep { !$_->{'name'} } @conf; } } if ($ver > 4 && !$cfile) { push(@cols, &html_escape($t->{'name'})); } else { push(@cols, &ui_link("edit_stunnel.cgi?idx=$t->{'index'}",&html_escape($t->{'name'}))); } push(@cols, &html_escape($t->{'port'})); push(@cols, $t->{'active'} ? $text{'yes'} : "<font color=#ff0000>$text{'no'}</font>"); if ($ver > 4) { # Parse new-style stunnel config file if ($exec = $conf->{'values'}->{'exec'}) { $args = $conf->{'values'}->{'execargs'}; push(@cols, &text('index_cmd', $args ? "<tt>".&html_escape($args)."</tt>" : "<tt>".&html_escape($exec)."</tt>")); } elsif ($conn = $conf->{'values'}->{'connect'}) { push(@cols, &text('index_remote', "<tt>".&html_escape($conn)."</tt>")); } elsif ($cfile) { push(@cols, &text('index_conf', "<tt>$cfile</tt>")); } else { push(@cols, $text{'index_noconf'}); } } else { # Parse old-style stunnel args if ($t->{'args'} =~ /\s*-([lL])\s+(\S+)\s+--\s+(.*)/ || $t->{'args'} =~ /\s*-([lL])\s+(\S+)/) { push(@cols, &text('index_cmd', $3 ? "<tt>".&html_escape($3)."</tt>" : "<tt>".&html_escape($2)."</tt>")); } elsif ($t->{'args'} =~ /-r\s+(\S+):(\d+)/) { push(@cols, &text('index_remote', "<tt>".&html_escape("$1:$2")."</tt>")); } elsif ($t->{'args'} =~ /-r\s+(\d+)/) { push(@cols, &text('index_rport', "<tt>".&html_escape($1)."</tt>")); } else { push(@cols, "<tt>".&html_escape($t->{'args'})."</tt>"); } } print &ui_checked_columns_row(\@cols, \@tds, "d",$t->{'index'}); } print &ui_columns_end(); print &ui_links_row(\@links); print &ui_form_end([ [ "delete", $text{'index_delete'} ] ]); } else { print "<b>$text{'index_none'}</b><p>\n"; print &ui_links_row([ $links[2] ]); $hasconfig = 0; } if ( $hasconfig ) { my $xmsg = ""; if ($has_inetd && $has_xinetd) { $xmsg .= $text{'index_applymsg1'}; } elsif ($has_inetd) { $xmsg .= $text{'index_applymsg2'}; } else { $xmsg .= $text{'index_applymsg3'}; } print &ui_hr(); print &ui_buttons_start(); print &ui_buttons_row("apply.cgi", $text{'index_apply'}, $xmsg); print &ui_buttons_end(); } &ui_print_footer("/", $text{'index'});
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
CHANGELOG | File | 99 B | 0644 |
|
apply.cgi | File | 187 B | 0755 |
|
backup_config.pl | File | 1.09 KB | 0755 |
|
config | File | 37 B | 0644 |
|
config-coherent-linux | File | 31 B | 0644 |
|
config-debian-linux | File | 31 B | 0644 |
|
config-gentoo-linux | File | 31 B | 0644 |
|
config-mandrake-linux | File | 31 B | 0644 |
|
config-openSUSE-Linux-15.0-ALL | File | 31 B | 0644 |
|
config-openmamba-linux | File | 31 B | 0644 |
|
config-redhat-linux | File | 31 B | 0644 |
|
config-redhat-linux-14-ALL | File | 30 B | 0644 |
|
config-redhat-linux-18.0-ALL | File | 30 B | 0644 |
|
config-suse-linux-8.2-ALL | File | 31 B | 0644 |
|
config-syno-linux | File | 37 B | 0644 |
|
config-trustix-linux | File | 31 B | 0644 |
|
config-united-linux | File | 31 B | 0644 |
|
config.info | File | 121 B | 0644 |
|
config.info.ca | File | 139 B | 0644 |
|
config.info.cs | File | 76 B | 0644 |
|
config.info.de | File | 132 B | 0644 |
|
config.info.es | File | 152 B | 0644 |
|
config.info.fr | File | 140 B | 0644 |
|
config.info.ms | File | 127 B | 0644 |
|
config.info.nl | File | 125 B | 0644 |
|
config.info.no | File | 119 B | 0644 |
|
config.info.ru | File | 191 B | 0644 |
|
config.info.uk | File | 216 B | 0644 |
|
delete_tunnels.cgi | File | 651 B | 0755 |
|
edit_stunnel.cgi | File | 5.68 KB | 0755 |
|
feedback_files.pl | File | 205 B | 0755 |
|
index.cgi | File | 3.95 KB | 0755 |
|
install_check.pl | File | 378 B | 0755 |
|
log_parser.pl | File | 536 B | 0755 |
|
module.info | File | 188 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 169 B | 0644 |
|
module.info.ar | File | 0 B | 0644 |
|
module.info.ar.auto | File | 179 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 247 B | 0644 |
|
module.info.bg | File | 0 B | 0644 |
|
module.info.bg.auto | File | 210 B | 0644 |
|
module.info.ca | File | 139 B | 0644 |
|
module.info.ca.auto | File | 18 B | 0644 |
|
module.info.cs | File | 19 B | 0644 |
|
module.info.cs.auto | File | 137 B | 0644 |
|
module.info.da | File | 0 B | 0644 |
|
module.info.da.auto | File | 163 B | 0644 |
|
module.info.de | File | 100 B | 0644 |
|
module.info.de.auto | File | 15 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 299 B | 0644 |
|
module.info.es | File | 21 B | 0644 |
|
module.info.es.auto | File | 130 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 163 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 227 B | 0644 |
|
module.info.fi | File | 0 B | 0644 |
|
module.info.fi.auto | File | 165 B | 0644 |
|
module.info.fr | File | 20 B | 0644 |
|
module.info.fr.auto | File | 154 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 182 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 138 B | 0644 |
|
module.info.hu | File | 0 B | 0644 |
|
module.info.hu.auto | File | 224 B | 0644 |
|
module.info.it | File | 0 B | 0644 |
|
module.info.it.auto | File | 154 B | 0644 |
|
module.info.ja | File | 161 B | 0644 |
|
module.info.ja.auto | File | 21 B | 0644 |
|
module.info.ko | File | 0 B | 0644 |
|
module.info.ko.auto | File | 189 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 189 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 168 B | 0644 |
|
module.info.ms | File | 150 B | 0644 |
|
module.info.ms.auto | File | 16 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 140 B | 0644 |
|
module.info.nl | File | 20 B | 0644 |
|
module.info.nl.auto | File | 130 B | 0644 |
|
module.info.no | File | 22 B | 0644 |
|
module.info.no.auto | File | 135 B | 0644 |
|
module.info.pl | File | 0 B | 0644 |
|
module.info.pl.auto | File | 156 B | 0644 |
|
module.info.pt | File | 0 B | 0644 |
|
module.info.pt.auto | File | 151 B | 0644 |
|
module.info.pt_BR | File | 0 B | 0644 |
|
module.info.pt_BR.auto | File | 160 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 158 B | 0644 |
|
module.info.ru | File | 27 B | 0644 |
|
module.info.ru.auto | File | 201 B | 0644 |
|
module.info.sk | File | 0 B | 0644 |
|
module.info.sk.auto | File | 171 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 147 B | 0644 |
|
module.info.sv | File | 0 B | 0644 |
|
module.info.sv.auto | File | 161 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 219 B | 0644 |
|
module.info.tr | File | 0 B | 0644 |
|
module.info.tr.auto | File | 183 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 238 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 256 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 181 B | 0644 |
|
module.info.zh | File | 0 B | 0644 |
|
module.info.zh.auto | File | 134 B | 0644 |
|
module.info.zh_TW | File | 0 B | 0644 |
|
module.info.zh_TW.auto | File | 143 B | 0644 |
|
save_stunnel.cgi | File | 4.72 KB | 0755 |
|
stunnel-lib.pl | File | 10.31 KB | 0755 |
|