1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
on *:load: { hadd -m ImageBrowser RootDir $sdir($scriptdir,Select image browser's root directory.) } on *:socklisten:IB-Server: { var %i = 1 while ($sock(IB- $+ %i)) inc %i sockaccept IB- $+ %i if ($exists($+($scriptdir,IB-,%i,.tmp))) .remove $qt($+($scriptdir,IB-,%i,.tmp)) } on *:sockread:IB-*: { var %tmp, %file while (1) { sockread %tmp if ($sockerr) return if (!$sockbr) break if ($gettok(%tmp,1,32) == GET) var %file = $right($regsubex($replace($gettok(%tmp,2,32),+,$chr(32)),/%([0-9A-F]{2})/ig,$chr($base(\t,16,10))),-1) } var %% = sockwrite -n $sockname if (%file == /SendScript) return $SendScript($sockname) elseif ((!%file) || (. !isin %file)) return $DisplayFiles($sockname,%file) elseif (!$exists($hget(ImageBrowser,RootDir) $+ %file)) { echo -ag File not found: $hget(ImageBrowser,RootDir) $+ %file %% HTTP/1.x 404 Not Found %% Content-Type: text/html %% Date: $asctime(ddd $+ $chr(44) dd mmm yyyy hh:nn:ss) $gettok($asctime(zzz),-1,32) %% Server: ImageBrowser/1.0 (AlbieScript) mIRC/ $+ $version %% sockclose $sockname return } else var %file = $hget(ImageBrowser,RootDir) $+ %file %% HTTP/1.x 200 OK %% Date: $asctime(ddd $+ $chr(44) dd mmm yyyy hh:nn:ss) $gettok($asctime(zzz),-1,32) %% Server: ImageBrowser/1.0 (AlbieScript) mIRC/ $+ $version %% Last-Modified: $asctime($file(%file).mtime,ddd $+ $chr(44) dd mmm yyyy hh:nn:ss) $gettok($asctime($file(%file).mtime,zzz),-1,32) %% Content-Length: $file(%file).size %% Content-Type: image/jpeg %% var %size = $iif($file(%file).size < $calc(16384-$sock($sockname).sq),$v1,$v2) bread $qt(%file) 0 %size &data sockwrite -b $sockname %size &data sockmark $sockname %size %file } on *:sockwrite:IB-*: { if ($sock($sockname).mark) var %size = $gettok($v1,1,32), %file = $gettok($v1,2-,32) else { sockclose $sockname | return } var %left = $file(%file).size - %size var %read = $iif(%left < $calc(16384-$sock($sockname).sq),$v1,$v2) if (%left == 0) { if (!$sock($sockname).sq) sockclose $sockname | return } bread $qt(%file) $calc(%size - 1) %read &data sockwrite -b $sockname %read &data sockmark $sockname $calc(%size + %read) %file } alias -l DisplayFiles { var %% = sockwrite -n $1 %% <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> %% <html> %% <head><title>File browser</title></head> %% <body> %% <h1>Index of / $+ $2- </h1> %% <table> %% <tr><td> </td><td>Name</td><td>Last modified</td><td>Size</td><td>Description</td></tr> %% <tr><td colspan='6'><hr></td></tr> %% <tr><td colspan='6'> </td></tr> %% <tr><td><img src="/icons/back.gif" alt="[DIR]"></td><td><a href="/ $+ $deltok(/ $+ $2-,-1,47) $+ ">Parent Directory</a></td><td>27-Feb-2007 21:36</td><td>-</td></tr> /* <IMG SRC="/icons/folder.gif" ALT="[DIR]"> <A HREF="_private/">_private/</A> 23-Feb-2007 11:21 - %% <IMG SRC="/icons/folder.gif" ALT="[DIR]"> <A HREF="cgi-bin/">cgi-bin/</A> 23-Feb-2007 11:21 - %% <IMG SRC="/icons/folder.gif" ALT="[DIR]"> <A HREF="images/">images/</A> 23-Feb-2007 11:21 - %% <IMG SRC="/icons/text.gif" ALT="[TXT]"> <A HREF="postinfo.html">postinfo.html</A> 23-Feb-2007 11:21 2k %% <IMG SRC="/icons/folder.gif" ALT="[DIR]"> <A HREF="suspended.page/">suspended.page/</A> 24-Feb-2007 00:32 - %% <IMG SRC="/icons/unknown.gif" ALT="[ ]"> <A HREF="test.php">test.php</A> 27-Feb-2007 14:00 0k */ %% <tr><td colspan='6'><hr></td></tr> %% </table> %% <address>ImageBrowser/1.0 (AlbieScript) mIRC/ $+ $version Server</address> %% To download <a href='/GetScript'>click here</a>. %% </body></html> } |
| Parsed for bracket errors and indented: | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
on *:load: { hadd -m ImageBrowser RootDir $sdir($scriptdir,Select image browser's root directory.) } on *:socklisten:IB-Server: { var %i = 1 while ($sock(IB- $+ %i)) inc %i sockaccept IB- $+ %i if ($exists($+($scriptdir,IB-,%i,.tmp))) .remove $qt($+($scriptdir,IB-,%i,.tmp)) } on *:sockread:IB-*: { var %tmp, %file while (1) { sockread %tmp if ($sockerr) return if (!$sockbr) break if ($gettok(%tmp,1,32) == GET) var %file = $right($regsubex($replace($gettok(%tmp,2,32),+,$chr(32)),/%([0-9A-F]{2})/ig,$chr($base(\t,16,10))),-1) } var %% = sockwrite -n $sockname if (%file == /SendScript) return $SendScript($sockname) elseif ((!%file) || (. !isin %file)) return $DisplayFiles($sockname,%file) elseif (!$exists($hget(ImageBrowser,RootDir) $+ %file)) { echo -ag File not found: $hget(ImageBrowser,RootDir) $+ %file %% HTTP/1.x 404 Not Found %% Content-Type: text/html %% Date: $asctime(ddd $+ $chr(44) dd mmm yyyy hh:nn:ss) $gettok($asctime(zzz),-1,32) %% Server: ImageBrowser/1.0 (AlbieScript) mIRC/ $+ $version %% sockclose $sockname return } else var %file = $hget(ImageBrowser,RootDir) $+ %file %% HTTP/1.x 200 OK %% Date: $asctime(ddd $+ $chr(44) dd mmm yyyy hh:nn:ss) $gettok($asctime(zzz),-1,32) %% Server: ImageBrowser/1.0 (AlbieScript) mIRC/ $+ $version %% Last-Modified: $asctime($file(%file).mtime,ddd $+ $chr(44) dd mmm yyyy hh:nn:ss) $gettok($asctime($file(%file).mtime,zzz),-1,32) %% Content-Length: $file(%file).size %% Content-Type: image/jpeg %% var %size = $iif($file(%file).size < $calc(16384-$sock($sockname).sq),$v1,$v2) bread $qt(%file) 0 %size &data sockwrite -b $sockname %size &data sockmark $sockname %size %file } on *:sockwrite:IB-*: { if ($sock($sockname).mark) var %size = $gettok($v1,1,32), %file = $gettok($v1,2-,32) else { sockclose $sockname | return } var %left = $file(%file).size - %size var %read = $iif(%left < $calc(16384-$sock($sockname).sq),$v1,$v2) if (%left == 0) { if (!$sock($sockname).sq) sockclose $sockname | return } bread $qt(%file) $calc(%size - 1) %read &data sockwrite -b $sockname %read &data sockmark $sockname $calc(%size + %read) %file } alias -l DisplayFiles { var %% = sockwrite -n $1 %% <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> %% <html> %% <head><title>File browser</title></head> %% <body> %% <h1>Index of / $+ $2- </h1> %% <table> %% <tr><td> </td><td>Name</td><td>Last modified</td><td>Size</td><td>Description</td></tr> %% <tr><td colspan='6'><hr></td></tr> %% <tr><td colspan='6'> </td></tr> %% <tr><td><img src="/icons/back.gif" alt="[DIR]"></td><td><a href="/ $+ $deltok(/ $+ $2-,-1,47) $+ ">Parent Directory</a></td><td>27-Feb-2007 21:36</td><td>-</td></tr> /* <IMG SRC="/icons/folder.gif" ALT="[DIR]"> <A HREF="_private/">_private/</A> 23-Feb-2007 11:21 - %% <IMG SRC="/icons/folder.gif" ALT="[DIR]"> <A HREF="cgi-bin/">cgi-bin/</A> 23-Feb-2007 11:21 - %% <IMG SRC="/icons/folder.gif" ALT="[DIR]"> <A HREF="images/">images/</A> 23-Feb-2007 11:21 - %% <IMG SRC="/icons/text.gif" ALT="[TXT]"> <A HREF="postinfo.html">postinfo.html</A> 23-Feb-2007 11:21 2k %% <IMG SRC="/icons/folder.gif" ALT="[DIR]"> <A HREF="suspended.page/">suspended.page/</A> 24-Feb-2007 00:32 - %% <IMG SRC="/icons/unknown.gif" ALT="[ ]"> <A HREF="test.php">test.php</A> 27-Feb-2007 14:00 0k */ %% <tr><td colspan='6'><hr></td></tr> %% </table> %% <address>ImageBrowser/1.0 (AlbieScript) mIRC/ $+ $version Server</address> %% To download <a href='/GetScript'>click here</a>. %% </body></html> } |