Post Reply 
Running Multiple Proxomitrons
Sep. 22, 2004, 08:13 AM
Post: #1
I will try this out in the next couple of days in my own time, but I thought people here may already have experianced this.

The Question:
Is it possible to run 2 copies of proxomitron at the same time, provided each program listens on a different port, ie the default port is 8080 so the second program listens on 9090?

The Reason:
I use 2 browsers, Opera (for nearly everything) and IE6 (for GMail and Hotmail and my Internet Banking website). I use JD5000's Advanced Pack for my Opera browser with a few tweaks here and there, but when I am running IE6 I only want to run a very minimal feature set with mainly Kye's security pak and some ad removal.

The Result:
I want to have:
Opera 7.5 running using Proxo and a comprehensive filter set and
IE6 running Proxo with a very light, minimal filter set at the same time.

The area I see having trouble is not running two proxos (since I can use different port numbers) but is when Proxo A sends a request out and then Proxo B sends one out can the computer keep track of who sent what out so when the web page starts arriving, the right proxo filters it correctly? When 2 different programs (say Opera and IE6) send a request out then there is no problem, since there are different programs, but if two identical programs send a request out..... or does it work on PIDs which should be unique per process, regardless of program?

now off to try it Smile!
Add Thank You Quote this message in a reply
Sep. 22, 2004, 03:09 PM
Post: #2
Why not set up the config you want and save it; then set up the other config you want and save it? Then simply change configs whenever you want.

Oops I just read that you want them running at the same time. Never tried that before.
Add Thank You Quote this message in a reply
Sep. 22, 2004, 08:21 PM
Post: #3
You won't be able to run two instances of Proxomitron since running the second instance, or trying to will open up the existing Proxomitron.

It's much like MSN Messenger; by default it doesn't allow multiple instances (AKA, polygamy), but luckily there's a patch for that.

For Proxomitron, I strongly think such a patch wouldn't exist. Sad
Visit this user's website
Add Thank You Quote this message in a reply
Sep. 22, 2004, 11:29 PM
Post: #4
You would have to seriously hack at the program - and still risk conflicts between the two instances.
However, you can always check for $OHDR(User-Agent:*), or - better - set a variable once and test for it in the filters you like to run/not run with that User-Agent.

[HTTP headers]
Out = TRUE
Key = "User-Agent: Test for Opera (Out)"
Match = "(*Opera)\1$SET(opera=1)"
Replace = "\1"
...and then for included filters: URL = "$TST(opera=1)"
and excluded: URL = "(^$TST(opera=1))"

Add Thank You Quote this message in a reply
Sep. 23, 2004, 12:01 AM
Post: #5
Thanks guys.

Yeap I did try running Proxo twice, and nope it wasnt happy (ie wouldnt run)

If I have a spare weekend coming up (HA!) I'll play around with what you suggested sidki and see what sort of results I can come up with.

Many thanks for the suggestions.
Add Thank You Quote this message in a reply
Sep. 23, 2004, 05:33 PM
Post: #6

As sidki points out above, your best bet is to test for a user agent via the $CHDR filter. This way you can have one filter set, and "engage" only those filters that should be engaged for each user agent/browser client. Just don't forget to add this little test to any future filters you create/stealborrow for future use. [rolleyes]

As for why you can't run more than one instance at a time, the answer to that is easy. The underlying structure is that every component in the communications chain is connected serially. (Probably a good reason to call it a chain, eh? Smile!) This means that you can't hook two copies of Proxo to the same point in the chain; neither the OS nor any of the other network componnents are prepared to let that happen. Which then boils down to your question, restated thus: "Can one copy of Proxo be installed later in the chain after another copy is already loaded and running?" Physically, yes, it would be possible - but think for a moment. Besides the obvious problem of which Proxo instance handles which packets, it would also be a big waste of resourses, and probably cause a host of mysterious problems. That's why Scott wrote Proxo in such a way as to first check the communications chain to see if it's already loaded.

And there you have it. We're now back to sidki's answer above. If it doesn't seem to work like you want it to, then you know where to go for help, right? :o [lol]


I'm no longer in the rat race - the rats won't have me!
Add Thank You Quote this message in a reply
Sep. 27, 2004, 07:43 AM
Post: #7
There should be a way to check the user-agent for a keyword, and if it is present, load the appropriate cfg file. I got this example from John Sankey's tutorial page:
Quote:URL = "*"
Match = "\1"
Replace = "$JUMP(http://load//altconfig.cfg?\1)"

Then in altconfig.cfg put:
URL = "^(*"
Match = "\1"
Replace = "$JUMP(http://load//default.cfg?\1)"

With these filters, when default.cfg is loaded and The Proxomitron sees a URL containing, it will load altconfig.cfg. If altconfig.cfg is loaded and it sees any URL that isn't, it will load default.cfg.
Instead of using a URL, look at the content of the user-agent.
Add Thank You Quote this message in a reply
Sep. 27, 2004, 12:03 PM
Post: #8
Good point 'cat...

I almost forgot all about Sankey's site...

I used to use that scheme to load one config for secure sites and another for non-secure sites...
I disbanned that method when keyword control surfaced...
Add Thank You Quote this message in a reply
Post Reply 

Forum Jump: