{"id":316,"date":"2008-03-11T04:51:37","date_gmt":"2008-03-11T08:51:37","guid":{"rendered":"http:\/\/blogs.law.harvard.edu\/zeroday\/2008\/03\/11\/mousehole-a-ruby-web-proxy\/"},"modified":"2008-03-11T04:51:37","modified_gmt":"2008-03-11T08:51:37","slug":"mousehole-a-ruby-web-proxy","status":"publish","type":"post","link":"https:\/\/archive.blogs.harvard.edu\/zeroday\/2008\/03\/11\/mousehole-a-ruby-web-proxy\/","title":{"rendered":"mouseHole: A ruby web proxy"},"content":{"rendered":"<p>I have been thinking about writing a web proxy for a while.  There are several projects that all involve web proxy technology.  So tonight while searching for a simple one I found exactly what I&#8217;m looking for.  mouseHole.<\/p>\n<p>There are a lot of dependencies so be sure to run the following script.<\/p>\n<p><code>echo \"installing ruby and dev libraries\"<br \/>\nsudo apt-get install ruby --assume-yes<br \/>\nsudo apt-get install ruby1.8-dev --assume-yes<br \/>\necho \"installing ruby gems\"<br \/>\nsudo apt-get install rubygems --assume-yes<br \/>\necho \"installing hpricot gem\"<br \/>\nsudo gem install hpricot --include-dependencies<br \/>\necho \"installing camping gem\"<br \/>\nsudo gem install camping --include-dependencies<br \/>\necho \"installing activerecord gem\"<br \/>\nsudo gem install activerecord --include-dependencies<br \/>\necho \"installing json gem\"<br \/>\nsudo gem install json --include-dependencies<br \/>\necho \"installing mongrel gem\"<br \/>\nsudo gem install mongrel --include-dependencies<br \/>\necho \"installing sqlite3 and libraries\"<br \/>\nsudo apt-get install sqlite3 swig libsqlite3-ruby libsqlite3-dev --assume-yes<br \/>\necho \"installing sqlite3 gem\"<br \/>\nsudo gem install sqlite3-ruby --include-dependencies<\/code><\/p>\n<p>This is nearly automated however you will need to pick the versions of several of the gems (ruby, win32, jruby, etc).  If there was a single piece of functionality I&#8217;d like from gem installs is the ability to automate this last bit.  i&#8217;d like to have an option that says &#8220;assume the highest version of ruby&#8221; for each of those choices.  &#8211;assume-highest-ruby-version ?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have been thinking about writing a web proxy for a while. There are several projects that all involve web proxy technology. So tonight while searching for a simple one I found exactly what I&#8217;m looking for. mouseHole. There are a lot of dependencies so be sure to run the following script. echo &#8220;installing ruby [&hellip;]<\/p>\n","protected":false},"author":214,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[274],"tags":[],"class_list":["post-316","post","type-post","status-publish","format-standard","hentry","category-interesting-tech"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/archive.blogs.harvard.edu\/zeroday\/wp-json\/wp\/v2\/posts\/316","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/archive.blogs.harvard.edu\/zeroday\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/archive.blogs.harvard.edu\/zeroday\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/zeroday\/wp-json\/wp\/v2\/users\/214"}],"replies":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/zeroday\/wp-json\/wp\/v2\/comments?post=316"}],"version-history":[{"count":0,"href":"https:\/\/archive.blogs.harvard.edu\/zeroday\/wp-json\/wp\/v2\/posts\/316\/revisions"}],"wp:attachment":[{"href":"https:\/\/archive.blogs.harvard.edu\/zeroday\/wp-json\/wp\/v2\/media?parent=316"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/zeroday\/wp-json\/wp\/v2\/categories?post=316"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/zeroday\/wp-json\/wp\/v2\/tags?post=316"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}