Author Topic: My Config  (Read 9560 times)

hpguru

  • Sr. Member
  • ****
  • Posts: 257
    • ICQ Messenger -
    • AOL Instant Messenger -
    • Yahoo Instant Messenger -
    • View Profile
    • http://lightning.prohosting.com/~hpguru/
    • Email
My Config
« on: August 15, 2002, 09:38:37 PM »
Hi gang,

I've decided to upload my config in hopes of some good suggestions for improvements, additions, etc. I've been working on it for quite some time and I think I finally have it the way I want it but since my wife and I went into business for ourselves I don't have much time for testing and tweaking.

The goals I've sought to accomplish with this config are fivefold:

Security
Privacy
Effectiveness
Speediness
Simplicity

I think I have accomplished that but I'd still like your opinions.

1) Security
This config disables all active content at all sites except for those named in associated Allow lists.

2) Privacy
All the usual stuff is blocked plus this config works in conjunction with eDexter and my hosts file (included) to block all ads using a relatively small AdList. I also block P3P headers and tags.

3) Effectiveness
I'll let you folks decide that but I don't see anything getting past my filtering. My filters also do a good job of eliminating ads and web bugs without destroying page layout.

4) Speediness
These filters seem pretty quick to me on this old PII 450. I've provided two configs, the speedier of which is My_default.cfg.

5) Simplicity
In most instances I've tried to steer clear of really complex filters because they are hard to debug and I don't have the time to spend. I've also thrown out the majority of cosmetic and site specific filters. I can't see slowing down my web browsing just to correct someone elses poor coding habits.

As mentioned above this config works in conjuction with eDexter and my hosts file to block ads. If you are not running eDexter and/or you don't use a hosts file for ad blocking then this config may not work effectively for you, but here and there throughout my config you will find filters whose names differ only by "(eDexter)" or "(Standard)". In a nutshell the "eDexter" filters defer filtering to eDexter to grab a replacement image from RAM while the "Standard" filters perform the filtering using k or Local.pron to grab a file from the disk (killed.htm, killed.gif, etc) which is slower. If you have no intention of running eDexter you will need to disable the "eDexter" and enable the "Standard" filters. Ad blocking may not be as effective however.

For more info and to download eDexter please see
http://www.pyrenean.com/

Aside from my hosts file this config uses a very small AdList which isn't much different from the AdPaths list. I did away with the AdDomains, AdHosts, ZXList and so on because it seemed like overkill. What I did was to take the ad block list from an old AtGuard reg file and reformatted it to work as a Proxo blockfile. Seems to be working quite well. Try it!

You can download my config at:

http://hpguru.bravepages.com/files/hpconfig.zip

To install it without messing up your current config, unzip it to its own folder and copy the following files to that folder.

Proxomitron.exe
zlib.dll
proxcert.pem
The SSL libs if you use them.

All the other files required for Proxo to run are included (in the html folder)

That's about all. If I left anything out just ask. Enjoy!

Facing each other,
a thousand miles apart.

Edited by - hpguru on 15 Aug 2002  22:40:36
Facing each other,
a thousand miles apart.

altosax

  • Sr. Member
  • ****
  • Posts: 328
    • ICQ Messenger -
    • AOL Instant Messenger -
    • Yahoo Instant Messenger -
    • View Profile
    • http://
    • Email
My Config
« Reply #1 on: August 16, 2002, 12:43:55 AM »
i've just downloaded it, but now it's too late to take a look. i will do it tomorrow then i'll let you know my impressions.
btw, i think that share knowledge is the best way to learn more each other.

regards,
altosax.

 
 

altosax

  • Sr. Member
  • ****
  • Posts: 328
    • ICQ Messenger -
    • AOL Instant Messenger -
    • Yahoo Instant Messenger -
    • View Profile
    • http://
    • Email
My Config
« Reply #2 on: August 16, 2002, 09:45:58 AM »
hi hpguru,
i've read in deep your config and i like it.
i think also it is specific for experienced user with the needs you wrote about: probably the new users could find it difficult. but you don't have to modify it for this, it is your config and you have to set your filters the way you like it.

some filters are really interesting. i'm speaking of:
Name = "Kill User Data Persistence META tags" (never seen before)
Name = "Kill IFRAME CSS" (a different way to hide iframe)
Name = "Kill User Data Persistence in HTML Styles & Scripts" (the same as above)

other filters are quite aggressive:
Name = "Kill add-ons I" (removes also the DOCTYPE)
Name = "Kill add-ons II" (removes everything following the </html>)
you could replace them with the sidki version (for the first one) and the paul rupe version (for the second one)

your filter "Favorites Icon Killer" could miss some favourites icon due to the different code some sites are now using. you could replace your version with mine (not public yet, it will be in my next config):

Name = "Favorites Icon Killer"
Active = TRUE
URL = "$TYPE(htm)"
Bounds = "<links*>"
Limit = 128
Match = "*re[lv]=$AV((shortcut|) icon)*"
Replace = "$STOP()"


also there are some filters that will never match:
Name = "Break JavaScript CLASSID Use"
Name = "Java ID jammer"
they are using bounds but you need to match the whole bounds to make the filters working.


please hp, consider these suggestions as something i write you friendly to help you making your config a little better, i haven't tryed your config yet and they are the only things i can say at this time.
also, i'm sure your config is fast as you wrote, but probably you can make it faster. i've seen you have in your hosts file 50 or more hosts with the same domain, for example the ones at:

dynamic.dol.ru

you could move this domain in your AdList and replace 50 entries at a time with a single line in your AdList. i think this way the scanning of the hosts file could be faster while the scan of the AdList would remain the same.

as i wrote, i haven't tryed yet your config so i'll post later my other impressions if it will be the case.

regards,
altosax.

 
 

hpguru

  • Sr. Member
  • ****
  • Posts: 257
    • ICQ Messenger -
    • AOL Instant Messenger -
    • Yahoo Instant Messenger -
    • View Profile
    • http://lightning.prohosting.com/~hpguru/
    • Email
My Config
« Reply #3 on: August 16, 2002, 06:05:02 PM »
Thanks for the suggestions altosax.
Now that you mention it I've never seen the "Break JavaScript CLASSID Use" or the "Java ID jammer" match. If I'm not mistaken at least one of those filters were written by another user and I made modifications to the "Java ID jammer" based on JD5000's mod of the same filter. I think someone here posted the other one but I cannot remember exactly. I probably modified it too since I change most filters I obtain from others. Of course the likelihood against a match is greatly increased by the fact that I block scripting at most sites. With one notable exception (Microsoft) I only allow scripting at sites I trust and usually that means I know the site owner or the site has a long history of good ethics. Very rarely do I enable script for sites that are broken without it since I can usually find a site with similar content that doesn't require scripting. What changes would you recommend to these?

AFAIK the method employed by the "Kill IFRAME CSS" will only work for IE6. There is another filter in the Ad/Spam block section that will match the Iframe tags but the first one is much faster. BTW applying this method to ActiveX and Java applets failed. They didn't display but they were running in the background.

The filters related to User Data Persistance are based on info obtained from MSDN and a few other sources and are only of concern to users of IE. I don't think many sites are using these but as more .NET sites appear they may start to see more action.

I checked my hosts file and found a few hosts similar to the one you mentioned such as "liveadvert.com" and "suntimes.com" and the infamous "doubleclick.net". I've thought about doing what you recommended but my reasoning was different. These companies have a lot of servers because they must be experiencing some degree of success, which means they may add more servers. That in turn means I might miss a few. Even so performing ad-path blocking should catch most of them but I'm thinking it over.

If there is a speed penalty to having a lot of hosts entries I think it must be negligible. Changes to the hosts file under Win2K seem to take immediate effect. Since this is a function of the OS I am inclined to think that the reading of the hosts file by the OS is faster that an applications reading of it's own files but maybe I'm wrong.

Well altosax thank you for your suggestions and criticisms. As I find the time I'll implement the changes you recommend or at least think them over. And please do try it out. If you think I have a filter that can be improved speed-wise etc. let me know.

Anyone else?

Facing each other,
a thousand miles apart.
Facing each other,
a thousand miles apart.

JD5000

  • Moderator
  • Full Member
  • *****
  • Posts: 241
    • ICQ Messenger -
    • AOL Instant Messenger -
    • Yahoo Instant Messenger -
    • View Profile
    • http://home.satx.rr.com/jd5000/
    • Email
My Config
« Reply #4 on: August 17, 2002, 06:41:45 AM »
Hiya HP,

I finally got a chance to give your set a try. So I guess you don't like javascript? LoL

Do you know if the "load timer" script could write to a page?

~JD

--------
Infopros Joint :: Computer Related Links And Discussion

hpguru

  • Sr. Member
  • ****
  • Posts: 257
    • ICQ Messenger -
    • AOL Instant Messenger -
    • Yahoo Instant Messenger -
    • View Profile
    • http://lightning.prohosting.com/~hpguru/
    • Email
My Config
« Reply #5 on: August 17, 2002, 08:51:23 AM »
Hi JD. I don't really have a prejudice against scripting per say as long as it is written well.

Example: http://www.ozones.com/

That ought to give IE a workout!

quote:
Do you know if the "load timer" script could write to a page?


As opposed to the alert box? Yes it can be done. Replace the "Load Timer Part I" filter with this one.

Name = "Load Timer Part I v2"
Active = TRUE
Limit = 256
Match = "<start>"
Replace = "<SCRIPT>
"
          "loadtime="0"
"
          "loading=true
"
          "s="s"
"
          "{refresh()}
"
          "function refresh()
"
          "{setTimeout("count()",250)}
"
          "function count()
"
          "{if (loading)
"
          "{loadtime=loadtime+++0.25;refresh()}}
"
          "function done()
"
          "{if (loadtime==1)
"
          "{s=""}
"
          "document.title = ("It took "+loadtime+" second"+s+" to load the page");loading=false}
"
          "</script>
"
          "$STOP()"
 


This will write the load time to the document title. Keep in mind this filter doesn't measure the amount of time taken to filter the page but the time taken to render the page in the browser window.

Facing each other,
a thousand miles apart.
Facing each other,
a thousand miles apart.

JD5000

  • Moderator
  • Full Member
  • *****
  • Posts: 241
    • ICQ Messenger -
    • AOL Instant Messenger -
    • Yahoo Instant Messenger -
    • View Profile
    • http://home.satx.rr.com/jd5000/
    • Email
My Config
« Reply #6 on: August 17, 2002, 09:24:22 AM »
Sweet! Thx HP.

I changed it to..


document.title "|" + "It took "+loadtime+" second"+s+" to load the page"


But, it seems to conflict with something on the ozone link you just gave me..

~JD

--------
Infopros Joint :: Computer Related Links And Discussion

hpguru

  • Sr. Member
  • ****
  • Posts: 257
    • ICQ Messenger -
    • AOL Instant Messenger -
    • Yahoo Instant Messenger -
    • View Profile
    • http://lightning.prohosting.com/~hpguru/
    • Email
My Config
« Reply #7 on: August 17, 2002, 05:47:23 PM »
quote:


But, it seems to conflict with something on the ozone link you just gave me..



I bypass his pages and those of a few of his most talented associates such as slime (who wrote a raytracer in JS!).

http://www.slimeland.com/cyanslime/

These pages are so complex that even filtering something seemingly unimportant may break them. It's just art and instruction and there are no ads so I let them run.

BTW Doc Ozone has a very informative forum at

http://www.ozoneasylum.com/

