📄 change_bind.cgi
字号:
#!/usr/local/bin/perl# change_bind.cgi# Update the binding IP address and port for miniservrequire './webmin-lib.pl';use Socket;&ReadParse();&get_miniserv_config(\%miniserv);&error_setup($text{'bind_err'});# check inputsif ($in{'port'} !~ /^\d+$/ || $in{'port'} > 65535) { &error("'$in{'port'}' is not a valid port number"); }$baddr = $in{'bind_def'} ? INADDR_ANY : inet_aton($in{'bind'});if (!$baddr) { &error(&text('bind_eip', $in{'bind'})); }if ($baddr ne INADDR_ANY) { # check if address can be used socket(TEST, PF_INET, SOCK_STREAM, getprotobyname('tcp')); setsockopt(TEST, SOL_SOCKET, SO_REUSEADDR, pack("l", 1)); if (!bind(TEST, sockaddr_in(1, $baddr))) { &error(&text('bind_eassign', $in{'bind'})); } close(TEST); }if ($in{'port'} != $miniserv{'port'}) { # port has changed.. check if it is in use socket(TEST, PF_INET, SOCK_STREAM, getprotobyname('tcp')); setsockopt(TEST, SOL_SOCKET, SO_REUSEADDR, pack("l", 1)); bind(TEST, sockaddr_in($in{'port'}, $baddr)) || &error(&text('bind_eport', $in{'port'})); close(TEST); }$miniserv{'port'} = $in{'port'};if ($in{'bind_def'}) { delete($miniserv{'bind'}); }else { $miniserv{'bind'} = $in{'bind'}; }&put_miniserv_config(\%miniserv);&restart_miniserv();if ($miniserv{'bind'}) { $url = $miniserv{'bind'}; }else { $url = $ENV{'SERVER_NAME'}; }$url .= ":$miniserv{'port'}/webmin/";if ($ENV{'HTTPS'} eq "ON") { &redirect("https://$url"); }else { &redirect("http://$url"); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -