📄 smb_server.cgi
字号:
#!/usr/local/bin/perl# smb_server.cgi# Called in a pop-up javascript window to display a list of known SMB# servers, by calling smbclient to request the browse list from some serverrequire './mount-lib.pl';use Socket;&header();print <<EOF;<script>function choose(f){ifield.value = f;window.close();}</script>EOFprint "<title>Choose SMB Server..</title>\n";# call smbclient$host = $config{'browse_server'} ? $config{'browse_server'} : "localhost";$out = `$config{'smbclient_path'} -d 0 -L $host -N 2>&1`;if ($?) { print "<b>Failed to retrieve server list from $host. Maybe\n"; print "the server does not allow browsing</b>\n"; exit; }elsif ($out =~ /Unknown host/) { print "<b>The server $host does not exist</b>\n"; exit; }elsif ($out =~ /error connecting|connect error/) { print "<b>The server $host is down, unreachable or is\n", "not a file server</b>\n"; exit; }# parse server listif ($out =~ /Server\s+Comment\n.*\n((.+\n)+)/) { @svlist = split(/\n/, $1); foreach $sv (@svlist) { if ($sv =~ /^\s+(\S+)\s*(.*)$/) { push(@names, $1); push(@comms, $2); } } }if (@names) { print "<b>Select a Windows Networking server to mount from..</b><br>\n"; print "<table border width=100%>\n"; print "<tr $tb> <td><b>Server Name</b></td> ", "<td><b>Description</b></td> </tr>\n"; for($i=0; $i<@names; $i++) { print "<tr $cb>\n"; print "<td><a href=\"\" onClick='choose(\"$names[$i]\"); ", "return false'>$names[$i]</a></td>\n"; print "<td>$comms[$i]</td> </tr>\n"; } print "</table>\n"; }else { print "<b>No local Windows Networking servers found</b>.<p>\n"; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -