hoodwink.d enhanced
RSS
2.0
XHTML
1.0

RedHanded

Here is MouseHole 1.2 #

by why in inspect

Once installed, visit http://mh/.

Here, you remember MouseHole. We all came up with it on this thread. And then, a month ago we started playing with the Hoodlum proxy. Finally, here is the release that combines Ryan’s gzip code from WonderLand and MenTaL’s Greasemonkey code and all the input from covert mice, where’er they are. The software was sired by a blog.

My favorite feature of MouseHole 1.2 is the support for intercepting hosts. For example, if you’re running MH as your proxy, you can type http://mh/ into the URL bar to get to the doorway. Or mouse.hole.

Mounted scripts can be travelled to using mouse.mount. So, for MouseWiki: mouse.wiki. For MouseCommand: mouse.cmd.

Plenty of other features, though. An RSS feed of your installed scripts (perfect for Firefox’s LiveBookmark), faster HTML cleaning, improved interface for URL matches. Best of all, a new register_uri method for scripts that want to safely allow cross-site Ajax stuff on certain domains.

said on 28 Sep 2005 at 13:52

Cool, at least I’ve contributed something fairly useful to the Ruby community in the past month in the form of the great decode method. Next, I’ll create a method called razzle_dazzle, whose purpose I’ll leave up to your imagination. But prepare to be astounded!

said on 28 Sep 2005 at 14:07

If you don’t mind, I’ve added razzle_dazzle to the 1.3 changelog in anticipation.

said on 28 Sep 2005 at 14:14

Excellent hats, why.

Now we’ve simply got to implement streaming for non-filtered resources and we’re all set.

(I know everyone uses BitTorrent to download those 500MB PDFs nowadays, but what about the people who don’t?)

Oh. Oh. Also take advantage of webbybrickish support for chaining to a proxy upstream. That one sounds easiest; I may take a stab or two this week.

said on 28 Sep 2005 at 14:27

Yep, yep, all that.

I’d really like:

  • A BitTorrent downloader.user.rb. Manages many downloads. Intercepts torrents in the wild. Back home, back in the hangar, its reporting progress and letting you cancel or whatever.
  • An RSS aggregator mount. Again, will show an icon in the bottom corner when anything is auto-discovered.
  • A textarea widget. Will replace textareas out in the world with something totally ENHANCED that keeps backups of submitted text in the local database, in case a form flubs.
  • A statistical script which shows how much browsing has happened, which sites are visited most frequently, stuff like that.
said on 28 Sep 2005 at 14:27

/me likes streaming for non-filtered resources. i wonder if i couldn’t take a whack at that…

said on 28 Sep 2005 at 15:44

yes, yes… excellent ideas. now I just have to acquire access to hoodwink’d somehow. the registration process worked once, but now all logging in and trying to reregister (since I received no email I think I was supposed to receive) results in ye olde internal server error.

said on 28 Sep 2005 at 16:42

I fixed that bug this morning, kode. Give it a scoop.

said on 28 Sep 2005 at 16:46

A textarea widget. Will replace textareas out in the world with something totally ENHANCED that keeps backups of submitted text in the local database, in case a form flubs.

Please please please. Textareas suck.

What else could we do besides autosave? ... gears turning …

said on 28 Sep 2005 at 16:51

I have yet to read to code, but I suspect I’m still locked out of the coterie due to my ISP ’s transparent proxy (until I patch hoodwink.user.rb and open-uri again).

said on 28 Sep 2005 at 17:25

Still getting a 503 error if I enable Hoodwink’d. As usual, everything else seems to work smoothly.

said on 28 Sep 2005 at 17:41

Something I can’t figure out. I’m hitting http://hoodwink.d/ with the proxy set up properly. I can see the request hitting MouseHole, scrolling by.

localhost – - [29/Sep/2005:09:35:56 AUS Eastern Standard Time] “GET http://hoodw ink.d/ HTTP /1.1” 503 828 - → http://hoodwink.d/

The error which is coming out is coming from our work proxy, which would be expected, but I have an entry in the hosts file which sets hoodwink.d to IP address 127.0.0.1 (I then tunnel that through SSH and out the network.)

So what I don’t get is, if hoodwink.d is at 127.0.0.1, why is MouseHole going through our proxy at all? I can’t see a HOSTS entry in the mouseHole.rb script itself… so where is it getting it from?

said on 28 Sep 2005 at 18:17

