📄 smb_share.cgi
字号:
#!/usr/local/bin/perl# smb_share.cgi# Displays a list of shares available on some hostrequire './mount-lib.pl';&ReadParse();&header();print <<EOF;<script>function choose(f){ifield.value = f;window.close();}</script>EOFprint "<title>Choose Share on $in{'server'}</title>\n";$out = `$config{'smbclient_path'} -d 0 -L $in{'server'} -N 2>&1`;if ($?) { print "<b>Failed to retrieve share list from $in{'server'}. Maybe\n"; print "the server does not allow browsing</b>\n"; exit; }elsif ($out =~ /Unknown host/) { print "<b>The server $in{'server'} does not exist</b>\n"; exit; }elsif ($out =~ /error connecting|connect error/) { print "<b>The server $in{'server'} is down, unreachable or is\n", "not a file server</b>\n"; exit; }if ($out =~ /Sharename\s+Type\s+Comment\n((.+\n)+)/) { @shlist = split(/\n/, $1); foreach $sh (@shlist) { if ($sh =~ /^\s+(.{1,7}\S+)\s+Disk\s*(.*)$/) { push(@names, $1); push(@comms, $2); } } }if (@names) { print "<b>Select a share to mount..</b><br>\n"; print "<table border width=100%>\n"; print "<tr $tb> <td><b>Share</b></td> <td><b>Comment</b></td> </tr>\n"; for($i=0; $i<@names; $i++) { print "<tr $cb> <td><a href=\"\" ", "onClick='choose(\"$names[$i]\"); ". "return false'>$names[$i]</a></td>\n"; printf "<td>%s</td> </tr>\n", $comms[$i] =~ /\S/ ? $comms[$i] : "<br>"; } print "</table>\n"; }else { print "<b>There are no available file shares on the server ", "$in{'server'}</b>\n"; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -