From zimba.tm at gmail.com Sun Oct 2 12:55:53 2005 From: zimba.tm at gmail.com (zimba) Date: Sun, 02 Oct 2005 18:55:53 +0200 Subject: [ANN] Moo's Wd v0.1.5 Message-ID: <43401119.9050606@gmail.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 [|= Moo's Wd v0.1.5 =|] A mooswd geniserator. The power of the cow will generate all the web passwords for you. Setup your master password in the script file for the first time. Then all the encountered empty password fields will be stuffed with moo's passwords. The /mooswd command also allows you to ask the cow for a specific password. [=\ The cow's endoscopy /=] If you look inside the script, you'll see how it works. Basically, the password is an md5 of the master password and the domain name. The script was largely inspired by it's javascript brother at http://labs.zarate.org/passwd/ Comments are welcome. zimba.tm -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFDQBEZBPd9MK2EeAsRAgYPAJ9hu6lAOBBlH5OXuLVbWe7F4JvynACgwvX7 4mvL1K+LQVsdehM/uzmTtLE= =+lMv -----END PGP SIGNATURE----- From zimba.tm at gmail.com Sun Oct 2 13:34:21 2005 From: zimba.tm at gmail.com (zimba) Date: Sun, 02 Oct 2005 19:34:21 +0200 Subject: Starting a community Message-ID: <43401A1D.1080500@gmail.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, I'd like to use mouseHole to start a community with my friends. I have many plans, like make an annotation tool in the verge of hoodwink'd, but with more freedom, build a data server with nitro and create a new virtual root domain on internet ( .tm ). The actual mouseHole uses a ::HOSTS constant. This limitations prevents me to add hosts easily. I was thinking of retrieving a host file from different urls. I could easily implement this, but I wanted to discuss a little about it before. Different resolutions methods could be chosen. The most traditional, is to add a dns server that contains the different hosts. I prefer simply having a text file on a web server because it's more flexible. I've seen json is used in the scripts, so I propose to use this format. { "*.tm": "10.0.0.1", "hoodwink.d": "10.0.0.2" } Note the wildcard to avoid having to modify the file. The file could also be used to redirect those nasty ad-company-hosts. What do you think ? Cheers, zimba.tm -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFDQBocBPd9MK2EeAsRAs7aAKC4qJaxvY1q0UIrMqLI37PS03Et1ACgnexm L8SrkcDiLKXjn535i8sKuj8= =SJdX -----END PGP SIGNATURE----- From daniels at pronto.com.au Sun Oct 2 22:06:39 2005 From: daniels at pronto.com.au (Daniel Sheppard) Date: Mon, 3 Oct 2005 12:06:39 +1000 Subject: Decoding bug Message-ID: I spent half an hour wrestling with my fix_xml.rb patch thinking it was my fault, but it didn't make sense that it would have the effect it was having (a truncated page). Eventually figured out what I was doing wrong (my HTMLDocumentConverter was always returning nil because it needed a reference to the script object). Finally, I manage to reproduce the bug in mousehole proper. If for whatever reason the UserScript#read_xhtml method returns nil, the content is being decoded, but the content-length is no being modified. Herein, a properly functioning decode method: def decode(res) case res['content-encoding'] when 'gzip': gzr = Zlib::GzipReader.new(StringIO.new(res.body)) res.body = gzr.read gzr.close res['content-encoding'] = nil res['content-length'] = res.body.length when 'deflate': res.body = Zlib::Inflate.inflate(res.body) res['content-encoding'] = nil res['content-length'] = res.body.length end end ##################################################################################### This email has been scanned by MailMarshal, an email content filter. ##################################################################################### -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051003/11dc1ee0/attachment.htm From daniels at pronto.com.au Sun Oct 2 22:13:51 2005 From: daniels at pronto.com.au (Daniel Sheppard) Date: Mon, 3 Oct 2005 12:13:51 +1000 Subject: Decoding bug Message-ID: And also, a fix_xml that will no longer cause all your html rewriting scripts to fall over. ________________________________ From: mousehole-scripters-bounces at rubyforge.org [mailto:mousehole-scripters-bounces at rubyforge.org] On Behalf Of Daniel Sheppard Sent: Monday, 3 October 2005 12:07 PM To: mousehole-scripters at rubyforge.org Subject: Decoding bug I spent half an hour wrestling with my fix_xml.rb patch thinking it was my fault, but it didn't make sense that it would have the effect it was having (a truncated page). Eventually figured out what I was doing wrong (my HTMLDocumentConverter was always returning nil because it needed a reference to the script object). Finally, I manage to reproduce the bug in mousehole proper. If for whatever reason the UserScript#read_xhtml method returns nil, the content is being decoded, but the content-length is no being modified. Herein, a properly functioning decode method: def decode(res) case res['content-encoding'] when 'gzip': gzr = Zlib::GzipReader.new(StringIO.new(res.body)) res.body = gzr.read gzr.close res['content-encoding'] = nil res['content-length'] = res.body.length when 'deflate': res.body = Zlib::Inflate.inflate(res.body) res['content-encoding'] = nil res['content-length'] = res.body.length end end ######################################################################## ############# This email has been scanned by MailMarshal, an email content filter. ######################################################################## ############# ######################################################################## ############# This email has been scanned by MailMarshal, an email content filter. ######################################################################## ############# ##################################################################################### This email has been scanned by MailMarshal, an email content filter. ##################################################################################### -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051003/701a55bb/attachment.htm -------------- next part -------------- A non-text attachment was scrubbed... Name: fix_xml.rb Type: application/octet-stream Size: 6219 bytes Desc: fix_xml.rb Url : http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051003/701a55bb/fix_xml.obj From nicolas.delsaux at gmail.com Mon Oct 3 02:52:37 2005 From: nicolas.delsaux at gmail.com (Nicolas Delsaux) Date: Mon, 3 Oct 2005 08:52:37 +0200 Subject: Starting a community In-Reply-To: <43401A1D.1080500@gmail.com> References: <43401A1D.1080500@gmail.com> Message-ID: <418361960510022352m777b966cic2abf77080f8f282@mail.gmail.com> On 10/2/05, zimba wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hello, > > I'd like to use mouseHole to start a community with my friends. I have > many plans, like make an annotation tool in the verge of hoodwink'd, > but with more freedom, build a data server with nitro and create a new > virtual root domain on internet ( .tm ). Can you be a little more explicit, for dumb newbies like me ? What I suppose is that, using a central server, you'll share annotations (or any other kind of data) between friends. But ... let me ask you a kind of crazy question : whu not doing it in a P2P way ? I mean, can't your future script do some kind of discovery (even based upon a central registry). I ask this question because I've think about it this week-end, and MouseHole may be a very efficient tool for that ... > > The actual mouseHole uses a ::HOSTS constant. This limitations > prevents me to add hosts easily. I was thinking of retrieving a host > file from different urls. I could easily implement this, but I wanted > to discuss a little about it before. It seems to me a good idea to replace the HOSTS constant by a "function" (I quote this since I don't have a clear view about Ruby's vocabulary : are they called functions, methods, proccedures, ...) > > Different resolutions methods could be chosen. The most traditional, > is to add a dns server that contains the different hosts. I prefer > simply having a text file on a web server because it's more flexible. > I've seen json is used in the scripts, so I propose to use this format. > { "*.tm": "10.0.0.1", > "hoodwink.d": "10.0.0.2" } > Note the wildcard to avoid having to modify the file. The file could > also be used to redirect those nasty ad-company-hosts. What about the even older etc/hosts ? Used in both Unices and Windows ? This fgile would be loaded by a Ruby class which would replace the HOSTS hash, using an equivalent interface. -- Nicolas Delsaux Depuis GMail qui vous espionne, mais qui est bien Et pour ceux que ?a int?resse, j'ai 50 invitations From zimba.tm at gmail.com Mon Oct 3 07:51:40 2005 From: zimba.tm at gmail.com (zimba) Date: Mon, 03 Oct 2005 13:51:40 +0200 Subject: Starting a community In-Reply-To: <418361960510022352m777b966cic2abf77080f8f282@mail.gmail.com> References: <43401A1D.1080500@gmail.com> <418361960510022352m777b966cic2abf77080f8f282@mail.gmail.com> Message-ID: <43411B4C.2030801@gmail.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Nicolas, Nicolas Delsaux a ?crit : > On 10/2/05, zimba wrote: > >> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 >> >> Hello, >> >> I'd like to use mouseHole to start a community with my friends. I >> have many plans, like make an annotation tool in the verge of >> hoodwink'd, but with more freedom, build a data server with nitro >> and create a new virtual root domain on internet ( .tm ). > > > Can you be a little more explicit, for dumb newbies like me ? What > I suppose is that, using a central server, you'll share annotations > (or any other kind of data) between friends. But ... let me ask you > a kind of crazy question : whu not doing it in a P2P way ? I mean, > can't your future script do some kind of discovery (even based upon > a central registry). I ask this question because I've think about > it this week-end, and MouseHole may be a very efficient tool for > that ... I think you've grasped the idea. I'm going to make a lame rip of why's ideas for my own convenience :) But the implementation will be a little different. Because the public is composed of friends, I'll allow them to make free modifications on any website. And talking about P2P ; the problem would be to develop a new protocol and handle hosts that are behind a firewall. It's not worth the work for my quick hacks. >> The actual mouseHole uses a ::HOSTS constant. This limitations >> prevents me to add hosts easily. I was thinking of retrieving a >> host file from different urls. I could easily implement this, but >> I wanted to discuss a little about it before. > > > It seems to me a good idea to replace the HOSTS constant by a > "function" (I quote this since I don't have a clear view about > Ruby's vocabulary : are they called functions, methods, > proccedures, ...) I think it's called a method :-p >> Different resolutions methods could be chosen. The most >> traditional, is to add a dns server that contains the different >> hosts. I prefer simply having a text file on a web server because >> it's more flexible. I've seen json is used in the scripts, so I >> propose to use this format. { "*.tm": "10.0.0.1", "hoodwink.d": >> "10.0.0.2" } Note the wildcard to avoid having to modify the >> file. The file could also be used to redirect those nasty >> ad-company-hosts. > > > What about the even older etc/hosts ? Used in both Unices and > Windows ? This fgile would be loaded by a Ruby class which would > replace the HOSTS hash, using an equivalent interface. The problem with the host file is that it's not accessable by every user, because it's system-wide. mouseHole was also developped to answer the need hoodwink'd users had regarding to this problem. Also, the host file doesn't have to be loaded since it's already understood by the system ;) but why not, using a remote host file is an idea. > > -- Nicolas Delsaux Depuis GMail qui vous espionne, mais qui est > bien Et pour ceux que ?a int?resse, j'ai 50 invitations J'ai aussi 50 invitations ;) Cheers, ... zimba -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFDQRtLBPd9MK2EeAsRApqrAKCXVaTHCY2Y/pIBqlq0MB4axjGL5ACbBWtl +DPkL9SE52o6KZ9y6EqHSDw= =4Xmv -----END PGP SIGNATURE----- From nicolas.delsaux at gmail.com Mon Oct 3 09:41:46 2005 From: nicolas.delsaux at gmail.com (Nicolas Delsaux) Date: Mon, 3 Oct 2005 15:41:46 +0200 Subject: file loading and location Message-ID: <418361960510030641t511f9271q9bc5c413553d2cef@mail.gmail.com> Hi, I'm planning to write a MouseHole command for blocking web ads, based upon location and other elements. The very first version I've written uses only Google ads web site (as shown here : http://nicolas-delsaux.is-a-geek.net/wordpress/?p=310&lp_lang_view=en). I would like to dynamically load blocked sources from a file (including regexp). But I would like to use the right loading mechanism. How can I achieve that ? -- Nicolas Delsaux Depuis GMail qui vous espionne, mais qui est bien Et pour ceux que ?a int?resse, j'ai 50 invitations From nicolas.delsaux at gmail.com Mon Oct 3 09:50:58 2005 From: nicolas.delsaux at gmail.com (Nicolas Delsaux) Date: Mon, 3 Oct 2005 15:50:58 +0200 Subject: file loading and location Message-ID: <418361960510030650k7ffdd0c3kfd84b67af4c0fc52@mail.gmail.com> Hi, I'm planning to write a MouseHole command for blocking web ads, based upon location and other elements. The very first version I've written uses only Google ads web site (as shown here : http://nicolas-delsaux.is-a-geek.net/wordpress/?p=310&lp_lang_view=en). I would like to dynamically load blocked sources from a file (including regexp). But I would like to use the right loading mechanism. How can I achieve that ? -- Nicolas Delsaux Depuis GMail qui vous espionne, mais qui est bien Et pour ceux que ?a int?resse, j'ai 50 invitations From nicolas.delsaux at gmail.com Mon Oct 3 09:59:20 2005 From: nicolas.delsaux at gmail.com (Nicolas Delsaux) Date: Mon, 3 Oct 2005 15:59:20 +0200 Subject: file loading and location Message-ID: <418361960510030659l12e94192l34a5eb1bd8dc6a77@mail.gmail.com> Hi, I'm planning to write a MouseHole command for blocking web ads, based upon location and other elements. The very first version I've written uses only Google ads web site (as shown here : http://nicolas-delsaux.is-a-geek.net/wordpress/?p=310&lp_lang_view=en). I would like to dynamically load blocked sources from a file (including regexp). But I would like to use the right loading mechanism. How can I achieve that ? -- Nicolas Delsaux Depuis GMail qui vous espionne, mais qui est bien Et pour ceux que ?a int?resse, j'ai 50 invitations From nicolas.delsaux at gmail.com Mon Oct 3 10:09:17 2005 From: nicolas.delsaux at gmail.com (Nicolas Delsaux) Date: Mon, 3 Oct 2005 16:09:17 +0200 Subject: file loading and location Message-ID: <418361960510030709i7b0a30edk8e1856f9738384be@mail.gmail.com> Hi, I'm planning to write a MouseHole command for blocking web ads, based upon location and other elements. The very first version I've written uses only Google ads web site (as shown here : http://nicolas-delsaux.is-a-geek.net/wordpress/?p=310&lp_lang_view=en). I would like to dynamically load blocked sources from a file (including regexp). But I would like to use the right loading mechanism. How can I achieve that ? -- Nicolas Delsaux Depuis GMail qui vous espionne, mais qui est bien Et pour ceux que ?a int?resse, j'ai 50 invitations From zimba.tm at gmail.com Mon Oct 3 10:35:11 2005 From: zimba.tm at gmail.com (zimba) Date: Mon, 03 Oct 2005 16:35:11 +0200 Subject: file loading and location In-Reply-To: <418361960510030709i7b0a30edk8e1856f9738384be@mail.gmail.com> References: <418361960510030709i7b0a30edk8e1856f9738384be@mail.gmail.com> Message-ID: <4341419F.8050704@gmail.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Nicolas, mouseHole already includes a preference storage mechanism. You can use self[] and self[]= to load and store keys. Also because of security, you can't access an external files. Nicolas Delsaux a ?crit : > Hi, I'm planning to write a MouseHole command for blocking web ads, > based upon location and other elements. The very first version I've > written uses only Google ads web site (as shown here : > http://nicolas-delsaux.is-a-geek.net/wordpress/?p=310&lp_lang_view=en). > I would like to dynamically load blocked sources from a file > (including regexp). But I would like to use the right loading > mechanism. How can I achieve that ? -- Nicolas Delsaux Depuis GMail > qui vous espionne, mais qui est bien Et pour ceux que ?a int?resse, > j'ai 50 invitations Cheers, ... zimba -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFDQUGeBPd9MK2EeAsRAqgFAKCtFQty0gaI5uddr8xXBig4W5LPQgCfSl9n Ny3jBISBLWtdy6uqcM72s5c= =2Jvz -----END PGP SIGNATURE----- From nicolas.delsaux at gmail.com Mon Oct 3 10:39:38 2005 From: nicolas.delsaux at gmail.com (Nicolas Delsaux) Date: Mon, 3 Oct 2005 16:39:38 +0200 Subject: file loading and location In-Reply-To: <418361960510030709i7b0a30edk8e1856f9738384be@mail.gmail.com> References: <418361960510030709i7b0a30edk8e1856f9738384be@mail.gmail.com> Message-ID: <418361960510030739o68678793lcc4d7ccb8e6a6acf@mail.gmail.com> On 10/3/05, Nicolas Delsaux wrote: Did I send 4 messages ? If so, please excuse me, GMail was hanged by Opera (or the contrary). > -- > Nicolas Delsaux > Depuis GMail qui vous espionne, mais qui est bien > Et pour ceux que ?a int?resse, j'ai 50 invitations > -- Nicolas Delsaux Depuis GMail qui vous espionne, mais qui est bien Et pour ceux que ?a int?resse, j'ai 50 invitations From why at hobix.com Mon Oct 3 10:45:51 2005 From: why at hobix.com (why the lucky stiff) Date: Mon, 03 Oct 2005 08:45:51 -0600 Subject: file loading and location In-Reply-To: <4341419F.8050704@gmail.com> References: <418361960510030709i7b0a30edk8e1856f9738384be@mail.gmail.com> <4341419F.8050704@gmail.com> Message-ID: <4341441F.8010601@hobix.com> zimba wrote: >Also because of security, you can't access an external files. > > Actually, an installed script can access external files (and do anything else Ruby can). A script just can't load external files when it's first discovered. _why From nicolas.delsaux at gmail.com Mon Oct 3 10:48:22 2005 From: nicolas.delsaux at gmail.com (Nicolas Delsaux) Date: Mon, 3 Oct 2005 16:48:22 +0200 Subject: file loading and location In-Reply-To: <4341441F.8010601@hobix.com> References: <418361960510030709i7b0a30edk8e1856f9738384be@mail.gmail.com> <4341419F.8050704@gmail.com> <4341441F.8010601@hobix.com> Message-ID: <418361960510030748i752e7503qef1609b1ab7fcb92@mail.gmail.com> On 10/3/05, why the lucky stiff wrote: > > Actually, an installed script can access external files (and do anything > else Ruby can). A script just can't load external files when it's first > discovered. Ouch ! You mean i can keep my banned_webservers.txt file next to my script, provided I do not load it at discovery time but instead at request time (ie during the rewrite method) ? -- Nicolas Delsaux Depuis GMail qui vous espionne, mais qui est bien Et pour ceux que ?a int?resse, j'ai 50 invitations From nicolas.delsaux at gmail.com Mon Oct 3 11:49:40 2005 From: nicolas.delsaux at gmail.com (Nicolas Delsaux) Date: Mon, 3 Oct 2005 17:49:40 +0200 Subject: one more question : installing a servlet and using provided CSS Message-ID: <418361960510030849h41bf93ffu65000420248fb261@mail.gmail.com> Hi again :-) For my upcoming ad filter, I've decided to install a servlet for an easy configuration (list of banned servers and the such). >From the cmd script, I've copied a code fragment that generates the default page : mount :ad_filter do |path_info| response['content-type'] = 'text/html' # listing all forbidden servers forbidden_servers = '' self[@PATTERNS_KEY].each do |forbidden_path| forbidden_servers << forbidden_path + '\n' end %[ Ad filter configuration

