Web serveris vienā rindiņā

Linuxisti, tomēr ir manjaki. Pozitīvā nozīmē. No dikiy ieraksta uzzināju, ka viens meistars ir uzcepis bash vidē webserveri vienas rindiņas garumā. Pēc tam cits meistars šo skriptu ir nedaudz optimizējis un izveidojis bash_httpd 2.1 versiju, kas strādā gan ar pārlūku, gan wget (konsoles lejupielādes menedžeris).

Šādi izskatās skripta kods. Tas ir bash skripts kurš izmanto dažādus unix komandrindas rīkus.

true; while [ $? -eq 0 ];do nc -vlp 8080 -c'(r=read;e=echo;$r a b c;E=NOTYET;while [ ${#E} -gt 0 ];do $r E;E=`$e $E|tr -d "\r\n"`;done;f=`$e $b|sed 's/[^a-z0-9_.-]//gi'`;h="HTTP/1.0";o="$h 200 OK\r\n";c="Content";if [ -z $f ];then($e -e $o;ls|(while $r n;do if test -f ${n}; then $e "<a href=\"/$n\">$n</a><br>";fi;done););elif [ -f $f ];then $e -e "$o$c-Type: `file -ib $f`\n$c-Length: `stat -c%s $f`\n";cat $f;else $e -e "$h 404 Not Found\n\n404\n";fi)';done

Kā saka krievi: “respect i uvaga”.

9 thoughts on “Web serveris vienā rindiņā

  1. bubu

    nuu… arī C vai C++’ā var webserveri vienā rindiņā uzrakstīt. Rindiņu skaitam jau mūsdienās nav svara. No svara ir drīzāk baitu skaits šādām mini-programmām.

    Atbildēt
  2. japets

    Manuprāt, šajā gadījumā korektāk būtu skaitīt komandu skaitu. Romānu arī var uzrakstīt vienā rindiņā bez atkāpēm.

    Atbildēt

Atbildēt uz komentāru CooLynX Atcelt atbildi

Tava e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti kā *