| Server IP : 172.67.134.114 / Your IP : 162.159.115.42 Web Server : Apache/2.4.37 System : Linux almalinux.duckdns.org 4.18.0-553.111.1.el8_10.x86_64 #1 SMP Sun Mar 8 20:06:07 EDT 2026 x86_64 User : ricodeal ( 1046) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/libexec/webmin/virtual-server/ |
Upload File : |
#!/usr/bin/perl
# Output a list of websites used by all scripts
package virtual_server;
if (!$module_name) {
$main::no_acl_check++;
$ENV{'WEBMIN_CONFIG'} ||= "/etc/webmin";
$ENV{'WEBMIN_VAR'} ||= "/var/webmin";
if ($0 =~ /^(.*)\/[^\/]+$/) {
chdir($pwd = $1);
}
else {
chop($pwd = `pwd`);
}
$0 = "$pwd/generate-script-sites.pl";
require './virtual-server-lib.pl';
$< == 0 || die "generate-script-sites.pl must be run as root";
}
# Parse command-line args
while(@ARGV) {
$a = shift(@ARGV);
if ($a eq "--firewall") {
$firewall = 1;
}
else {
push(@scripts, $a);
}
}
if (!@scripts) {
@scripts = &list_available_scripts();
}
@rv = ( );
foreach $s (@scripts) {
$script = &get_script($s);
next if (!$script->{'enabled'});
$d = { 'dom' => 'example.com' };
foreach $ver (@{$script->{'versions'}}) {
@files = &{$script->{'files_func'}}($d, $ver, undef, undef);
foreach $url (map { $_->{'url'} } @files) {
# Work out URLs
@urls = ( $url );
local $ourl = &convert_osdn_url($url);
if ($ourl && $ourl ne $url) {
push(@orls, $ourl);
}
# Extract hostnames
foreach $url (@urls) {
($host) = &parse_http_url($url);
push(@rv, $host) if ($host);
}
}
}
}
foreach $h (&unique(@rv)) {
$h = &to_ipaddress($h);
$h || next;
if ($firewall) {
print "-A FORWARD -d $h -m tcp -p tcp --dport 80 -j ACCEPT\n";
}
else {
print $h,"\n";
}
}