Ad filter configuration

] end Unfortunatly, the CSS data won't be included. How can I use it ? FYI, the namespace is not a whytheluckystiff but "nicolas-delsaux.is-a-geek.net" (a little pretentious, no ?). -- Nicolas Delsaux Depuis GMail qui vous espionne, mais qui est bien Et pour ceux que ?a int?resse, j'ai 50 invitations From nicolas.delsaux at gmail.com Mon Oct 3 11:55:10 2005 From: nicolas.delsaux at gmail.com (Nicolas Delsaux) Date: Mon, 3 Oct 2005 17:55:10 +0200 Subject: one more question : installing a servlet and using provided CSS In-Reply-To: <418361960510030849h41bf93ffu65000420248fb261@mail.gmail.com> References: <418361960510030849h41bf93ffu65000420248fb261@mail.gmail.com> Message-ID: <418361960510030855v2c97c7fet15e3b370d97bd3e3@mail.gmail.com> On 10/3/05, Nicolas Delsaux wrote: > Hi again :-) So stupid of me !!! >:-( I've found where this CSS is defined. -- Nicolas Delsaux Depuis GMail qui vous espionne, mais qui est bien Et pour ceux que ?a int?resse, j'ai 50 invitations From why at hobix.com Mon Oct 3 19:10:01 2005 From: why at hobix.com (why the lucky stiff) Date: Mon, 03 Oct 2005 17:10:01 -0600 Subject: ! MouseHolin' Yer Writeboard Message-ID: <4341BA49.8070003@hobix.com> New script I'm rather proud of: This is the sort of thing that MouseHole really gobbles up. Three things in particular: * You can post to Writeboard from the mounted script. This means the script can yank ID and feed information from the Writeboard creation process. Awesome! * The script keeps a database of watched Writeboards, then alters the Writeboard site to reflect that where it makes sense. ("This page is watched by MouseHole.") * I borrow Whiteboard's CSS. So it looks like the user script is really riding sidecar. _why From scott.wadden at gmail.com Wed Oct 5 12:31:19 2005 From: scott.wadden at gmail.com (Scott Wadden) Date: Wed, 5 Oct 2005 13:31:19 -0300 Subject: HTTPS, and Windows DBM Message-ID: <878ecc530510050931q1a87b37n181ce84b9adc3e75@mail.gmail.com> Hey folks. I'm quite new to all of this, so forgive my ignorance. MouseHole doesn't currently work for https sites, correct? Could anyone venture a guess as to how difficult it would be to add support? I'm thinking something akin to ProxyLike that's unencripted between the browser and proxy, but that packs some data into the url that tells the proxy to use https for the request. Also, how do I set up dbm on windows? The exe version of mousehole works fine, but I'd like to be able to run it from a standard ruby setup so I can use breakpoints and such. I'm presently using the lastest One Click Ruby Installer version of 1.8.2, but I don't mind switching to a different build. Any help would be greatly appreciated. Thanks a lot. Scott From me at benschumacher.com Wed Oct 5 12:38:54 2005 From: me at benschumacher.com (Ben Schumacher) Date: Wed, 5 Oct 2005 10:38:54 -0600 Subject: HTTPS, and Windows DBM In-Reply-To: <878ecc530510050931q1a87b37n181ce84b9adc3e75@mail.gmail.com> References: <878ecc530510050931q1a87b37n181ce84b9adc3e75@mail.gmail.com> Message-ID: <9859143f0510050938m3f891dd4k72a166f649f4850b@mail.gmail.com> On 10/5/05, Scott Wadden wrote: > MouseHole doesn't currently work for https sites, correct? Could > anyone venture a guess as to how difficult it would be to add support? > I'm thinking something akin to ProxyLike that's unencripted between > the browser and proxy, but that packs some data into the url that > tells the proxy to use https for the request. How about I just answer this one straight up. The way that browsers work when connecting to HTTPS sites through proxies is using the HTTP "CONNECT" method. This basically establishes a virtual direct socket connection between the client (browser) and the server, thus providing end-to-end connection and preventing potentially evil sys admins from snooping into your private communications. The end result of this? No dynmically altering of HTML with web proxies, cause the web proxy never sees the HTML. > Also, how do I set up dbm on windows? The exe version of mousehole > works fine, but I'd like to be able to run it from a standard ruby > setup so I can use breakpoints and such. I'm presently using the > lastest One Click Ruby Installer version of 1.8.2, but I don't mind > switching to a different build. You probably need to find a gem for this. Somebody else can cowboy up on this query. Cheers, bs. From scott.wadden at gmail.com Wed Oct 5 13:28:57 2005 From: scott.wadden at gmail.com (Scott Wadden) Date: Wed, 5 Oct 2005 14:28:57 -0300 Subject: HTTPS, and Windows DBM In-Reply-To: <9859143f0510050938m3f891dd4k72a166f649f4850b@mail.gmail.com> References: <878ecc530510050931q1a87b37n181ce84b9adc3e75@mail.gmail.com> <9859143f0510050938m3f891dd4k72a166f649f4850b@mail.gmail.com> Message-ID: <878ecc530510051028g2d12d073vcfde12edbc005a48@mail.gmail.com> Thank you for the extremely prompt reply. I can see why this crazy open source thing is catching on :) I probably didn't explain myself very well. I wasn't thinking of an end to end secure session between my browser and the server. Rather, my browser would make a standard http call to mousehole, which would then turn around and make a new https call to the server. Mousehole would be acting as a regular client in this case, with it's own cert repository, and should be able to manipulate the results in an unencrypted form. Mousehole would do it's thing, then pass the results back as the response to the http request from the browser. The url would be something like this: http://mh/https://securesite.com/ Or maybe: http://s.securesite.com Unless I misunderstand how ProxyLike works (which is entirely possible), I believe it must already be doing something like this, minus the https support of course. I'd like to try to implement something along these lines, but I know virtually nothing about proxies or protocols. I guess I'm just curious if this approach could be a viable one before I put too much time into it. On 10/5/05, Ben Schumacher wrote: > On 10/5/05, Scott Wadden wrote: > > MouseHole doesn't currently work for https sites, correct? Could > > anyone venture a guess as to how difficult it would be to add support? > > I'm thinking something akin to ProxyLike that's unencripted between > > the browser and proxy, but that packs some data into the url that > > tells the proxy to use https for the request. > > How about I just answer this one straight up. The way that browsers > work when connecting to HTTPS sites through proxies is using the HTTP > "CONNECT" method. This basically establishes a virtual direct socket > connection between the client (browser) and the server, thus providing > end-to-end connection and preventing potentially evil sys admins from > snooping into your private communications. The end result of this? No > dynmically altering of HTML with web proxies, cause the web proxy > never sees the HTML. > > > Also, how do I set up dbm on windows? The exe version of mousehole > > works fine, but I'd like to be able to run it from a standard ruby > > setup so I can use breakpoints and such. I'm presently using the > > lastest One Click Ruby Installer version of 1.8.2, but I don't mind > > switching to a different build. > > You probably need to find a gem for this. Somebody else can cowboy up > on this query. > > Cheers, > > bs. > > _______________________________________________ > Mousehole-scripters mailing list > Mousehole-scripters at rubyforge.org > http://rubyforge.org/mailman/listinfo/mousehole-scripters > From why at hobix.com Wed Oct 5 13:40:51 2005 From: why at hobix.com (why the lucky stiff) Date: Wed, 05 Oct 2005 11:40:51 -0600 Subject: HTTPS, and Windows DBM In-Reply-To: <878ecc530510051028g2d12d073vcfde12edbc005a48@mail.gmail.com> References: <878ecc530510050931q1a87b37n181ce84b9adc3e75@mail.gmail.com> <9859143f0510050938m3f891dd4k72a166f649f4850b@mail.gmail.com> <878ecc530510051028g2d12d073vcfde12edbc005a48@mail.gmail.com> Message-ID: <43441023.1030401@hobix.com> Scott Wadden wrote: >I probably didn't explain myself very well. I wasn't thinking of an >end to end secure session between my browser and the server. Rather, >my browser would make a standard http call to mousehole, which would >then turn around and make a new https call to the server. Mousehole >would be acting as a regular client in this case, with it's own cert >repository, and should be able to manipulate the results in an >unencrypted form. Mousehole would do it's thing, then pass the >results back as the response to the http request from the browser. > > Hey, Scott, glad you joined the list. ProxyLike will need to mount 'https:' and will need to use the Net::HTTPS library rather than OpenURI. I'm not sure if the Windows Ruby stuff comes with Net::HTTPS and OpenSSL extensions. If so, no problem. As far as the Windows DBM stuff, are you using the Windows source zip? I did the footwork tracking down the right DLLs and stuff. _why From why at hobix.com Wed Oct 5 13:46:16 2005 From: why at hobix.com (why the lucky stiff) Date: Wed, 05 Oct 2005 11:46:16 -0600 Subject: Starting a community In-Reply-To: <43411B4C.2030801@gmail.com> References: <43401A1D.1080500@gmail.com> <418361960510022352m777b966cic2abf77080f8f282@mail.gmail.com> <43411B4C.2030801@gmail.com> Message-ID: <43441168.2070208@hobix.com> zimba wrote: >The problem with the host file is that it's not accessable by every >user, because it's system-wide. mouseHole was also developped to >answer the need hoodwink'd users had regarding to this problem. >Also, the host file doesn't have to be loaded since it's already >understood by the system ;) but why not, using a remote host file is >an idea. > > Adding wildcards to the ::HOSTS hash sounds fine to me. Good one, zimba. Scripts have access to add to ::HOSTS, but Nicolas is probably right about offering a method call. A user will probably want to know if two scripts are fighting over a host name (or a mount, for that matter). _why From zimba.tm at gmail.com Wed Oct 5 14:09:18 2005 From: zimba.tm at gmail.com (zimba) Date: Wed, 05 Oct 2005 20:09:18 +0200 Subject: Starting a community In-Reply-To: <43441168.2070208@hobix.com> References: <43401A1D.1080500@gmail.com> <418361960510022352m777b966cic2abf77080f8f282@mail.gmail.com> <43411B4C.2030801@gmail.com> <43441168.2070208@hobix.com> Message-ID: <434416CE.9060309@gmail.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 why the lucky stiff a ?crit : > Adding wildcards to the ::HOSTS hash sounds fine to me. Good one, > zimba. > > Scripts have access to add to ::HOSTS, but Nicolas is probably > right about offering a method call. A user will probably want to > know if two scripts are fighting over a host name (or a mount, for > that matter). > > _why The script loading order looks important. Depending on the loading order, the ::HOSTS, mount and rewrite act differently. The simplest way to solve this problem is to add v ^ buttons to the script page (http://mouse.hole). A "weight" attribute could also be added to every script. Do you have a better idea ? Also, what is the best way to provide patches to mouseHole, do you have a VCS somewhere ? I want to add a hosts() method to the script zimba -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFDRBbNBPd9MK2EeAsRApYkAJkBNIjD+rHRpJMUzcoxmFUypw1eSACfT4RP Smh7GxQKeoXiL98NvXaMf9o= =pijK -----END PGP SIGNATURE----- From mental at rydia.net Wed Oct 5 15:55:47 2005 From: mental at rydia.net (mental@rydia.net) Date: Wed, 05 Oct 2005 15:55:47 -0400 Subject: HTTPS, and Windows DBM In-Reply-To: <878ecc530510051028g2d12d073vcfde12edbc005a48@mail.gmail.com> References: <878ecc530510050931q1a87b37n181ce84b9adc3e75@mail.gmail.com> <9859143f0510050938m3f891dd4k72a166f649f4850b@mail.gmail.com> <878ecc530510051028g2d12d073vcfde12edbc005a48@mail.gmail.com> Message-ID: <1128542147.43442fc3c9ca9@www.rydia.net> Quoting Scott Wadden : > Mousehole would do it's thing, then pass the > results back as the response to the http request from the > browser. > > The url would be something like this: > > http://mh/https://securesite.com/ > > Or maybe: > > http://s.securesite.com With most HTTPs sites, you'd immediately run into problems with "secure" cookies -- cookes that are marked as safe only to send only over https connections. Cookies must be kept by the browser as local javascript may need to access them. However, removing the "secure" flag in order to use the cookies over the plain HTTP connection to mouseHole opens a significant security hole for some sites... -mental From richard.j.cole at gmail.com Wed Oct 5 22:37:33 2005 From: richard.j.cole at gmail.com (Richard Cole) Date: Thu, 6 Oct 2005 12:37:33 +1000 Subject: Confused Message-ID: <726315b10510051937l7861062l450c802b7eb5fd15@mail.gmail.com> This mousehole program looks really interesting but some things weren't clear for me and I'm having some problem getting mousehole to work properly. Firstly my configuration. I'm running vanilla debian unstable (yeah it is unstable) with ruby and what not debian packages installed. I tried using both mozilla and konqueror as the browser. 1. Proxy settings. My browser uses a proxy, so if I use mousehole then mousehole needs to use my proxy, but when I set the environment variable HTTP_PROXY to http::proxy:80 mousehole didn't use the proxy. I had to hack the source: proxy_uri = nil if env_http_proxy = ENV["HTTP_PROXY"] proxy_uri = URI.parse(env_http_proxy) end server = MouseHole::ProxyServer::new( options, :BindAddress => MOUSEHOST, :Port => MOUSEPORT, :ProxyURI => proxy_uri ) 2. Proxylike script doesn't work. After I fixed the proxy I could install the proxylike script. http://www.whytheluckystiff.net/mouseHole/proxylike.user.rb But when I tried to visit http://localhost:37004/http://boingboing.net/ I just get garbage. However when using mousehole as a proxy the page loads ok. The log output says: g318-8948 - - [06/Oct/2005:12:07:33 EST] "GET /http://boingboing.net/ HTTP/1.1" 200 37024 The leading slash after the GET looks wrong. 3. There's no documentation or guidance for writing scripts. What is the environment in which the scripts run? What is the block passed to mount supposed to do? What should it return? What should base_href return? regards, Richard. From why at hobix.com Thu Oct 6 01:49:20 2005 From: why at hobix.com (why the lucky stiff) Date: Wed, 05 Oct 2005 23:49:20 -0600 Subject: Confused In-Reply-To: <726315b10510051937l7861062l450c802b7eb5fd15@mail.gmail.com> References: <726315b10510051937l7861062l450c802b7eb5fd15@mail.gmail.com> Message-ID: <4344BAE0.9020702@hobix.com> Richard Cole wrote: >I had to hack the source: > >proxy_uri = nil >if env_http_proxy = ENV["HTTP_PROXY"] > proxy_uri = URI.parse(env_http_proxy) >end > >server = MouseHole::ProxyServer::new( > options, > :BindAddress => MOUSEHOST, > :Port => MOUSEPORT, > :ProxyURI => proxy_uri >) > > Thankyou for the patch and welcome to the list, Richard. I vow to commit this. >g318-8948 - - [06/Oct/2005:12:07:33 EST] "GET /http://boingboing.net/ >HTTP/1.1" 200 37024 > >The leading slash after the GET looks wrong. > > It's correct. The script mounts at /http: -- that's the hack. The garbage is what's interesting to me. You're getting just an assortment of raw gzip guts I think. The gzip patch from Daniel Sheppard could be the answer. I'll letchya know when it's in CVS. >3. There's no documentation or guidance for writing scripts. What is >the environment in which the scripts run? What is the block passed to >mount supposed to do? What should it return? What should base_href >return? > > The basic docs are at: . >From there, you'll find links to the XML library and the HTTP request and response objects. I'm aiming to get some cohesive docs up soon. MouseHole's only a few weeks old, so. The explanation for mount is: |mount( mount_point ) { |path| } -- |Defines a block that's called whenever mount_point is accessed on MouseHole (e.g. if mount_point is 'foobar' then http://localhost:37004/foobar/bar would call this mount). The block takes one parameter, which is the path past the mountpoint (in the example given it would be 'bar'). The result of this block is handed back to the browser. Base href is a method inside ProxyLike which just fixes links to link back to ProxyLike. So you click on a link and you're not popped back to regularworld. _why From nicolas.delsaux at gmail.com Fri Oct 7 11:14:02 2005 From: nicolas.delsaux at gmail.com (Nicolas Delsaux) Date: Fri, 7 Oct 2005 17:14:02 +0200 Subject: upodate for the two dumbest mousehole scripts Message-ID: <418361960510070814w6b735c36r67f7607d8ed7f728@mail.gmail.com> There are even still some bugs, but my ad filter and my link marker have both been updated (I fear those script don't have the quality of why's ones ;-). So, for beginners willing to understand, here they are : http://nicolas-delsaux.is-a-geek.net/wordpress/wp-content/ad_filter.user.rb http://nicolas-delsaux.is-a-geek.net/wordpress/wp-content/marked_links.user.rb Please comment those pieces of crap .. -- Nicolas Delsaux Depuis GMail qui vous espionne, mais qui est bien Et pour ceux que ?a int?resse, j'ai 50 invitations From why at hobix.com Mon Oct 10 03:22:09 2005 From: why at hobix.com (why the lucky stiff) Date: Mon, 10 Oct 2005 01:22:09 -0600 Subject: Daniel's RSS stuff, more GM support checked in Message-ID: <434A16A1.6030905@hobix.com> I finally got around to checking in Daniel's feed converter stuff. I'll explain it all in the next few days. His AtomicMouse script is swell, we should look at expanding it, giving it its own look. I've also added support for GM_xmlhttprequest to get more GreaseMonkey scripts working. For example, the hoodwinkd.user.js is working on my MouseHole installation. I've also got lighttpd/FastCGI working with MouseHole instead of WEBrick, which is kind of cool. _why From kevin at sb.org Mon Oct 10 06:01:45 2005 From: kevin at sb.org (Kevin Ballard) Date: Mon, 10 Oct 2005 06:01:45 -0400 Subject: Daniel's RSS stuff, more GM support checked in In-Reply-To: <434A16A1.6030905@hobix.com> References: <434A16A1.6030905@hobix.com> Message-ID: <219E7C03-FDE8-4335-A245-0E09A6E57869@sb.org> On Oct 10, 2005, at 3:22 AM, why the lucky stiff wrote: > I've also got lighttpd/FastCGI working with MouseHole instead of > WEBrick, which is kind of cool. Oooh, does this make it actually fast enough to use? And can you get lighthttpd to avoid re-routing images and other such irrelevant resources through MouseHole to make it even faster? (The only exception being images served from a path registered from a script, which is one reason my idea for that was to use the .mouseHole sub- directory. However, I haven't really played with the current resource registration stuff (MouseHole is too slow for general use and I haven't had time to play around much lately), so I don't know if the path it registers is easily recognizable by things that don't have the script UUIDs). -- Kevin Ballard kevin at sb.org http://www.tildesoft.com http://kevin.sb.org -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2378 bytes Desc: not available Url : http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051010/f1388235/smime.bin From daniels at pronto.com.au Mon Oct 10 23:21:24 2005 From: daniels at pronto.com.au (Daniel Sheppard) Date: Tue, 11 Oct 2005 13:21:24 +1000 Subject: Daniel's RSS stuff, more GM support checked in Message-ID: Have you stuck with my original way of parsing based on mime-type or have you thought of a better way? There was some changes I was going to make, but only just got around to it. Considering situations where there are multiple sites that match "*", some of which want an XML doc, some want an XHTML doc and some want an RSS doc and some want a plain string - most of the time, only one will actually be doing rewritting, but they'd all like to get their hands on the data. Also, consider that sometimes the mime-type will overlap between the different doc types (ie. text/xml could be XML or RSS), so parsing based on mime-type and passing off to scripts based on that mime-type isn't ideal. So what we need isn't a mime-type match, but rather a doc_type match (which would default If the script has a "doc_type" setting which defaults to "xhtml", but can be overridden to accept another type, then we change the script processing loop so it keeps track of the document type of the last script, and if the new script wants a different doc type, it outputs to a string and then reparses in the new doc type. The attached fix_xml.rb should do that. It supports the default xhtml doc_type, as well as "atom" (parses using feed_tools and spits out atom), "rss" (parses using feed_tools and spits out rss) and "string" which just presents the raw output string (which should be modified inplace using gsub! and its ilk). If your wondering about the justification for all this non-HTML nonsense - I already point my RSS reader at my mousehole to rewrite feeds. I point everything else there as well, it's just that I haven't figured out how I want to rewrite the web for all those other applications yet. I can imagine a world where my Mousehole is grabbing javascript code and manipulating it to my ends. Manipulating CSS files to reformat sites without having to reparse every html page. Capturing streaming audio and video and manipulating that into a saveable video file. Making applications talk to things they didn't want to talk to. Intercepting automatic update scripts and forcing data to be ignored. Indexing pages in ala google desktop. Centralised blacklisting of sites for all applications. Resizing images. A middleman can be a powerful beast. > -----Original Message----- > From: mousehole-scripters-bounces at rubyforge.org > [mailto:mousehole-scripters-bounces at rubyforge.org] On Behalf > Of why the lucky stiff > Sent: Monday, 10 October 2005 5:22 PM > To: mousehole-scripters at rubyforge.org > Subject: Daniel's RSS stuff, more GM support checked in > > I finally got around to checking in Daniel's feed converter > stuff. I'll explain it all in the next few days. His > AtomicMouse script is swell, we should look at expanding it, > giving it its own look. > > I've also added support for GM_xmlhttprequest to get more > GreaseMonkey scripts working. For example, the > hoodwinkd.user.js is working on my MouseHole installation. > > I've also got lighttpd/FastCGI working with MouseHole instead > of WEBrick, which is kind of cool. > > _why > _______________________________________________ > Mousehole-scripters mailing list > Mousehole-scripters at rubyforge.org > http://rubyforge.org/mailman/listinfo/mousehole-scripters > > ##################################################################################### This email has been scanned by MailMarshal, an email content filter. ##################################################################################### -------------- next part -------------- A non-text attachment was scrubbed... Name: fix_xml.rb Type: application/octet-stream Size: 7601 bytes Desc: fix_xml.rb Url : http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051011/17cb5a48/fix_xml.obj From why at hobix.com Tue Oct 11 00:26:00 2005 From: why at hobix.com (why the lucky stiff) Date: Mon, 10 Oct 2005 22:26:00 -0600 Subject: Daniel's RSS stuff, more GM support checked in In-Reply-To: References: Message-ID: <434B3ED8.1090607@hobix.com> Daniel Sheppard wrote: >Have you stuck with my original way of parsing based on mime-type or >have you thought of a better way? There was some changes I was going to >make, but only just got around to it. > > Basically, yes. The classes are now called Converter::HTML and Converter::Feed, though. And the rewrite method can take these converters as arguments, if you want to only filter one. The only edit I made to get atomic.user.rb working was: rewrite Feed do |req, res| ... end >Considering situations where there are multiple sites that match "*", >some of which want an XML doc, some want an XHTML doc and some want an >RSS doc and some want a plain string - most of the time, only one will >actually be doing rewritting, but they'd all like to get their hands on >the data. > > Well, situations where XHTML gets rewritten multiple times is common. Also, a single script may need to rewrite several different types. So rather than the doc_type accessor, let's stick with the rewrite type above. I get your point on mime-types, though. I just need to flesh out the converters to sniff other stuff as well. >If your wondering about the justification for all this non-HTML nonsense > > No way, not at all. I don't need justification of any kind. Your intended uses list was YES. _why From daniels at pronto.com.au Tue Oct 11 01:00:40 2005 From: daniels at pronto.com.au (Daniel Sheppard) Date: Tue, 11 Oct 2005 15:00:40 +1000 Subject: Daniel's RSS stuff, more GM support checked in Message-ID: > Basically, yes. The classes are now called Converter::HTML > and Converter::Feed, though. And the rewrite method can take > these converters as arguments, if you want to only filter one. > > The only edit I made to get atomic.user.rb working was: > > rewrite Feed do |req, res| > ... > end That sounds a much neater way of getting it in there. Nice. > Well, situations where XHTML gets rewritten multiple times is common. I meant more that most of the time it's not going to be rewritten both as XML and as Plain Text. > Also, a single script may need to rewrite several different > types. So rather than the doc_type accessor, let's stick > with the rewrite type above. I hadn't thought of that, but it makes a whole heap of sense (I can imagine rewriting both CSS and XHTML in the one script as an obvious example). > No way, not at all. I don't need justification of any kind. > Your intended uses list was YES. That was directed more at the audience. Get some of those creative juices flowing. ##################################################################################### This email has been scanned by MailMarshal, an email content filter. ##################################################################################### From daniels at pronto.com.au Tue Oct 11 01:14:15 2005 From: daniels at pronto.com.au (Daniel Sheppard) Date: Tue, 11 Oct 2005 15:14:15 +1000 Subject: Streaming through Mousehole Message-ID: Another thing that's been preying on my mind - If I understand correctly Net:HTTP provides some support for getting the content as a stream by passing a proc to read_body() - is there any way to return that to the user in chunks if rewriting isn't going to happen? It's a little annoying that when I proxy a download through MouseHole, I don't get any information about the download until it's complete (the headers don't get to the browser until the body is completely downloaded). I'm guessing that if I'm downloading a file of sufficient size, my browser is going to think the connection is timed out and not download the file (haven't tried anything significant to download yet though). I'm thinking that some digging into the bowels of HTTPProxyServer will be required to get that working. A quick glance hasn't revealed an obvious culprit yet. Would the use of lighttpd/FastCGI provide any aid in letting the response be streamed? Also, some globally used scripts (ie. Mailto links) could probably benefit be acting upon the page in a SAX-like manner to eliminate the waiting while the entire document comes in, but I don't think either tidy or htree do event based parsing, so that's probably much more effort than it's worth. ##################################################################################### This email has been scanned by MailMarshal, an email content filter. ##################################################################################### -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051011/5ce6b4c1/attachment.htm From why at hobix.com Tue Oct 11 02:23:28 2005 From: why at hobix.com (why the lucky stiff) Date: Tue, 11 Oct 2005 00:23:28 -0600 Subject: Streaming through Mousehole In-Reply-To: References: Message-ID: <434B5A60.4020902@hobix.com> Daniel Sheppard wrote: > Another thing that's been preying on my mind - If I understand > correctly Net:HTTP provides some support for getting the content as a > stream by passing a proc to read_body() - is there any way to return > that to the user in chunks if rewriting isn't going to happen? > In most cases, yes. The problem is that MouseHole often needs the whole content body in order to determine if the resource is a candidate for a rewrite. I guess this means we should stick to mimetypes and headers for disqualifying some resources so they can be transferred in chunks. > I'm thinking that some digging into the bowels of HTTPProxyServer will > be required to get that working. A quick glance hasn't revealed an > obvious culprit yet. Would the use of lighttpd/FastCGI provide any aid > in letting the response be streamed? > No, not really. The MoonProxy (for lighttpd) just mimicks HTTPProxyServer's hooks. But that's just it -- once we solve it for HTTPProxyServer, we've solved it for all the various web servers. _why From daniels at pronto.com.au Tue Oct 11 02:39:47 2005 From: daniels at pronto.com.au (Daniel Sheppard) Date: Tue, 11 Oct 2005 16:39:47 +1000 Subject: Streaming through Mousehole Message-ID: > In most cases, yes. The problem is that MouseHole often > needs the whole content body in order to determine if the > resource is a candidate for a rewrite. > > I guess this means we should stick to mimetypes and headers > for disqualifying some resources so they can be transferred in chunks. The request path and response headers should be enough to figure out whether we're going to be doing any rewriting. It's all that's currently used to determine a match. If we pass through the request and response unchanged, then HTTPProxyServer should be passing that back through by reading read_body with a proc and getting the response in chunks and then sending each chunk down the line. I'm guessing that either: a) it's using body() to get the whole body before sending it through or b) the read_body method with a proc isn't getting it in chunks like I think it is, and will only do chunks if you're using HTTP1.1 chunk encoding. Either way, it's probably completely outside the scope of mousehole - it's not what does the chunking of the response. ##################################################################################### This email has been scanned by MailMarshal, an email content filter. ##################################################################################### From why at hobix.com Tue Oct 11 02:49:00 2005 From: why at hobix.com (why the lucky stiff) Date: Tue, 11 Oct 2005 00:49:00 -0600 Subject: Streaming through Mousehole In-Reply-To: References: Message-ID: <434B605C.9080700@hobix.com> Daniel Sheppard wrote: >a) it's using body() to get the whole body before sending it through > > It's this one. I've almost got it. _why From why at hobix.com Wed Oct 12 14:55:53 2005 From: why at hobix.com (why the lucky stiff) Date: Wed, 12 Oct 2005 12:55:53 -0600 Subject: HA! (..followed by streaming hahahahas..) Message-ID: <434D5C39.5060007@hobix.com> Some merciful ghost just swooped by and I've actually got streaming support hacked in. And when I say hacked, I mean: I had to use callcc!! (Err.. a generator.) Basically, here's how it works: 1. You make an HTTP request. 2. The proxy sets up a generator to stream that resource. 3. The generator is duck-typed as an IO object which can be passed inside HTTPResponse. 4. If the resource is handled by MouseHole, the decode() method (which does ungzipping as well) will read the whole resource in before processing. This is still VERY buggy. I can't get some sites to load (because their web servers are using Keep-Alive or something). And some resources (RubyForge downloads, for instance) aren't streaming. But, most sites are working and most streaming downloads are working. So, be my guest. Check out from CVS. Help me test!! I'd like to get MouseHole 1.3 out by the weekend. _why From why at hobix.com Wed Oct 12 18:37:30 2005 From: why at hobix.com (why the lucky stiff) Date: Wed, 12 Oct 2005 16:37:30 -0600 Subject: HA! (..followed by streaming hahahahas..) In-Reply-To: <434D5C39.5060007@hobix.com> References: <434D5C39.5060007@hobix.com> Message-ID: <434D902A.4020603@hobix.com> HA! Okay, no more generator. It was eating too much memory. I've just checked in some better streaming HTTP which uses Net::HTTPIO, a branch of Net::HTTP which is hacked to act like an IO class. This is better. Remember, when you're updating: cvs up -dP _why From nicksieger at gmail.com Wed Oct 12 18:33:12 2005 From: nicksieger at gmail.com (Nick Sieger) Date: Wed, 12 Oct 2005 17:33:12 -0500 Subject: My first look at mouseHole Message-ID: Hi mouseHolers, What a Neat Tool. Just had my first deep dive with mouseHole today and I thought I'd share a couple of experiences and see if anyone has comments. MH was pretty good (but not great) for what I was trying to do -- which is debug javascript sent from a site I don't have control over to an application with an embedded browser (with no js console, etc.) that I also don't have control over. It took a lot of back and forth, but thanks to the autoloading user scripts it went pretty well. I can't imagine how else I might have debugged this, other than to use some combination of Ethereal and other dumber proxies like Charles. And anyway, I got to learn the ins and outs of MH while doing it, so that made the experience much more worthwhile! So, here are some random thoughts: 0. Everything I did today was with MH CVS from this morning central time. In order to use MH from CVS I had to copy win32/**/*.so to $RUBY_HOME/lib/ruby/site_ruby/1.8/i386-msvcrt and win32/**/*.dll to $RUBY_HOME/bin. Before that I was getting obscure DBM load errors. 1. ProxyLike was where I started, when I thought I couldn't affect the proxy used by the embedded browser. I couldn't get PL to work at all with any site -- it would return gobbledygook in the browser. The attached diff shows the changes I had to make to get it working. Note also that query strings were not being passed through; that's included in the patch. I ended up not needing a ProxyLike-like script when I found out the embedded browser was paying attention to IE's proxy settings. 2. I added the following lines to bin/mouseHole to avoid the missing constant errors others have referred to with ProxyLike: --- mouseHole 10 Oct 2005 06:54:12 -0000 1.6 +++ mouseHole 12 Oct 2005 22:24:02 -0000 @@ -60,6 +60,14 @@ options.host = ARGV[0] || "127.0.0.1 " options.port = ARGV[1] || 37004 +$MHOST = options.host +$MPORT = options.port + +module MouseHole + MOUSEHOST = $MHOST + MOUSEPORT = $MPORT +end + ::HOSTS = Hash[ *%W[ hoodwink.d 65.125.236.166 ___._ 65.125.236.166 3. Could MH have some memory leaks? Using MH for a while resulted in the ruby VM crashing with segmentation fault errors like c:/tools/ruby/lib/ruby/1.8/timeout.rb:40: [BUG] Segmentation fault ruby 1.8.2 (2004-12-25) [i386-mswin32] This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. [exited with 3] ./lib/htree/parse.rb:91: [BUG] Segmentation fault ruby 1.8.2 (2004-12-25) [i386-mswin32] This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. [exited with 3] I don't have more details just yet of what was causing this. All in all, I'm very excited to have MH in my bag of tricks! Thanks a ton! Cheers, /Nick -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051012/aedd15a6/attachment.htm -------------- next part -------------- A non-text attachment was scrubbed... Name: proxylike.user.rb.diff Type: application/octet-stream Size: 871 bytes Desc: not available Url : http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051012/aedd15a6/proxylike.user.rb.obj From why at hobix.com Thu Oct 13 02:39:35 2005 From: why at hobix.com (why the lucky stiff) Date: Thu, 13 Oct 2005 00:39:35 -0600 Subject: My first look at mouseHole In-Reply-To: References: Message-ID: <434E0127.3060809@hobix.com> Hello, Nick. Well, thanks for the patch. Nick Sieger wrote: > MH was pretty good (but not great) for what I was trying to do -- > which is debug javascript sent from a site I don't have control over > to an application with an embedded browser (with no js console, etc.) > that I also don't have control over. I wonder how we can improve the situation. I've cleaned up MouseHole's logger tonight. Maybe it's time for some boilerplate JavaScript. > 0. Everything I did today was with MH CVS from this morning central > time. In order to use MH from CVS I had to copy win32/**/*.so to > $RUBY_HOME/lib/ruby/site_ruby/1.8/i386-msvcrt and win32/**/*.dll to > $RUBY_HOME/bin. Before that I was getting obscure DBM load errors. Unfortunately, the MH CVS setup isn't very kind to Windows users. I guess bin/mouseHole should copy all the DLLs into place before loading libs. > 2. I added the following lines to bin/mouseHole to avoid the missing > constant errors others have referred to with ProxyLike: The MOUSEHOST and MOUSEPORT constants are gone in CVS. The full URI to mouseHole is available from UserScript#mousehole_uri. I'll need to patch ProxyLike to reflect this. > 3. Could MH have some memory leaks? Using MH for a while resulted in > the ruby VM crashing with segmentation fault errors like > > c:/tools/ruby/lib/ruby/1.8/timeout.rb:40: [BUG] Segmentation fault > ruby 1.8.2 (2004-12-25) [i386-mswin32] Looks like a problem with threads on Windows. Did Ruby crash altogether or did MH continue to run (only one thread sacrificed)? _why From why at hobix.com Thu Oct 13 02:47:30 2005 From: why at hobix.com (why the lucky stiff) Date: Thu, 13 Oct 2005 00:47:30 -0600 Subject: Tonight: lighttpd support, cleaner logging, daemon mode. Message-ID: <434E0302.5020604@hobix.com> Lotsa stuff tonight. Most notably, lighttpd support. If `whereis lighttpd` works for you (and you have FastCGI and the FCGI Ruby module installed), just run: bin/mouseHole -s lighttpd And you'll be up on http://127.0.0.1:37004/. A few things you should know: * The http://mh/ and http://mouse.hole/ aliases don't work under lighttpd. * Installing scripts off the web doesn't work. In general, the problem here is that many FCGI processes are spawned and MouseHole currently relies on some instance variables in the proxy -- and sometimes in the user scripts. Looks like all instance variables will need to be stored in the databases. I'm thinking of moving away from self[] and self[]= for storing data and having MH sock away any and all ivars. _why From nicksieger at gmail.com Thu Oct 13 11:26:09 2005 From: nicksieger at gmail.com (Nick Sieger) Date: Thu, 13 Oct 2005 10:26:09 -0500 Subject: My first look at mouseHole In-Reply-To: <434E0127.3060809@hobix.com> References: <434E0127.3060809@hobix.com> Message-ID: > > > 3. Could MH have some memory leaks? Using MH for a while resulted in > > the ruby VM crashing with segmentation fault errors like > > > > c:/tools/ruby/lib/ruby/1.8/timeout.rb:40: [BUG] Segmentation fault > > ruby 1.8.2 (2004-12-25) [i386-mswin32] > > Looks like a problem with threads on Windows. Did Ruby crash altogether > or did MH continue to run (only one thread sacrificed)? Ruby crashed altogether. /Nick -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051013/d2ebd85a/attachment.htm From kevin at sb.org Thu Oct 13 17:08:21 2005 From: kevin at sb.org (Kevin Ballard) Date: Thu, 13 Oct 2005 17:08:21 -0400 Subject: Tiny patch for lighttpd Message-ID: <7AEB16FB-7463-4795-80A2-B7102E40D6B1@sb.org> Here's a tiny patch that changes `whereis` to `which` in lighttpd detection. This makes it so it can actually find my /opt/local/sbin/ lighttpd. -------------- next part -------------- A non-text attachment was scrubbed... Name: mousehole.patch Type: application/octet-stream Size: 613 bytes Desc: not available Url : http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051013/6ae495a0/mousehole.obj -------------- next part -------------- -- Kevin Ballard kevin at sb.org http://www.tildesoft.com http://kevin.sb.org -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2378 bytes Desc: not available Url : http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051013/6ae495a0/smime.bin From kevin at sb.org Thu Oct 13 17:12:36 2005 From: kevin at sb.org (Kevin Ballard) Date: Thu, 13 Oct 2005 17:12:36 -0400 Subject: Using lighttpd with MouseHole Message-ID: <9C32F709-7965-42CC-9690-930D61E0653D@sb.org> I can't get MouseHole to run under lighttpd, due to the FCGI requirements. I installed lighttpd and the fcgi development kit via DarwinPorts, but when I run MouseHole under lighttpd it exits out at `require 'fcgi.so'`. Anybody have some tips? -- Kevin Ballard kevin at sb.org http://www.tildesoft.com http://kevin.sb.org -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2378 bytes Desc: not available Url : http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051013/0cbfc9b1/smime.bin From kevin at sb.org Thu Oct 13 17:19:05 2005 From: kevin at sb.org (Kevin Ballard) Date: Thu, 13 Oct 2005 17:19:05 -0400 Subject: WEBrick problem Message-ID: <7130486F-F499-4938-9EF8-92B72FB37134@sb.org> I just booted up MouseHole with WEBrick (latest CVS) and went to http://sluggy.com and got a Service Unavailable error with the message "wrong number of arguments (4 for 3)". -- Kevin Ballard kevin at sb.org http://www.tildesoft.com http://kevin.sb.org -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2378 bytes Desc: not available Url : http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051013/e972c23c/smime.bin From kevin at sb.org Thu Oct 13 17:25:57 2005 From: kevin at sb.org (Kevin Ballard) Date: Thu, 13 Oct 2005 17:25:57 -0400 Subject: Addendum to WEBrick issues Message-ID: <069AE324-CA87-4956-A9CE-A3211D6835F1@sb.org> I can't receive email right now which is why I'm not responding to my previous post.... Anyway, I just looked up how to use the ruby debugger and found where the problem is. lib/net/httpio.rb line 14. I'll keep poking at it, but if I can't figure out how to fix this, perhaps you can. -- Kevin Ballard kevin at sb.org http://www.tildesoft.com http://kevin.sb.org -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2378 bytes Desc: not available Url : http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051013/15c8b2f4/smime.bin From kevin at sb.org Thu Oct 13 17:30:52 2005 From: kevin at sb.org (Kevin Ballard) Date: Thu, 13 Oct 2005 17:30:52 -0400 Subject: Solution to WEBrick problem Message-ID: <519B568D-9368-4DFB-AB94-0753EFB7C3F9@sb.org> Ok, the problem is we're passing body to req.exec and it doesn't want it. I'm not really sure what it's doing, but a fix that appears to work is to instead set @body = body before calling req.exec. -- Kevin Ballard kevin at sb.org http://www.tildesoft.com http://kevin.sb.org -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2378 bytes Desc: not available Url : http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051013/d8b66688/smime-0001.bin From why at hobix.com Thu Oct 13 17:52:37 2005 From: why at hobix.com (why the lucky stiff) Date: Thu, 13 Oct 2005 15:52:37 -0600 Subject: Solution to WEBrick problem In-Reply-To: <519B568D-9368-4DFB-AB94-0753EFB7C3F9@sb.org> References: <519B568D-9368-4DFB-AB94-0753EFB7C3F9@sb.org> Message-ID: <434ED725.6020006@hobix.com> Kevin Ballard wrote: > Ok, the problem is we're passing body to req.exec and it doesn't want > it. I'm not really sure what it's doing, but a fix that appears to > work is to instead set @body = body before calling req.exec. Checkout from CVS. I have been testing against 1.8.2 from December. There was a slight change in Net::HTTP for 1.8.3 which this accomodates. _why From why at hobix.com Thu Oct 13 17:53:54 2005 From: why at hobix.com (why the lucky stiff) Date: Thu, 13 Oct 2005 15:53:54 -0600 Subject: Using lighttpd with MouseHole In-Reply-To: <9C32F709-7965-42CC-9690-930D61E0653D@sb.org> References: <9C32F709-7965-42CC-9690-930D61E0653D@sb.org> Message-ID: <434ED772.5060601@hobix.com> Kevin Ballard wrote: > I can't get MouseHole to run under lighttpd, due to the FCGI > requirements. I installed lighttpd and the fcgi development kit via > DarwinPorts, but when I run MouseHole under lighttpd it exits out at > `require 'fcgi.so'`. Anybody have some tips? Do you have the Ruby FCGI module installed? _why From kevin at sb.org Thu Oct 13 20:03:47 2005 From: kevin at sb.org (Kevin Ballard) Date: Thu, 13 Oct 2005 20:03:47 -0400 Subject: Using lighttpd with MouseHole In-Reply-To: <434ED772.5060601@hobix.com> References: <9C32F709-7965-42CC-9690-930D61E0653D@sb.org> <434ED772.5060601@hobix.com> Message-ID: <38C49E21-9C2E-4E7D-9F1B-62568E2985F2@sb.org> On Oct 13, 2005, at 5:53 PM, why the lucky stiff wrote: > Kevin Ballard wrote: > >> I can't get MouseHole to run under lighttpd, due to the FCGI >> requirements. I installed lighttpd and the fcgi development kit via >> DarwinPorts, but when I run MouseHole under lighttpd it exits out at >> `require 'fcgi.so'`. Anybody have some tips? >> > Do you have the Ruby FCGI module installed? Ah hah, I thought I was missing something. It was the .so that threw me off - made me think my fcgi installation wasn't compiling a specific library or something. Hrm, now running it under lighttpd gives me a bunch of errors in the vein of /usr/local/lib/ruby/1.8/net/protocol.rb:202: superclass mismatch for class InternetMessageIO (TypeError) from /usr/local/lib/ruby/1.8/net/http.rb:28 from /Users/kevin/Dev/Ruby/mouseHole/lib/net/httpio.rb:1 from /Users/kevin/Dev/Ruby/mouseHole/lib/mouseHole/ proxyserver.rb:1 from /Users/kevin/Dev/Ruby/mouseHole/lib/mouseHole.rb:30 from /Users/kevin/.mouseHole/temp/lighttpd/dispatch.fcgi:9 Perhaps this is because I'm using Ruby 1.8.3? -- Kevin Ballard kevin at sb.org http://www.tildesoft.com http://kevin.sb.org -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2378 bytes Desc: not available Url : http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051013/428ed75d/smime.bin From why at hobix.com Thu Oct 13 21:15:45 2005 From: why at hobix.com (why the lucky stiff) Date: Thu, 13 Oct 2005 19:15:45 -0600 Subject: Using lighttpd with MouseHole In-Reply-To: <38C49E21-9C2E-4E7D-9F1B-62568E2985F2@sb.org> References: <9C32F709-7965-42CC-9690-930D61E0653D@sb.org> <434ED772.5060601@hobix.com> <38C49E21-9C2E-4E7D-9F1B-62568E2985F2@sb.org> Message-ID: <434F06C1.5000205@hobix.com> Kevin Ballard wrote: > /usr/local/lib/ruby/1.8/net/protocol.rb:202: superclass mismatch for > class InternetMessageIO (TypeError) Do you still have Apple's Ruby libs under /usr/lib? Maybe FCGI is compiling against 1.8.2. In previous versions of Ruby, Net::InternetMessageIO didn't have a superclass. This error would be thrown if two different versions of 'net/protocol' are being loaded. _why From kevin at sb.org Thu Oct 13 22:46:29 2005 From: kevin at sb.org (Kevin Ballard) Date: Thu, 13 Oct 2005 22:46:29 -0400 Subject: Using lighttpd with MouseHole In-Reply-To: <434F06C1.5000205@hobix.com> References: <9C32F709-7965-42CC-9690-930D61E0653D@sb.org> <434ED772.5060601@hobix.com> <38C49E21-9C2E-4E7D-9F1B-62568E2985F2@sb.org> <434F06C1.5000205@hobix.com> Message-ID: On Oct 13, 2005, at 9:15 PM, why the lucky stiff wrote: > Kevin Ballard wrote: > >> /usr/local/lib/ruby/1.8/net/protocol.rb:202: superclass mismatch for >> class InternetMessageIO (TypeError) > > Do you still have Apple's Ruby libs under /usr/lib? Maybe FCGI is > compiling against 1.8.2. In previous versions of Ruby, > Net::InternetMessageIO didn't have a superclass. This error would be > thrown if two different versions of 'net/protocol' are being loaded. Yes I do, but when I check install.rb's default values, /usr/local is the default for $prefix, so it should be compiling against my 1.8.3. installation. I mean, if it didn't, wouldn't it have placed itself in /usr/lib/ruby instead of /usr/local/lib/ruby and thus not even be found by MouseHole? -- Kevin Ballard kevin at sb.org http://www.tildesoft.com http://kevin.sb.org -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2378 bytes Desc: not available Url : http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051013/5f2bf7d2/smime.bin From why at hobix.com Fri Oct 14 21:01:17 2005 From: why at hobix.com (why the lucky stiff) Date: Fri, 14 Oct 2005 19:01:17 -0600 Subject: Apache2+mod_ruby support! Message-ID: <435054DD.6040003@hobix.com> This is getting good. If you have Apache2+mod_ruby installed (on Linux, haven't tried OSX), you should be able to run: bin/mouseHole -s apache2 ...and it should fly. Streaming doesn't yet cooperate with mod_ruby (so we're back to square one on large downloads.) Also, stuff hosted on IIS hangs. If you want to shut it down: apachectl -f ~/.mouseHole/temp/apache2/httpd.conf -k stop _why From why at hobix.com Sat Oct 15 14:21:08 2005 From: why at hobix.com (why the lucky stiff) Date: Sat, 15 Oct 2005 12:21:08 -0600 Subject: more lighttpd fixes In-Reply-To: <435054DD.6040003@hobix.com> References: <435054DD.6040003@hobix.com> Message-ID: <43514894.2000500@hobix.com> If you're using lighttpd, update. The lighttpd support is working much better, I believe it is the slickest means of MouseHoling. The MouseHole proxy is only instantiated once per FastCGI thread and the streaming downloads work fine. Apache2+mod_ruby still needs some improvement. As mentioned, streaming doesn't work. Also, it's reloading the MouseHole proxy with each request (see share/apache2/htdocs/index.rbx). I'm working on a RubyHandler directive, but it's not clicking just yet. _why From why at hobix.com Sat Oct 15 17:07:10 2005 From: why at hobix.com (why the lucky stiff) Date: Sat, 15 Oct 2005 15:07:10 -0600 Subject: Using lighttpd with MouseHole In-Reply-To: References: <9C32F709-7965-42CC-9690-930D61E0653D@sb.org> <434ED772.5060601@hobix.com> <38C49E21-9C2E-4E7D-9F1B-62568E2985F2@sb.org> <434F06C1.5000205@hobix.com> Message-ID: <43516F7E.8010002@hobix.com> Kevin Ballard wrote: > On Oct 13, 2005, at 9:15 PM, why the lucky stiff wrote: > >> Kevin Ballard wrote: >> >>> /usr/local/lib/ruby/1.8/net/protocol.rb:202: superclass mismatch for >>> class InternetMessageIO (TypeError) >> >> Do you still have Apple's Ruby libs under /usr/lib? Maybe FCGI is >> compiling against 1.8.2. In previous versions of Ruby, >> Net::InternetMessageIO didn't have a superclass. This error would be >> thrown if two different versions of 'net/protocol' are being loaded. > > Yes I do, but when I check install.rb's default values, /usr/local is > the default for $prefix, so it should be compiling against my 1.8.3. > installation. I mean, if it didn't, wouldn't it have placed itself in > /usr/lib/ruby instead of /usr/local/lib/ruby and thus not even be > found by MouseHole? I found the problem. This is fixed. _why From kevin at sb.org Sat Oct 15 18:39:13 2005 From: kevin at sb.org (Kevin Ballard) Date: Sat, 15 Oct 2005 18:39:13 -0400 Subject: more lighttpd fixes In-Reply-To: <43514894.2000500@hobix.com> References: <435054DD.6040003@hobix.com> <43514894.2000500@hobix.com> Message-ID: <8B438087-4E5D-4825-A053-921E3F1463F3@sb.org> Ok, I just tested lighttpd again, and it's not working right. I turned on my global HTTP proxy to point to MouseHole, and every page I access brings me to the MouseHole front page. Unless I have a path. Then it tells me that no script handles that mount point. It still works right when I run it by itself. Of course, "right" in this case means it handles the URL. What in fact it's doing in my test is giving me a REXML::ParseException because scan was called on the number 0. This was when I tried to access http:// redhanded.hobix.com. When I try to get at http://backpackit.com/ forum/, I get a different error (undefined method `entities' for :REXML::XMLDecl). Basically, MouseHole appears to be a bit busted right now. On Oct 15, 2005, at 2:21 PM, why the lucky stiff wrote: > If you're using lighttpd, update. The lighttpd support is working > much > better, I believe it is the slickest means of MouseHoling. The > MouseHole proxy is only instantiated once per FastCGI thread and the > streaming downloads work fine. -- Kevin Ballard kevin at sb.org http://www.tildesoft.com http://kevin.sb.org -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2378 bytes Desc: not available Url : http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051015/8baf373c/smime-0001.bin From why at hobix.com Sat Oct 15 20:38:16 2005 From: why at hobix.com (why the lucky stiff) Date: Sat, 15 Oct 2005 18:38:16 -0600 Subject: more lighttpd fixes In-Reply-To: <8B438087-4E5D-4825-A053-921E3F1463F3@sb.org> References: <435054DD.6040003@hobix.com> <43514894.2000500@hobix.com> <8B438087-4E5D-4825-A053-921E3F1463F3@sb.org> Message-ID: <4351A0F8.8000005@hobix.com> Kevin Ballard wrote: > It still works right when I run it by itself. Of course, "right" in > this case means it handles the URL. What in fact it's doing in my > test is giving me a REXML::ParseException because scan was called on > the number 0. This was when I tried to access http:// > redhanded.hobix.com. When I try to get at http://backpackit.com/ > forum/, I get a different error (undefined method `entities' for xml ... ?>:REXML::XMLDecl). Sounds like there's a problem with a specific script. In addition, make sure you've `cvs up -dP' to be sure you get all the added directories and such. You should try moving your ~/.mouseHole directory temporarily and even getting a fresh MouseHole copy. Just test things without any scripts and then trying copying your scripts from ~/.mouseHole-old/userScripts to ~/.mouseHole/userScripts one-by-one and see if any particular script is giving you a problem. Tidy also still has alot less leeway than HTree, so you might run without --no-tidy first to see if that improves things. _why From kevin at sb.org Sat Oct 15 23:47:06 2005 From: kevin at sb.org (Kevin Ballard) Date: Sat, 15 Oct 2005 23:47:06 -0400 Subject: more lighttpd fixes In-Reply-To: <4351A0F8.8000005@hobix.com> References: <435054DD.6040003@hobix.com> <43514894.2000500@hobix.com> <8B438087-4E5D-4825-A053-921E3F1463F3@sb.org> <4351A0F8.8000005@hobix.com> Message-ID: On Oct 15, 2005, at 8:38 PM, why the lucky stiff wrote: > Kevin Ballard wrote: > > >> It still works right when I run it by itself. Of course, "right" in >> this case means it handles the URL. What in fact it's doing in my >> test is giving me a REXML::ParseException because scan was called on >> the number 0. This was when I tried to access http:// >> redhanded.hobix.com. When I try to get at http://backpackit.com/ >> forum/, I get a different error (undefined method `entities' for > xml ... ?>:REXML::XMLDecl). >> > > Sounds like there's a problem with a specific script. In addition, > make > sure you've `cvs up -dP' to be sure you get all the added directories > and such. You should try moving your ~/.mouseHole directory > temporarily > and even getting a fresh MouseHole copy. Just test things without any > scripts and then trying copying your scripts from > ~/.mouseHole-old/userScripts to ~/.mouseHole/userScripts one-by-one > and > see if any particular script is giving you a problem. I moved the .mouseHole dir away and still had the problem. Any page I go to, MouseHole (under lighttpd) treats it as if I'm going to localhost:37004 instead, so it gives me the MouseHole page normally or a mount error if I'm trying to access a path on the domain. Oh, and I'm actually using svk to manage my MouseHole checkout, so I'm not forgetting CVS flags or anything (svk takes care of everything). > Tidy also still has alot less leeway than HTree, so you might run > without --no-tidy first to see if that improves things. Hrm, I just tried again with --no-tidy and then without, and both times worked properly now. I wonder what happened? -- Kevin Ballard kevin at sb.org http://www.tildesoft.com http://kevin.sb.org -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2378 bytes Desc: not available Url : http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051015/2eec42c9/smime.bin From why at hobix.com Sun Oct 16 01:27:45 2005 From: why at hobix.com (why the lucky stiff) Date: Sat, 15 Oct 2005 23:27:45 -0600 Subject: ~/.mouseHole/options.yaml Message-ID: <4351E4D1.9060502@hobix.com> You can store settings in the options.yaml now, in case you want to stick with certain commandline opts. server: lighttpd tidy: false In the future, MySQL database settings and the like will go there. Commandline options will take preference over these opts, if given. _why From grant at antiflux.org Mon Oct 17 09:14:10 2005 From: grant at antiflux.org (Grant Hollingworth) Date: Mon, 17 Oct 2005 07:14:10 -0600 Subject: more lighttpd fixes In-Reply-To: References: <435054DD.6040003@hobix.com> <43514894.2000500@hobix.com> <8B438087-4E5D-4825-A053-921E3F1463F3@sb.org> <4351A0F8.8000005@hobix.com> Message-ID: <20051017131410.GA26042@okcomputer.antiflux.org> * Kevin Ballard [2005-10-15 21:47]: > Hrm, I just tried again with --no-tidy and then without, and both > times worked properly now. I wonder what happened? Any ideas? I'm having the same problem you had. I've tried moving ~/.mouseHole away, starting with --no-tidy and without, and checking out a fresh tree from CVS. OS X 10.4.2 Ruby 1.8.3 lighttpd 1.4.6 To get as far as I did, I had to compile FCGI-Ruby from source... the gem wasn't cutting it. Why is that? From why at hobix.com Mon Oct 17 10:46:50 2005 From: why at hobix.com (why the lucky stiff) Date: Mon, 17 Oct 2005 08:46:50 -0600 Subject: more lighttpd fixes In-Reply-To: <20051017131410.GA26042@okcomputer.antiflux.org> References: <435054DD.6040003@hobix.com> <43514894.2000500@hobix.com> <8B438087-4E5D-4825-A053-921E3F1463F3@sb.org> <4351A0F8.8000005@hobix.com> <20051017131410.GA26042@okcomputer.antiflux.org> Message-ID: <4353B95A.2080903@hobix.com> Grant Hollingworth wrote: > To get as far as I did, I had to compile FCGI-Ruby from source... the > gem wasn't cutting it. Why is that? > To use the gem, I believe you'll need to `export RUBYOPT="rubygems"`. Tell me more about the problem... MouseHole is just unresponsive? Does it hang? When you hit Ctrl+C do you get a backtrace? Is `lighttpd` in your PATH? _why From grant at antiflux.org Mon Oct 17 11:25:10 2005 From: grant at antiflux.org (Grant Hollingworth) Date: Mon, 17 Oct 2005 09:25:10 -0600 Subject: more lighttpd fixes In-Reply-To: <4353B95A.2080903@hobix.com> References: <435054DD.6040003@hobix.com> <43514894.2000500@hobix.com> <8B438087-4E5D-4825-A053-921E3F1463F3@sb.org> <4351A0F8.8000005@hobix.com> <20051017131410.GA26042@okcomputer.antiflux.org> <4353B95A.2080903@hobix.com> Message-ID: <20051017152510.GA24414@okcomputer.antiflux.org> * why the lucky stiff [2005-10-17 08:47]: > To use the gem, I believe you'll need to `export RUBYOPT="rubygems"`. That's it? I thought it was some .so vs .dylib thing. Oh, well. > Tell me more about the problem... MouseHole is just unresponsive? Does > it hang? When you hit Ctrl+C do you get a backtrace? Is `lighttpd` in > your PATH? lighttpd is in /usr/local/sbin, so not in my normal path. I started MouseHole like so: PATH=$PATH:/usr/local/sbin bin/mouseHole -s lighttpd Attached are error.log and fastcgi.log. Despite checking the box, mouse.log wasn't created anywhere. The first session I tried to use MouseHole as a proxy, and only saw its main page. In the second session I installed ProxyLike and got a 404. The 'error-handler not found: /dispatch.fcgi' lines are alarming, but a search for that found a Rails mail saying it's nothing. Anyway, in the ProxyLike case, dispatch.fcgi clearly ran. -------------- next part -------------- 2005-10-17 11:03:39: (log.c.75) server started 2005-10-17 11:05:00: (connections.c.1281) error-handler not found: /dispatch.fcgi 2005-10-17 11:05:05: (connections.c.1281) error-handler not found: /dispatch.fcgi 2005-10-17 11:11:48: (server.c.1027) [note] gracefull shutdown started 2005-10-17 11:11:48: (log.c.135) server stopped 2005-10-17 11:12:06: (log.c.75) server started 2005-10-17 11:12:32: (connections.c.1281) error-handler not found: /dispatch.fcgi 2005-10-17 11:12:33: (connections.c.1281) error-handler not found: /dispatch.fcgi 2005-10-17 11:12:42: (server.c.1027) [note] gracefull shutdown started 2005-10-17 11:12:42: (log.c.135) server stopped -------------- next part -------------- # Logfile created on Mon Oct 17 11:03:52 EDT 2005 by logger.rb/1.5.2.7 I, [2005-10-17T11:03:53.013997 #17384] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:03:53.014375 #17384] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] D, [2005-10-17T11:03:53.015017 #17384] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:03:53.015465 #17384] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:03:53.015826 #17384] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:03:53.127715 #17384] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib I, [2005-10-17T11:03:53.163437 #17386] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:03:53.165111 #17386] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] D, [2005-10-17T11:03:53.165782 #17386] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:03:53.166259 #17386] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:03:53.166641 #17386] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:03:53.167341 #17386] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib I, [2005-10-17T11:03:53.299884 #17385] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:03:53.312288 #17385] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] D, [2005-10-17T11:03:53.312991 #17385] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:03:53.313496 #17385] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:03:53.313882 #17385] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:03:53.314610 #17385] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib I, [2005-10-17T11:03:53.936154 #17389] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:03:53.937827 #17389] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] D, [2005-10-17T11:03:53.938470 #17389] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:03:53.939135 #17389] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:03:53.939511 #17389] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:03:53.944351 #17389] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib I, [2005-10-17T11:03:53.970045 #17387] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:03:54.007786 #17387] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] D, [2005-10-17T11:03:54.009012 #17387] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:03:54.009524 #17387] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:03:54.009907 #17387] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:03:54.010725 #17387] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib I, [2005-10-17T11:03:54.065487 #17388] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:03:54.077978 #17388] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] D, [2005-10-17T11:03:54.078700 #17388] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:03:54.079192 #17388] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:03:54.079825 #17388] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:03:54.080589 #17388] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib I, [2005-10-17T11:03:54.205237 #17393] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:03:54.207346 #17393] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] D, [2005-10-17T11:03:54.208050 #17393] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:03:54.208692 #17393] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:03:54.209080 #17393] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:03:54.209793 #17393] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib I, [2005-10-17T11:03:54.224065 #17392] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:03:54.241968 #17392] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] D, [2005-10-17T11:03:54.242710 #17392] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:03:54.243562 #17392] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:03:54.244066 #17392] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:03:54.244853 #17392] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib I, [2005-10-17T11:03:54.270103 #17391] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:03:54.282990 #17391] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] D, [2005-10-17T11:03:54.283697 #17391] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:03:54.284244 #17391] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:03:54.284671 #17391] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:03:54.337419 #17391] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib I, [2005-10-17T11:03:54.474940 #17390] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:03:54.487040 #17390] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] D, [2005-10-17T11:03:54.488521 #17390] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:03:54.489013 #17390] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:03:54.489389 #17390] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:03:54.490111 #17390] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib D, [2005-10-17T11:03:55.893727 #17384] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:03:55.924120 #17386] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:03:56.056648 #17385] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:03:56.461062 #17388] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:03:56.472999 #17387] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:03:56.599360 #17389] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:03:56.611341 #17392] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:03:56.629938 #17391] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:03:56.638912 #17393] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:03:56.657086 #17390] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:04:34.150842 #17393] DEBUG -- : WEBrick::HTTPServlet::ProcHandler is invoked. D, [2005-10-17T11:04:34.264664 #17392] DEBUG -- : WEBrick::HTTPServlet::FileHandler is invoked. D, [2005-10-17T11:04:34.315576 #17393] DEBUG -- : WEBrick::HTTPServlet::FileHandler is invoked. D, [2005-10-17T11:04:36.370865 #17392] DEBUG -- : WEBrick::HTTPServlet::ProcHandler is invoked. D, [2005-10-17T11:05:00.372217 #17392] DEBUG -- : WEBrick::HTTPServlet::ProcHandler is invoked. D, [2005-10-17T11:05:05.450430 #17392] DEBUG -- : WEBrick::HTTPServlet::ProcHandler is invoked. I, [2005-10-17T11:12:20.922941 #18100] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:12:20.943115 #18100] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] D, [2005-10-17T11:12:20.943910 #18100] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:12:20.944413 #18100] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:12:20.944893 #18100] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:12:20.947860 #18100] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib I, [2005-10-17T11:12:21.586055 #18101] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:12:21.609624 #18101] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] D, [2005-10-17T11:12:21.610518 #18101] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:12:21.611000 #18101] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:12:21.611382 #18101] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:12:21.612136 #18101] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib I, [2005-10-17T11:12:22.206694 #18104] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:12:22.219907 #18104] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] D, [2005-10-17T11:12:22.220973 #18104] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:12:22.221484 #18104] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:12:22.221862 #18104] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:12:22.222600 #18104] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib I, [2005-10-17T11:12:22.431505 #18103] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:12:22.433220 #18103] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] D, [2005-10-17T11:12:22.433870 #18103] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:12:22.434443 #18103] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:12:22.434828 #18103] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:12:22.435810 #18103] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib I, [2005-10-17T11:12:22.444989 #18102] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:12:22.460253 #18102] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] D, [2005-10-17T11:12:22.461003 #18102] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:12:22.461939 #18102] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:12:22.465790 #18102] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:12:22.467270 #18102] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib I, [2005-10-17T11:12:23.032973 #18105] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:12:23.034841 #18105] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] I, [2005-10-17T11:12:23.075442 #18111] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:12:23.077260 #18111] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] D, [2005-10-17T11:12:23.091996 #18111] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:12:23.092829 #18111] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:12:23.093281 #18111] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:12:23.094231 #18111] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib D, [2005-10-17T11:12:23.148889 #18105] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:12:23.149667 #18105] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:12:23.150043 #18105] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:12:23.150810 #18105] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib I, [2005-10-17T11:12:23.277713 #18113] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:12:23.279382 #18113] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] D, [2005-10-17T11:12:23.280068 #18113] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:12:23.280541 #18113] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:12:23.280914 #18113] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:12:23.281604 #18113] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib I, [2005-10-17T11:12:23.318078 #18112] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:12:23.401433 #18112] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] D, [2005-10-17T11:12:23.403460 #18112] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:12:23.404311 #18112] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:12:23.404721 #18112] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:12:23.405552 #18112] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib I, [2005-10-17T11:12:23.491547 #18106] INFO -- : WEBrick 1.3.1 I, [2005-10-17T11:12:23.505243 #18106] INFO -- : ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0] D, [2005-10-17T11:12:23.506009 #18106] DEBUG -- : #> is mounted on /. D, [2005-10-17T11:12:23.506487 #18106] DEBUG -- : #> is mounted on /mouseHole. D, [2005-10-17T11:12:23.507001 #18106] DEBUG -- : nil is mounted on /favicon.ico. D, [2005-10-17T11:12:23.507734 #18106] DEBUG -- : Found Tidy! /usr/lib/libtidy.dylib D, [2005-10-17T11:12:23.937203 #18100] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:12:24.430424 #18101] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:12:25.126388 #18104] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:12:25.163813 #18102] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:12:25.350075 #18103] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:12:25.645610 #18113] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:12:25.649623 #18105] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:12:25.619842 #18111] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:12:25.699261 #18112] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:12:25.708821 #18106] DEBUG -- : WEBrick::HTTPServlet::FileHandler is mounted on /images. D, [2005-10-17T11:12:32.495329 #18113] DEBUG -- : WEBrick::HTTPServlet::ProcHandler is invoked. D, [2005-10-17T11:12:32.496088 #18113] DEBUG -- : MouseHole::ProxyServer#process_request has path_info /http:/hoodwink.d/onslaught/ D, [2005-10-17T11:12:32.518638 #18112] DEBUG -- : WEBrick::HTTPServlet::ProcHandler is invoked. D, [2005-10-17T11:12:32.519392 #18112] DEBUG -- : MouseHole::ProxyServer#process_request has path_info /onslaught E, [2005-10-17T11:12:32.534867 #18113] ERROR -- : 404 Not Found (OpenURI::HTTPError) /usr/local/lib/ruby/1.8/open-uri.rb:290:in `open_http' /usr/local/lib/ruby/1.8/open-uri.rb:629:in `buffer_open' /usr/local/lib/ruby/1.8/open-uri.rb:167:in `open_loop' /usr/local/lib/ruby/1.8/open-uri.rb:165:in `open_loop' /usr/local/lib/ruby/1.8/open-uri.rb:135:in `open_uri' /usr/local/lib/ruby/1.8/open-uri.rb:531:in `open' /usr/local/lib/ruby/1.8/open-uri.rb:82:in `open' (eval):18:in `load_user_script' /Users/grant/src/mouseHole/lib/mouseHole/userscript.rb:92:in `do_mount' /Users/grant/src/mouseHole/lib/mouseHole/proxyserver.rb:785:in `scripted_mounts' /Users/grant/src/mouseHole/lib/mouseHole/proxyserver.rb:97:in `each_fresh_script' /Users/grant/src/mouseHole/lib/mouseHole/proxyserver.rb:86:in `each_fresh_script' /Users/grant/src/mouseHole/lib/mouseHole/proxyserver.rb:783:in `scripted_mounts' /Users/grant/src/mouseHole/lib/mouseHole/proxyserver.rb:21:in `initialize' /usr/local/lib/ruby/1.8/webrick/httpservlet/prochandler.rb:26:in `do_GET' /usr/local/lib/ruby/1.8/webrick/httpservlet/abstract.rb:35:in `service' /usr/local/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' /usr/local/lib/ruby/1.8/webrick/httpproxy.rb:39:in `service' /Users/grant/src/mouseHole/lib/mouseHole/moonproxy.rb:41:in `service' /Users/grant/src/mouseHole/lib/mouseHole/proxyserver.rb:69:in `service' /Users/grant/src/mouseHole/lib/mouseHole/moonproxy.rb:71:in `start' /Users/grant/.mouseHole/temp/lighttpd/dispatch.fcgi:25 /Users/grant/.mouseHole/temp/lighttpd/dispatch.fcgi:23 D, [2005-10-17T11:12:33.845218 #18113] DEBUG -- : WEBrick::HTTPServlet::ProcHandler is invoked. D, [2005-10-17T11:12:33.848601 #18113] DEBUG -- : MouseHole::ProxyServer#process_request has path_info /http:/hoodwink.d/onslaught/ D, [2005-10-17T11:12:33.872808 #18112] DEBUG -- : WEBrick::HTTPServlet::ProcHandler is invoked. D, [2005-10-17T11:12:33.873696 #18112] DEBUG -- : MouseHole::ProxyServer#process_request has path_info /onslaught E, [2005-10-17T11:12:33.882198 #18113] ERROR -- : 404 Not Found (OpenURI::HTTPError) /usr/local/lib/ruby/1.8/open-uri.rb:290:in `open_http' /usr/local/lib/ruby/1.8/open-uri.rb:629:in `buffer_open' /usr/local/lib/ruby/1.8/open-uri.rb:167:in `open_loop' /usr/local/lib/ruby/1.8/open-uri.rb:165:in `open_loop' /usr/local/lib/ruby/1.8/open-uri.rb:135:in `open_uri' /usr/local/lib/ruby/1.8/open-uri.rb:531:in `open' /usr/local/lib/ruby/1.8/open-uri.rb:82:in `open' (eval):18:in `load_user_script' /Users/grant/src/mouseHole/lib/mouseHole/userscript.rb:92:in `do_mount' /Users/grant/src/mouseHole/lib/mouseHole/proxyserver.rb:785:in `scripted_mounts' /Users/grant/src/mouseHole/lib/mouseHole/proxyserver.rb:97:in `each_fresh_script' /Users/grant/src/mouseHole/lib/mouseHole/proxyserver.rb:86:in `each_fresh_script' /Users/grant/src/mouseHole/lib/mouseHole/proxyserver.rb:783:in `scripted_mounts' /Users/grant/src/mouseHole/lib/mouseHole/proxyserver.rb:21:in `initialize' /usr/local/lib/ruby/1.8/webrick/httpservlet/prochandler.rb:26:in `do_GET' /usr/local/lib/ruby/1.8/webrick/httpservlet/abstract.rb:35:in `service' /usr/local/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' /usr/local/lib/ruby/1.8/webrick/httpproxy.rb:39:in `service' /Users/grant/src/mouseHole/lib/mouseHole/moonproxy.rb:41:in `service' /Users/grant/src/mouseHole/lib/mouseHole/proxyserver.rb:69:in `service' /Users/grant/src/mouseHole/lib/mouseHole/moonproxy.rb:71:in `start' /Users/grant/.mouseHole/temp/lighttpd/dispatch.fcgi:25 /Users/grant/.mouseHole/temp/lighttpd/dispatch.fcgi:23 From tanner.burson at gmail.com Wed Oct 19 12:55:41 2005 From: tanner.burson at gmail.com (Tanner Burson) Date: Wed, 19 Oct 2005 11:55:41 -0500 Subject: Tracking Post requests? Message-ID: Hello All I'm extremely new to MouseHole and have been investigating using it for my prepetually unfinished pet project. I would like to create a proxy server capable of "recording" a user's actions, and eventually repeat them. (Or better create WebUnit tests for them) But from looking through the MouseHole scripts already created, and from what bits I can peice together, user scripts are only executed on GET requests? As POST requests are an integral portion of my idea, if MH is unable to trap those requests for me I'll crawl back into MY hole and continue :) Any light you all could shed on this would be great, Thanks. -- ===Tanner Burson=== tanner.burson at gmail.com http://tannerburson.com <---Might even work one day... -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051019/1dec3394/attachment.htm From nicksieger at gmail.com Fri Oct 21 13:55:18 2005 From: nicksieger at gmail.com (Nick Sieger) Date: Fri, 21 Oct 2005 12:55:18 -0500 Subject: Shared, hosted mouseHole Message-ID: Hi mouseHolers, I've been thinking too about how it would be great to have a way to share user scripts and data across machines. Here's what I'm thinking, dream with me for a second. -- mouseHole runs on a publicly accessible server -- a rails application sits next to it allowing people to register for a mouseHole account. This will provision a user and give you a place to store all your user scripts and data. mouseHole the proxy server will require a username and password and will use the same userspace as was provisioned by the rails app. -- you can make interesting extensions from here, like making mouseHole the rails app the single place to exchange and share mouseHole user scripts and grow the mouseHole community. Another interesting side effect is that mouseHole would be a great way to introduce people to ruby, without having to even install ruby on your own machine. What do you think, is this something worth spending time on? Is the design of mouseHole too open to run in a hosted mode, making it far to easy for a malicious user script to compromise the entire server? Cheers, /Nick -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051021/d66fe933/attachment.htm From rcoder at gmail.com Fri Oct 21 15:09:03 2005 From: rcoder at gmail.com (Lennon Day-Reynolds) Date: Fri, 21 Oct 2005 12:09:03 -0700 Subject: Shared, hosted mouseHole In-Reply-To: References: Message-ID: <5d4c61240510211209q32cff38fqb90fff7761a7b854@mail.gmail.com> On 10/21/05, Nick Sieger wrote: > Hi mouseHolers, > > I've been thinking too about how it would be great to have a way to share > user scripts and data across machines. Here's what I'm thinking, dream with > me for a second. > > [...] > What do you think, is this something worth spending time on? Is the design > of mouseHole too open to run in a hosted mode, making it far to easy for a > malicious user script to compromise the entire server? It shouldn't be too hard to protect the rest of the system from rogue mouseHole user scripts -- you could basically have it run in a chroot environment as an untrusted user, though it might be tougher to insulate individual mouseHole instances from each other. I would worry more about the scalability of such a solution, since right now, as I understand the current architecture at least, you'd have to run either a full WEBrick process or a seperate FastCGI/SCGI handler for each user. -- Lennon rcoder.net From nicksieger at gmail.com Fri Oct 21 15:33:38 2005 From: nicksieger at gmail.com (Nick Sieger) Date: Fri, 21 Oct 2005 14:33:38 -0500 Subject: Shared, hosted mouseHole In-Reply-To: <5d4c61240510211209q32cff38fqb90fff7761a7b854@mail.gmail.com> References: <5d4c61240510211209q32cff38fqb90fff7761a7b854@mail.gmail.com> Message-ID: On 10/21/05, Lennon Day-Reynolds wrote: > > It shouldn't be too hard to protect the rest of the system from rogue > mouseHole user scripts -- you could basically have it run in a chroot > environment as an untrusted user, though it might be tougher to > insulate individual mouseHole instances from each other. > > I would worry more about the scalability of such a solution, since > right now, as I understand the current architecture at least, you'd > have to run either a full WEBrick process or a seperate FastCGI/SCGI > handler for each user. I didn't mention code-level architectural issues that I had in mind that would need changes, like the single-user home directory, YAML::DBM backend etc. But those all seem to be issues that can be overcome with some nifty hacking. In terms of scalability, is it the case that proxying/streaming the content requires separate handlers? Or just that with above a small number of users you'd have too much content coming through the proxy? Do you see any way out of these issues or are we fundamentally bound by Ruby or [FS]CGI? /Nick -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051021/152092a5/attachment.htm From why at hobix.com Fri Oct 21 15:38:31 2005 From: why at hobix.com (why the lucky stiff) Date: Fri, 21 Oct 2005 13:38:31 -0600 Subject: Shared, hosted mouseHole In-Reply-To: References: Message-ID: <435943B7.6070002@hobix.com> Nick Sieger wrote: > -- mouseHole runs on a publicly accessible server > -- a rails application sits next to it allowing people to register for > a mouseHole account. This will provision a user and give you a place > to store all your user scripts and data. mouseHole the proxy server > will require a username and password and will use the same userspace > as was provisioned by the rails app. > -- you can make interesting extensions from here, like making > mouseHole the rails app the single place to exchange and share > mouseHole user scripts and grow the mouseHole community. Another > interesting side effect is that mouseHole would be a great way to > introduce people to ruby, without having to even install ruby on your > own machine. You mean mouseMountain? Soon!! _why (Did the FastCGI / mod_ruby work make it too obvious?) From nicksieger at gmail.com Fri Oct 21 16:06:14 2005 From: nicksieger at gmail.com (Nick Sieger) Date: Fri, 21 Oct 2005 15:06:14 -0500 Subject: Shared, hosted mouseHole In-Reply-To: <435943B7.6070002@hobix.com> References: <435943B7.6070002@hobix.com> Message-ID: On 10/21/05, why the lucky stiff wrote: > > > You mean mouseMountain? Soon!! > > _why > > (Did the FastCGI / mod_ruby work make it too obvious?) Apparently so! :) How close did my dream come to yours? Do you have a list of TODOs somewhere that I can see if I can contribute to? Cheers, /Nick -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/mousehole-scripters/attachments/20051021/04001175/attachment.htm From why at hobix.com Fri Oct 21 18:44:29 2005 From: why at hobix.com (why the lucky stiff) Date: Fri, 21 Oct 2005 16:44:29 -0600 Subject: Tracking Post requests? In-Reply-To: References: Message-ID: <43596F4D.7040103@hobix.com> Tanner Burson wrote: > But from looking through the MouseHole scripts already created, and > from what bits I can peice together, user scripts are only executed on > GET requests? As POST requests are an integral portion of my idea, if > MH is unable to trap those requests for me I'll crawl back into MY > hole and continue :) Any light you all could shed on this would be great, Hey, Tanner, thanks for joining the list. MouseHole recieves POST calls along with any other HTTP request method. Most of the scripts so far have only really worked with GET, yes. I was hoping to find a moment to test a script like the one you've describe above, but I haven't yet. Your can sniff out POST requests like this: if req.request_method == 'POST'. _why