A BitTorrent downloader.user.rb. Manages many downloads. Intercepts torrents in the wild. Back home, back in the hangar, its reporting progress and letting you cancel or whatever.

Holy crap. This is way too cool to be good for your health.

said on 28 Sep 2005 at 18:18

Note that running MouseHole as a transparent proxy for an entire LAN would make said BitTorrent client multi-user. :-D

said on 28 Sep 2005 at 19:16

I get the following error when I try to run mouseHole (didn’t happen in the older version). I am under Windows XP and I can see dbm.rb is in the directory:

C:\Program Files\Ruby\lib\ruby\1.8\yaml

But I get the following error msg:


C:\Documents and Settings\bluetechnx\Desktop\mouseHole-1.2>ruby bin\mouseHole
c:/program files/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:18:in `r
equire__': No such file to load -- dbm (LoadError)
        from c:/program files/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_requir
e.rb:18:in `require'
 from c:/program files/ruby/lib/ruby/1.8/yaml/dbm.rb:2
        from c:/program files/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_requir
e.rb:18:in `require__'
        from c:/program files/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_requir
e.rb:18:in `require'
 from ./lib/mouseHole.rb:20
        from c:/program files/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_requir
e.rb:18:in `require__'
        from c:/program files/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_requir
e.rb:18:in `require'
 from bin/mouseHole:4

C:\Documents and Settings\bluetechnx\Desktop\mouseHole-1.2>
said on 28 Sep 2005 at 19:42

bluetechnx: Actually, you need lib/ruby/1.8/dbm.rb if you’re going to run it from the source code. Otherwise, use the Windows installer, it’s got all the stuff.

said on 28 Sep 2005 at 19:51

Please, an upstream proxy support feature, please, please !

I don’t yet know enough Ruby to do this myself (having only just finished the excellent Poignant Guide last week), but I have been following the hoodwink.d/greasybacon/chunkymonkey phenomenon from the start, and have got mouseHole working on my Mac at home.

I just can’t get it to work through the nasty MS ISA proxy at work, which requires authentication – can anyone point me to some code to get ISA authentication working ??

Unlike Trejkaz (above) I have no nice things like SSH to access the outside world – alas, nothing but port 80 through the evil ISA proxy.

said on 28 Sep 2005 at 19:53

I’ve just discovered a new way to break it. Any XML entity in a wink makes the parser barf on pulling the winks. :-)

[2005-09-29 11:48:42] ERROR Exception: Illegal character '&' in raw string "Hmm&
I run...

Best thing is, I didn’t even insert the entity myself, it was the text filter’s cleverness. :-)

said on 28 Sep 2005 at 20:04

I used to run SSH at home on port 443 back when port 22 was blocked. That was a rather convenient way around being blocked on one but not the other.

said on 29 Sep 2005 at 00:25

I get the same error as Trejkaz now, other than that, it’s really cool. :) (error)

said on 29 Sep 2005 at 18:58

This is ugly, but in hoodwinkd.user.rb, replace the xhtml method definition with:

def xhtml( str )
   str
end

That bypasses the bug and everything renders fine. I have to wonder what sort of evil it does open up, though…

said on 30 Sep 2005 at 10:36

where’s linux version? ruby-gnome2 is quite mature for multiplatform developing

said on 15 Oct 2005 at 09:49

I recieved: ERROR LoadError: No such file to load—htree

I am using the win32 installer on this bawx.

said on 26 Oct 2005 at 09:16

Can we change the top of mouseHole to read:

$:.unshift(File.dirname(__FILE__) + '/..')

require 'optparse'
require 'ostruct'
require 'webrick/httpproxy'
require 'lib/mouseHole'

The whole “cannot find such and such file” thing is annoying.

said on 02 Dec 2005 at 18:27

Ok, I’m confused. I need to be running Mousehole in order to install hoodwinkd.user.rb, but do I also need Hoodlum running to access it? I tried setting hoodwink.d to 127.0.0.1 in my etc/hosts file, but no dice. Any recommendations for this lowly end-user?

said on 08 Jan 2006 at 21:38

I’ve created my hoodwinked login and password, but whenever i have the script turned, nothing loads. i get the following error:

Service Unavailable A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. – connect(2) WEBrick/1.3.1 (Ruby/1.8.2/2004-12-25) at hoodwink.d:80

When I turn it off – everything is fine. Makes me sad.

Comments are closed for this entry.