if you're interested in that stuff.

Facing each other,
a thousand miles apart.
Facing each other,
a thousand miles apart.

sidki3003

  • Sr. Member
  • ****
  • Posts: 476
    • ICQ Messenger -
    • AOL Instant Messenger -
    • Yahoo Instant Messenger -
    • View Profile
    • http://
    • Email
My Config
« Reply #8 on: August 17, 2002, 07:51:39 PM »
I like the Load Timer filter too.

The thing with http://www.ozones.com/ is that <start> <end> filters brake the page.
It works if i place "Load Timer Part I v2" at the top of the header like so:

Name = "Header (top) Inject: Load Timer Part I v2 (mod)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)"
Bounds = "<ProxMarkHdrTop>"
Limit = 32
Match = "*"
Replace = "<SCRIPT>
"
          "loadtime="0"
"
          "loading=true
"
          "{refresh()}
"
          "function refresh()
"
          "{setTimeout("count()",250)}
"
          "function count()
"
          "{if (loading)
"
          "{loadtime=loadtime+++0.25;refresh()}}
"
          "function done()
"
          "{document.title = (document.title + " |" + loadtime + " s");loading=false}
"
          "</script>"
          "
<ProxMarkHdrTop>$STOP()"

The needed markers are filters 1 and 3 here.


Load Timer Part II didn't match on sites like deviantart. This version works there:

Name = "Load Timer Part II (mod)"
Active = FALSE
Multi = TRUE
Bounds = "<body*>"
Limit = 256
Match = "1>"
Replace = "1 onLoad="done()">$STOP()"


There are some things i don't understand.

When i use 100 in the setTimeout row and 0.1 in the loadtime row, i get:
OZONE: Lost v2.0 ~20:36:14 |3.5000000000000017 s - MSIE
???

I tried to make the filter work with my start script which i place below Part I.
The script turns onload events into an option and i'd like to keep it like that.
So i tried to rename the event handler to ProxOnLoad and call that from Part II. No success.

I ended up calling "done()" after my end script.
That works, but the counter stops much earlier.
I wonder whether this is the time the filters take to do their job?

/sidki

Edited by - sidki3003 on 17 Aug 2002  20:56:22
 

JakBeNymble

  • Sr. Member
  • ****
  • Posts: 308
    • ICQ Messenger -
    • AOL Instant Messenger -
    • Yahoo Instant Messenger -
    • View Profile
    • http://
    • Email
My Config
« Reply #9 on: August 17, 2002, 08:27:30 PM »
Hi "HpGuru"

          I think that You have done an Excellent Job on Your Config.files!
The other night I slipped behind the wheel, put the key in the ignition & Fired it up, took it for a spin, and I've been driving it around the block every since!They do just exactly what You said they would! Great!

Soon I'm gonna take it to "strip-road" when I get a chance to, and see what it will do in the quarter!

I'm glad that You decided to Up-load it. You got some things going on "under the hood" that I want to look into a little further.

Take Care and Thanks again for sharing. When You up-load something into the FORUM, You give a little bit Your-self to it. And members from all over the globe can enjoy the treasure that You share with them.

Have a Great & Wonderful Week-End "My Proxomitronic-Friends"!
"Jak"

 
 

hpguru

  • Sr. Member
  • ****
  • Posts: 257
    • ICQ Messenger -
    • AOL Instant Messenger -
    • Yahoo Instant Messenger -
    • View Profile
    • http://lightning.prohosting.com/~hpguru/
    • Email
My Config
« Reply #10 on: August 17, 2002, 09:25:24 PM »
quote:

Load Timer Part II didn't match on sites like deviantart.



It will work if you change the bounds match to "<body*>" I've also found that it fails on pages that have more than one body tag. :-/ This can be prevented by removing the "$STOP()" command but depending on how badly the page is mangled, "done()" may fire more than once as though the page were framed.

quote:

