C+WinSock IRC Bot and few other useless programs i've found on my freeshell account...
[mirrors/Programs.git] / php / hhttpd / http_server.pdf
diff --git a/php/hhttpd/http_server.pdf b/php/hhttpd/http_server.pdf
new file mode 100755 (executable)
index 0000000..a4e198b
--- /dev/null
@@ -0,0 +1,1152 @@
+%PDF-1.3
+%Çì\8f¢
+1 0 obj
+<</Type/Font/Subtype/Type1/Name/F1/BaseFont/Helvetica/Encoding/WinAnsiEncoding>>
+endobj
+2 0 obj
+<</Type/Font/Subtype/Type1/Name/F2/BaseFont/Helvetica-Bold/Encoding/WinAnsiEncoding>>
+endobj
+3 0 obj
+<</Type/Font/Subtype/Type1/Name/F3/BaseFont/Helvetica-Oblique/Encoding/WinAnsiEncoding>>
+endobj
+4 0 obj
+<</Type/Font/Subtype/Type1/Name/F4/BaseFont/Helvetica-BoldOblique/Encoding/WinAnsiEncoding>>
+endobj
+5 0 obj
+<</Length 4046>>
+stream
+BT 1 0 0 1 72 762 Tm
+/F1 11 Tf 0 0 0 rg (#!usr/bin/php)Tj
+0 -13.2 TD
+/F2 11 Tf 0 0 1 rg (<?php)Tj
+T*
+/F1 11 Tf 0 0.498 0 rg (//Harvie's HTTPd 0.7)Tj
+T*
+(/*)Tj
+T*
+(  Allows you to binary safe download any file from remote pc)Tj
+T*
+(    http://server:port/file)Tj
+T*
+(    http://server:port//etc/passwd)Tj
+T*
+(    http://server:port/C:\\dir\\file)Tj
+T*
+(    http://server:port/C:/dir/file)Tj
+T*
+(  Since version 0.6 there is filelisting)Tj
+T*
+(    http://server:port/dir)Tj
+T*
+(    http://server:port//etc)Tj
+T*
+(    http://server:port/C:/dir)Tj
+T*
+(    http://server:port/C:/dir/)Tj
+T*
+(  You can also play multimedia like streams \(using XMMS, Winamp, etc...\))Tj
+T*
+(  But this can serve only one file a time)Tj
+T*
+(    \(if you are streaming or downloading, you can download/browse anything other,)Tj
+T*
+(    but you can use download manager to download file by file...\))Tj
+T*
+(  You can change port or interface by passing arguments)Tj
+T*
+(  Usage: \(httpd.php [port] [interface_IP]\))Tj
+T*
+(  This is very nice utility to use in your zombie.)Tj
+T*
+(*/)Tj
+T*
+T*
+(//////////////////////////////////////////////////////////////////////////////////)Tj
+T*
+0 0 0.498 rg ($interface)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg ("127.0.0.1")Tj
+/F2 11 Tf 0 0 0 rg (;)Tj
+T*
+/F1 11 Tf 0 0.498 0 rg (//$interface = "192.168.2.130";)Tj
+T*
+0 0 0.498 rg ($port)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+/F1 11 Tf 0 0.498 0.498 rg (80)Tj
+/F2 11 Tf 0 0 0 rg (;)Tj
+T*
+T*
+/F1 11 Tf 0 0.498 0 rg (//////////////////////////////////////////////////////////////////////////////////)Tj
+T*
+0 0 0.498 rg ($okheader)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+/F1 11 Tf 0 0.498 0 rg (//Header 200 FILE)Tj
+T*
+(  )Tj
+0 0 1 rg ("HTTP/1.0 200 OK\\n")Tj
+/F2 11 Tf 0 0 0 rg (.)Tj
+T*
+(  )Tj
+/F1 11 Tf 0 0 1 rg ("Server: Harvie's HTTPd\\n")Tj
+/F2 11 Tf 0 0 0 rg (.)Tj
+T*
+(  )Tj
+/F1 11 Tf 0 0 1 rg ("Connection: close\\n\\n")Tj
+/F2 11 Tf 0 0 0 rg (;)Tj
+T*
+T*
+/F1 11 Tf 0 0 0.498 rg ($dirheader)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+/F1 11 Tf 0 0.498 0 rg (//Header 301 DIR)Tj
+T*
+(  )Tj
+0 0 1 rg ("HTTP/1.0 301 Moved Permanently\\n")Tj
+/F2 11 Tf 0 0 0 rg (.)Tj
+T*
+(  )Tj
+/F1 11 Tf 0 0 1 rg ("Server: Harvie's HTTPd\\n")Tj
+/F2 11 Tf 0 0 0 rg (.)Tj
+T*
+(  )Tj
+/F1 11 Tf 0 0 1 rg ("Location: %DIR%\\n")Tj
+/F2 11 Tf 0 0 0 rg (.)Tj
+T*
+(  )Tj
+/F1 11 Tf 0 0 1 rg ("Connection: close\\n\\n")Tj
+/F2 11 Tf 0 0 0 rg (;)Tj
+T*
+T*
+/F1 11 Tf 0 0 0.498 rg ($badheader)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+/F1 11 Tf 0 0.498 0 rg (//Header 404)Tj
+T*
+(  )Tj
+0 0 1 rg ("HTTP/1.0 404 File not found!\\n")Tj
+/F2 11 Tf 0 0 0 rg (.)Tj
+T*
+(  )Tj
+/F1 11 Tf 0 0 1 rg ("Server: Harvie's HTTPd\\n")Tj
+/F2 11 Tf 0 0 0 rg (.)Tj
+T*
+(  )Tj
+/F1 11 Tf 0 0 1 rg ("Connection: close\\n\\n")Tj
+/F2 11 Tf 0 0 0 rg (;)Tj
+T*
+T*
+/F1 11 Tf 0 0 0.498 rg ($err404)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg ("ERR 404 - NOT FOUND!")Tj
+/F2 11 Tf 0 0 0 rg (;)Tj
+( )Tj
+/F1 11 Tf 0 0.498 0 rg (//Error 404)Tj
+T*
+T*
+(//////////////////////////////////////////////////////////////////////////////////)Tj
+T*
+/F2 11 Tf 0 0 0.498 rg (if)Tj
+0 0 0 rg (\()Tj
+0 0 0.498 rg (isset)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($argc)Tj
+/F2 11 Tf 0 0 0 rg (\)\))Tj
+( )Tj
+({)Tj
+T*
+(  )Tj
+0 0 0.498 rg (if)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($argc)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (>)Tj
+( )Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (\))Tj
+( )Tj
+/F1 11 Tf 0 0 0.498 rg ($port)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+0 0 0.498 rg (trim)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($argv)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (]\);)Tj
+T*
+(  )Tj
+0 0 0.498 rg (if)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($argc)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (>)Tj
+( )Tj
+/F1 11 Tf 0 0.498 0.498 rg (2)Tj
+/F2 11 Tf 0 0 0 rg (\))Tj
+( )Tj
+/F1 11 Tf 0 0 0.498 rg ($interface)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+0 0 0.498 rg (trim)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($argv)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0.498 0.498 rg (2)Tj
+/F2 11 Tf 0 0 0 rg (]\);)Tj
+T*
+(})Tj
+T*
+ET
+endstream
+endobj
+6 0 obj
+<</Length 7733>>
+stream
+BT 1 0 0 1 72 762 Tm
+/F2 11 Tf 0 0 0 rg /F1 11 Tf 0 0.498 0 rg (///FUNCTIONS//////////////////////////////////////////////////////////////////////)Tj
+0 -13.2 TD
+/F2 11 Tf 0 0 0.498 rg (function)Tj
+/F1 11 Tf 0 0 0.200 rg ( send_dir_listing)Tj
+/F2 11 Tf 0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($fp)Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 0.498 rg ($directory)Tj
+/F2 11 Tf 0 0 0 rg (\))Tj
+( )Tj
+({)Tj
+T*
+(  )Tj
+/F1 11 Tf 0 0 0.498 rg ($num)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg ("0")Tj
+/F2 11 Tf 0 0 0 rg (;)Tj
+( )Tj
+T*
+(  )Tj
+/F1 11 Tf 0 0.498 0 rg (//Header)Tj
+T*
+0 0 0.200 rg (  @)Tj
+/F2 11 Tf 0 0 0.498 rg (fwrite)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($fp)Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg ("<html>\\n<head><title>Index of )Tj
+0 0 0.498 rg ($directory)Tj
+0 0 1 rg (</title></head>\\n<body><tt>\\n")Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+/F1 11 Tf 0 0 0.200 rg (  @)Tj
+/F2 11 Tf 0 0 0.498 rg (fwrite)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($fp)Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg ("<b>Available volumes:</b><br />\\n")Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(  )Tj
+T*
+(  )Tj
+/F1 11 Tf 0 0.498 0 rg (//Special folders)Tj
+T*
+0 0 0.200 rg (  @)Tj
+/F2 11 Tf 0 0 0.498 rg (fwrite)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($fp)Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg ("[<a href=\\"/\\">/</a>]\\n")Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+( )Tj
+/F1 11 Tf 0 0.498 0 rg (//Server root)Tj
+T*
+(  )Tj
+/F2 11 Tf 0 0 0.498 rg (if)Tj
+0 0 0 rg (\()Tj
+0 0 0.498 rg (is_dir)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 1 rg ("/")Tj
+/F2 11 Tf 0 0 0 rg (\)\))Tj
+( )Tj
+({)Tj
+( )Tj
+/F1 11 Tf 0 0.498 0 rg (//Unix root)Tj
+T*
+0 0 0.200 rg (    @)Tj
+/F2 11 Tf 0 0 0.498 rg (fwrite)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($fp)Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg ("[<a href=\\"//\\">//</a>]\\n")Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(  )Tj
+(})Tj
+T*
+(  )Tj
+T*
+(  )Tj
+/F1 11 Tf 0 0.498 0 rg (//Available volumes)Tj
+T*
+(  )Tj
+0 0 0.498 rg ($dsks)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg ("cdefghijklmnopqrstuvwxyz")Tj
+/F2 11 Tf 0 0 0 rg (;)Tj
+( )Tj
+/F1 11 Tf 0 0.498 0 rg (//Show this volumes \(if available\))Tj
+T*
+(  )Tj
+/F2 11 Tf 0 0 0.498 rg (for)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($i)Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+/F1 11 Tf 0 0.498 0.498 rg (0)Tj
+/F2 11 Tf 0 0 0 rg (;)Tj
+/F1 11 Tf 0 0 0.498 rg ($i)Tj
+/F2 11 Tf 0 0 0 rg (<)Tj
+0 0 0.498 rg (strlen)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($dsks)Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+/F1 11 Tf 0 0 0.498 rg ($i)Tj
+/F2 11 Tf 0 0 0 rg (++\))Tj
+( )Tj
+({)Tj
+T*
+(    )Tj
+0 0 0.498 rg (if)Tj
+0 0 0 rg (\()Tj
+0 0 0.498 rg (is_dir)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($dsks)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0 0.498 rg ($i)Tj
+/F2 11 Tf 0 0 0 rg (].)Tj
+/F1 11 Tf 0 0 1 rg (":")Tj
+/F2 11 Tf 0 0 0 rg (\)\))Tj
+( )Tj
+({)Tj
+T*
+(      )Tj
+/F1 11 Tf 0 0 0.498 rg ($vol)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+/F1 11 Tf 0 0 0.498 rg ($dsks)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0 0.498 rg ($i)Tj
+/F2 11 Tf 0 0 0 rg (];)Tj
+T*
+/F1 11 Tf 0 0 0.200 rg (      @)Tj
+/F2 11 Tf 0 0 0.498 rg (fwrite)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($fp)Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg ("[<a href=\\"/)Tj
+0 0 0.498 rg ($vol)Tj
+0 0 1 rg (:/\\">)Tj
+0 0 0.498 rg ($vol)Tj
+0 0 1 rg (:</a>]\\n")Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(    )Tj
+(})Tj
+T*
+(    )Tj
+/F1 11 Tf 0 0.498 0 rg (//echo\($dsks[$i].":"\);)Tj
+T*
+(  )Tj
+/F2 11 Tf 0 0 0 rg (})Tj
+T*
+/F1 11 Tf 0 0 0.200 rg (  @)Tj
+/F2 11 Tf 0 0 0.498 rg (fwrite)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($fp)Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg ("<br />\\n\\n")Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(  )Tj
+T*
+(  )Tj
+/F1 11 Tf 0 0.498 0 rg (//Directory listing)Tj
+T*
+0 0 0.200 rg (  @)Tj
+/F2 11 Tf 0 0 0.498 rg (fwrite)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($fp)Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg ("<b>Directory listing of )Tj
+0 0 0.498 rg ($directory)Tj
+0 0 1 rg ( :</b><br /><br />\\n\\n")Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+/F1 11 Tf 0 0 0.200 rg (  @)Tj
+/F2 11 Tf 0 0 0.498 rg (fwrite)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($fp)Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg ("[DIR] <a href=\\"./../\\">Parent Directory \(../\)</a><br />\\n")Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(  )Tj
+/F1 11 Tf 0 0 0.498 rg ($files)Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+0 0 0.498 rg (opendir)Tj
+( )Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($directory)Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+( )Tj
+T*
+(    )Tj
+0 0 0.498 rg (while)Tj
+( )Tj
+0 0 0 rg (\()Tj
+0 0 0.498 rg (false)Tj
+0 0 0 rg (!==\()Tj
+/F1 11 Tf 0 0 0.498 rg ($file)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+0 0 0.498 rg (readdir)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($files)Tj
+/F2 11 Tf 0 0 0 rg (\)\)\))Tj
+( )Tj
+T*
+(    )Tj
+({)Tj
+( )Tj
+T*
+(        )Tj
+0 0 0.498 rg (if)Tj
+( )Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($file)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (!=)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg (".")Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (&&)Tj
+( )Tj
+/F1 11 Tf 0 0 0.498 rg ($file)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (!=)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg ("..")Tj
+/F2 11 Tf 0 0 0 rg (\))Tj
+( )Tj
+T*
+(        )Tj
+({)Tj
+( )Tj
+T*
+(            )Tj
+/F1 11 Tf 0 0 0.498 rg ($num)Tj
+/F2 11 Tf 0 0 0 rg (++;)Tj
+T*
+(            )Tj
+0 0 0.498 rg (if)Tj
+0 0 0 rg (\()Tj
+0 0 0.498 rg (is_dir)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 1 rg (")Tj
+0 0 0.498 rg ($directory)Tj
+0 0 1 rg (/)Tj
+0 0 0.498 rg ($file)Tj
+0 0 1 rg (")Tj
+/F2 11 Tf 0 0 0 rg (\)\))Tj
+( )Tj
+({)Tj
+T*
+(              )Tj
+0 0 0.498 rg (fwrite)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($fp)Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg (")Tj
+0 0 0.498 rg ($num)Tj
+0 0 1 rg ( - [DIR] <a href=\\"./)Tj
+0 0 0.498 rg ($file)Tj
+0 0 1 rg (\\">)Tj
+0 0 0.498 rg ($file)Tj
+0 0 1 rg (</a><br />\\n")Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(            )Tj
+(})Tj
+( )Tj
+0 0 0.498 rg (else)Tj
+( )Tj
+0 0 0 rg ({)Tj
+T*
+(              )Tj
+0 0 0.498 rg (fwrite)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($fp)Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg (")Tj
+0 0 0.498 rg ($num)Tj
+0 0 1 rg ( - <a href=\\"./)Tj
+0 0 0.498 rg ($file)Tj
+0 0 1 rg (\\">)Tj
+0 0 0.498 rg ($file)Tj
+0 0 1 rg (</a><br />\\n")Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(            )Tj
+(})Tj
+T*
+(        )Tj
+(})Tj
+( )Tj
+T*
+(    )Tj
+(})Tj
+T*
+(    )Tj
+T*
+(    )Tj
+/F1 11 Tf 0 0.498 0 rg (//Footer)Tj
+T*
+(    )Tj
+/F2 11 Tf 0 0 0.498 rg (fwrite)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($fp)Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg ("<br />\\n<b>Total: )Tj
+0 0 0.498 rg ($num)Tj
+0 0 1 rg (</b>\\n</tt></body>\\n</html>")Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(})Tj
+T*
+T*
+/F1 11 Tf 0 0.498 0 rg (///CODE///////////////////////////////////////////////////////////////////////////)Tj
+T*
+/F2 11 Tf 0 0 0.498 rg (echo)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 1 rg ("\\n\\tStarting Harvie's HTTPd at:\\n\\ttcp://)Tj
+0 0 0.498 rg ($interface)Tj
+0 0 1 rg (:)Tj
+0 0 0.498 rg ($port)Tj
+0 0 1 rg (\\n\\n")Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+/F1 11 Tf 0 0.498 0 rg (//system\("title Harvie's HTTPd at tcp://$interface:$port"\); //Microsoft Windows only)Tj
+T*
+/F2 11 Tf 0 0 0.498 rg (set_time_limit)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0.498 0.498 rg (0)Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+/F1 11 Tf 0 0 0.498 rg ($sss)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+0 0 0.498 rg (stream_socket_server)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 1 rg ("tcp://)Tj
+0 0 0.498 rg ($interface)Tj
+0 0 1 rg (:)Tj
+0 0 0.498 rg ($port)Tj
+0 0 1 rg (")Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+T*
+0 0 0.498 rg (while)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (\))Tj
+( )Tj
+({)Tj
+T*
+/F1 11 Tf 0 0 0.200 rg (  @)Tj
+0 0 0.498 rg ($sfp)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+0 0 0.498 rg (stream_socket_accept)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($sss)Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+ET
+endstream
+endobj
+7 0 obj
+<</Length 8545>>
+stream
+BT 1 0 0 1 72 762 Tm
+/F2 11 Tf 0 0 0 rg (  )Tj
+0 0 0.498 rg (if)Tj
+0 0 0 rg (\(!)Tj
+/F1 11 Tf 0 0 0.498 rg ($sfp)Tj
+/F2 11 Tf 0 0 0 rg (\))Tj
+( )Tj
+0 0 0.498 rg (continue)Tj
+0 0 0 rg (;)Tj
+0 -13.2 TD
+T*
+(  )Tj
+/F1 11 Tf 0 0 0.498 rg ($loop)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (;)Tj
+T*
+(  )Tj
+0 0 0.498 rg (while)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($sfp)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (&&)Tj
+( )Tj
+(!@)Tj
+0 0 0.498 rg (feof)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($sfp)Tj
+/F2 11 Tf 0 0 0 rg (\))Tj
+( )Tj
+(&&)Tj
+( )Tj
+/F1 11 Tf 0 0 0.498 rg ($loop)Tj
+/F2 11 Tf 0 0 0 rg (\))Tj
+( )Tj
+({)Tj
+T*
+(    )Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+0 0 0.498 rg (fgets)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($sfp)Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(    )Tj
+/F1 11 Tf 0 0.498 0 rg (//echo\($line\);)Tj
+T*
+(    )Tj
+/F2 11 Tf 0 0 0.498 rg (if)Tj
+0 0 0 rg (\()Tj
+0 0 0.498 rg (eregi)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 1 rg ("\(GET|POST\)")Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg (\)\))Tj
+( )Tj
+({)Tj
+T*
+(      )Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+0 0 0.498 rg (trim)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(      )Tj
+/F1 11 Tf 0 0.498 0 rg (//echo\($line\);)Tj
+T*
+(      )Tj
+0 0 0.498 rg ($line)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+0 0 0.498 rg (explode)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 1 rg (" ")Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(      )Tj
+T*
+(      )Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (])Tj
+( )Tj
+(=)Tj
+( )Tj
+0 0 0.498 rg (trim)Tj
+0 0 0 rg (\()Tj
+0 0 0.498 rg (urldecode)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (]\)\);)Tj
+T*
+(      )Tj
+T*
+(      )Tj
+T*
+(      )Tj
+0 0 0.498 rg (if)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (])Tj
+( )Tj
+(==)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg ("/")Tj
+/F2 11 Tf 0 0 0 rg (\))Tj
+( )Tj
+({)Tj
+T*
+(        )Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (])Tj
+( )Tj
+(=)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg ("./")Tj
+/F2 11 Tf 0 0 0 rg (;)Tj
+T*
+(      )Tj
+(})Tj
+( )Tj
+0 0 0.498 rg (else)Tj
+( )Tj
+0 0 0 rg ({)Tj
+T*
+(        )Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (])Tj
+( )Tj
+(=)Tj
+( )Tj
+0 0 0.498 rg (substr)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (],)Tj
+( )Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(      )Tj
+(})Tj
+T*
+(      )Tj
+T*
+(      )Tj
+T*
+(      )Tj
+0 0 0.498 rg (if)Tj
+0 0 0 rg (\()Tj
+0 0 0.498 rg (is_file)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (]\)\))Tj
+( )Tj
+({)Tj
+( )Tj
+/F1 11 Tf 0 0.498 0 rg (//200 OK FILE)Tj
+T*
+(        )Tj
+/F2 11 Tf 0 0 0.498 rg (fwrite)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($sfp)Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 0.498 rg ($okheader)Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(        )Tj
+0 0 0.498 rg (echo)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 1 rg ("200 ")Tj
+/F2 11 Tf 0 0 0 rg (.)Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (]\);)Tj
+T*
+(        )Tj
+/F1 11 Tf 0 0 0.498 rg ($fp)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+0 0 0.498 rg (fopen)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (],)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg ("rb")Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(        )Tj
+0 0 0.498 rg (while)Tj
+0 0 0 rg (\()Tj
+( )Tj
+0 0 0.498 rg (fwrite)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($sfp)Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+0 0 0.498 rg (fgets)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($fp)Tj
+/F2 11 Tf 0 0 0 rg (\)\))Tj
+( )Tj
+(\);)Tj
+T*
+/F1 11 Tf 0 0 0.200 rg (        @)Tj
+/F2 11 Tf 0 0 0.498 rg (fclose)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($sfp)Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(        )Tj
+0 0 0.498 rg (echo)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 1 rg (" SENT!\\n")Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(      )Tj
+(})Tj
+T*
+(      )Tj
+T*
+(      )Tj
+0 0 0.498 rg (elseif)Tj
+0 0 0 rg (\()Tj
+0 0 0.498 rg (is_dir)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (]\)\))Tj
+( )Tj
+({)Tj
+( )Tj
+/F1 11 Tf 0 0.498 0 rg (//200 OK DIR)Tj
+T*
+(        )Tj
+/F2 11 Tf 0 0 0.498 rg (if)Tj
+0 0 0 rg (\()Tj
+0 0 0.498 rg (substr)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (],)Tj
+( )Tj
+0 0 0.498 rg (strlen)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (]\)-)Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (\))Tj
+( )Tj
+(!=)Tj
+( )Tj
+/F1 11 Tf 0 0 1 rg ("/")Tj
+/F2 11 Tf 0 0 0 rg (\))Tj
+( )Tj
+({)Tj
+( )Tj
+/F1 11 Tf 0 0.498 0 rg (//301 MOV DIR)Tj
+T*
+(          )Tj
+0 0 0.498 rg ($header)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+(\()Tj
+/F1 11 Tf 0 0 1 rg ("/")Tj
+/F2 11 Tf 0 0 0 rg (.)Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (].)Tj
+/F1 11 Tf 0 0 1 rg ("/")Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(          )Tj
+0 0 0.498 rg (echo)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 1 rg ("301 ")Tj
+/F2 11 Tf 0 0 0 rg (.)Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (].)Tj
+/F1 11 Tf 0 0 1 rg (" -> )Tj
+0 0 0.498 rg ($header)Tj
+0 0 1 rg (\\n")Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(          )Tj
+/F1 11 Tf 0 0 0.498 rg ($header)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+0 0 0.498 rg (str_replace)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 1 rg ("%DIR%")Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 0.498 rg ($header)Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 0.498 rg ($dirheader)Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(          )Tj
+/F1 11 Tf 0 0.498 0 rg (//$header = str_replace\("./", "./", $dirheader\);)Tj
+T*
+(          )Tj
+(//echo\($header\);)Tj
+T*
+(          )Tj
+/F2 11 Tf 0 0 0.498 rg (fwrite)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($sfp)Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 0.498 rg ($header)Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+/F1 11 Tf 0 0 0.200 rg (          @)Tj
+/F2 11 Tf 0 0 0.498 rg (fclose)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($sfp)Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(          )Tj
+0 0 0.498 rg (break)Tj
+0 0 0 rg (;)Tj
+T*
+(        )Tj
+(})Tj
+T*
+(        )Tj
+0 0 0.498 rg (echo)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 1 rg ("200 [DIR] ")Tj
+/F2 11 Tf 0 0 0 rg (.)Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (].)Tj
+/F1 11 Tf 0 0 1 rg ("\\n")Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+/F1 11 Tf 0 0 0.200 rg (        send_dir_listing)Tj
+/F2 11 Tf 0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($sfp)Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (]\);)Tj
+T*
+(      )Tj
+(})Tj
+T*
+(      )Tj
+T*
+(      )Tj
+0 0 0.498 rg (else)Tj
+( )Tj
+0 0 0 rg ({)Tj
+( )Tj
+/F1 11 Tf 0 0.498 0 rg (//404 NOT FOUND)Tj
+T*
+(        )Tj
+/F2 11 Tf 0 0 0.498 rg (echo)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 1 rg ("404 ")Tj
+/F2 11 Tf 0 0 0 rg (.)Tj
+/F1 11 Tf 0 0 0.498 rg ($line)Tj
+/F2 11 Tf 0 0 0 rg ([)Tj
+/F1 11 Tf 0 0.498 0.498 rg (1)Tj
+/F2 11 Tf 0 0 0 rg (].)Tj
+/F1 11 Tf 0 0 1 rg ("\\n")Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(        )Tj
+0 0 0.498 rg (fwrite)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($sfp)Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 0.498 rg ($badheader)Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(        )Tj
+0 0 0.498 rg (fwrite)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($sfp)Tj
+/F2 11 Tf 0 0 0 rg (,)Tj
+( )Tj
+/F1 11 Tf 0 0 0.498 rg ($err404)Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+/F1 11 Tf 0 0 0.200 rg (        @)Tj
+/F2 11 Tf 0 0 0.498 rg (fclose)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($sfp)Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(      )Tj
+(})Tj
+T*
+(      )Tj
+T*
+(      )Tj
+/F1 11 Tf 0 0 0.498 rg ($loop)Tj
+( )Tj
+/F2 11 Tf 0 0 0 rg (=)Tj
+( )Tj
+/F1 11 Tf 0 0.498 0.498 rg (0)Tj
+/F2 11 Tf 0 0 0 rg (;)Tj
+ET
+endstream
+endobj
+8 0 obj
+<</Length 258>>
+stream
+BT 1 0 0 1 72 762 Tm
+/F2 11 Tf 0 0 0 rg (    )Tj
+(})Tj
+0 -13.2 TD
+(  )Tj
+(})Tj
+T*
+/F1 11 Tf 0 0 0.200 rg (  @)Tj
+/F2 11 Tf 0 0 0.498 rg (fclose)Tj
+0 0 0 rg (\()Tj
+/F1 11 Tf 0 0 0.498 rg ($sfp)Tj
+/F2 11 Tf 0 0 0 rg (\);)Tj
+T*
+(})Tj
+T*
+T*
+0 0 1 rg (?>)Tj
+T*
+ET
+endstream
+endobj
+9 0 obj
+<</ProcSet[/PDF/Text]
+/Font<</F1 1 0 R/F2 2 0 R/F3 3 0 R/F4 4 0 R>> >>
+endobj
+10 0 obj
+<</Type/Page/Parent 14 0 R
+/MediaBox[ 0 0 595 842]
+/Contents 5 0 R
+/Resources 9 0 R
+>>
+endobj
+11 0 obj
+<</Type/Page/Parent 14 0 R
+/MediaBox[ 0 0 595 842]
+/Contents 6 0 R
+/Resources 9 0 R
+>>
+endobj
+12 0 obj
+<</Type/Page/Parent 14 0 R
+/MediaBox[ 0 0 595 842]
+/Contents 7 0 R
+/Resources 9 0 R
+>>
+endobj
+13 0 obj
+<</Type/Page/Parent 14 0 R
+/MediaBox[ 0 0 595 842]
+/Contents 8 0 R
+/Resources 9 0 R
+>>
+endobj
+14 0 obj
+<</Type/Pages/Kids[
+10 0 R
+11 0 R
+12 0 R
+13 0 R
+]/Count 4
+>>
+endobj
+15 0 obj
+<</Type/Catalog/Pages 14 0 R >>
+endobj
+xref
+0 16
+0000000000 65535 f 
+0000000015 00000 n 
+0000000111 00000 n 
+0000000212 00000 n 
+0000000316 00000 n 
+0000000424 00000 n 
+0000004520 00000 n 
+0000012303 00000 n 
+0000020898 00000 n 
+0000021205 00000 n 
+0000021291 00000 n 
+0000021394 00000 n 
+0000021497 00000 n 
+0000021600 00000 n 
+0000021703 00000 n 
+0000021780 00000 n 
+trailer
+<< /Size 16 /Root 15 0 R
+>>
+startxref
+21828
+%%EOF
This page took 0.293604 seconds and 4 git commands to generate.