1 ライナーで書いた Web サーバ

RubyFlow より。なんと 1 ライナーで書いた Web サーバ。

# From: http://www.ntecs.de/blog/articles/2008/02/09/the-worlds-smallest-webserver
# Author: Michael Neumann
# ... point your browser to http://localhost:3125/etc/motd

ruby -rsocket -e 's=TCPServer.new(5**5);loop{_=s.accept;_<<"HTTP/1.0 200 OK\r\n\r\n#{File.read(_.gets.split[1])rescue nil}";_.close}'
http://snippets.dzone.com/posts/show/5424

コマンドを実行し、ブラウザで http://localhost:3125/etc/passwd とかするとファイルが見れる。

使い方の注意:

  • ポート番号は 5**5 = 3125
  • Content-Type を送ってない
  • ルートディレクトリが公開される

Code golf な人は他の言語でチャレンジしてみるといいかも。