When i use 100 in the setTimeout row and 0.1 in the loadtime row, i get:
OZONE: Lost v2.0 ~20:36:14 |3.5000000000000017 s - MSIE
???



I'll fool around with it when I have the time and see if figure what's up with that.

quote:

I tried to make the filter work with my start script which i place below Part I.
The script turns onload events into an option and i'd like to keep it like that.
So i tried to rename the event handler to ProxOnLoad and call that from Part II. No success.

I ended up calling "done()" after my end script.
That works, but the counter stops much earlier.
I wonder whether this is the time the filters take to do their job?



There is another method for making a function fire after the page has finished loading but darn it I've got a mental block and can't think of what it is!
Unfortunately if you merely insert the script at the end of the page it will run prior to the completion of the page load.

One way you could approximate the time it takes the filters to do their magic would be to disable all your filters (without saving) except the timer filters, load the page and record the time. Then reload the last config, clear your cache, load the page again and record the time. Take averages over several trials and compare the results.

Facing each other,
a thousand miles apart.
Facing each other,
a thousand miles apart.

hpguru

  • Sr. Member
  • ****
  • Posts: 257
    • ICQ Messenger -
    • AOL Instant Messenger -
    • Yahoo Instant Messenger -
    • View Profile
    • http://lightning.prohosting.com/~hpguru/
    • Email
My Config
« Reply #11 on: August 17, 2002, 09:26:58 PM »
Thank's Jak. I appreciate that.

Facing each other,
a thousand miles apart.
Facing each other,
a thousand miles apart.

monger99

  • Newbie
  • *
  • Posts: 5
    • ICQ Messenger -
    • AOL Instant Messenger -
    • Yahoo Instant Messenger -
    • View Profile
    • Email
My Config
« Reply #12 on: August 18, 2002, 04:07:16 AM »
Wow!  Thanks for sharing your hardwork.  I can't wait to try it out.  I am a newbie.

monger99
 

hpguru

  • Sr. Member
  • ****
  • Posts: 257
    • ICQ Messenger -
    • AOL Instant Messenger -
    • Yahoo Instant Messenger -
    • View Profile
    • http://lightning.prohosting.com/~hpguru/
    • Email
My Config
« Reply #13 on: August 19, 2002, 01:56:04 AM »
I noticed a problem with my "Kill Iframe Popup killer and have made the following modification and addition.


Name = "Kill IFRAME Popups v4.1"
Active = FALSE
Bounds = "$NEST(<iframes[^>]++src=*,</iframe>)"
Limit = 512
Match = "*ssrc=w($LST(AdList))*"
Replace = "<!-- IFRAME POPUP/BANNER KILLED () -->"



Name = "Kill Broken IFRAME Popups"
Active = FALSE
Bounds = "<iframes[^>]++src=*>"
Limit = 512
Match = "*ssrc=w($LST(AdList))*"
Replace = "<!-- IFRAME POPUP/BANNER KILLED () -->"


The previous version fails to match Iframes missing the ending "</iframe>" tag. It also failed to match and Iframe in which the ending tag was preceded by white space.

Facing each other,
a thousand miles apart.

Edited by - hpguru on 19 Aug 2002  02:58:05

Edited by - hpguru on 19 Aug 2002  02:58:45
Facing each other,
a thousand miles apart.

altosax

  • Sr. Member
  • ****
  • Posts: 328
    • ICQ Messenger -
    • AOL Instant Messenger -
    • Yahoo Instant Messenger -
    • View Profile
    • http://
    • Email
My Config
« Reply #14 on: August 19, 2002, 12:10:41 PM »
hi hpguru,
what do you think in merging both filters:

Name = "Kill IFRAME Popups v5"
Active = FALSE
Bounds = "<iframes[^>]++src=*>(*</iframe>|)"
Limit = 512
Match = "*ssrc=w($LST(AdList))*"
Replace = "<!-- IFRAME POPUP/BANNER KILLED () -->"

regards,
altosax.