Post Reply 
Yahoo Filters...
Jan. 14, 2009, 03:17 PM
Post: #1
Yahoo Filters...
calling on Yahoo users...

as Yahoo is my homepage for news/finances/sports (though Google is my default search), i tend to use Proxo to axe a "lot" of div's, class's, and table's that the out-of-box sidki config does not...

i admittedly "axe" more content than the average Proxo user...
"if the page looks 'normal', i haven't axed enough..."


in this thread, i'd like to invite Yahoo users to post screen-caps (and the link from where the screen-cap originated) of content that they feel should be included for axing in future Yahoo filters...

thanks in advance...
Add Thank You Quote this message in a reply
Jan. 14, 2009, 09:49 PM
Post: #2
RE: Yahoo Filters...
ProxRocks;

Well! Let me be the first to "get it backwards". Wink

Instead of showing you a troublesome page, and hoping you can do something about it, I'd like to say simply "you know what the log-in screen looks like" and take it from there.

I put some time into this one, over the years. It got complicated, what with constantly re-cleaning up the new garbage that was added seemingly at whim. I finally got smart, and said to myself "to heck with this business about complicated filters being bad", and chose to simply re-write the whole page.

The rational for all this is this - for those who choose to not store any cookies from Yahoo (and we have to face it, fake cookies don't work for log-in stuff like this - they really want to know who we really are, and I was glad for that.... it wouldn't do for a "cookie-faker" to grab hold of my account, eh?), this filter does the job beautifully. Basically, it provides a form with two fields, name and password, and the ubiquitous Submit button. Also, to save time, I fill in the form fields within the filter, thus I only need hit the Submit button, and I'm off to the races. Smile!

I can't italicize within a <code> box here, so pay particular attention to where it says .... value="yourxxxxhere", those two fields should be self-explanatory. Wink


Code:
Name = "Yahoo login page cleaner, semi-auto login"
Active = FALSE
Multi = TRUE
URL = "[^/]++login.yahoo.com\w/"
Limit = 32767
Match = "<head*</legend>*\1<table*</table>"
Replace = "<head></head>"
          "\r\n<br><br>"
          "\r\n<body LoadOff="document.forms.login_form.passwd.focus()">"
          "\r\n<center>"
          "\r\n\1"
          "\r\n<br><br> Yahoo! ID:"
          "\r\n<br><br><input name="login" size="17" type="text" maxlength="96" value="YourAccountNameHere">"
          "\r\n<br><br>Password:"
          "\r\n<br><br><input name="passwd" value="" size="17" type="password" maxlength="64" value="YourPasswordHere">"
          "\r\n<br><br><input type="submit" name=".save" value="Sign In">"
          "\r\n</form>"
          "\r\n</center>"
          "\r\n</body>"
          "\r\n</html>"
          "\k"

Note things like the '\r\n', used to make the resulting source code look more like a real HTML page, instead of being all run together (and thus, unreadable). Since you're the only one that's gonna see this (or more properly, the results of the filter, as an HTML page), it really isn't necessary, but the '\r\n' thing is merely carried over from all my other filters - I do it for me, you can choose to do it or not, that'd be your call.

Note also the '\w' in the URL match - that's because Yahoo does this on a secure connection, and '\w' catches the colon and port number, before the trailing slash. Omission of this match could cause strange behavior, like it doesn't work as advertised. Sad

Actually, I don't just dump the whole page and start over. The \1 in the match, after the legendset, is what sets up the form declaration, hence it is used in the Replace string, just to save a bit of effort. Which also explains the \k at the end of my Replace string, the rest of the page is effectively killed before it can be loaded.

And finally, the <body tag has a bit of javascript to force the Submit button to have focus when the page is finished loading. Hit the Enter key, and you should be whisked away to Yahoo land. Conceivably, you could automate this action with a bit more javascript in the <body.... tag, but I've not done that, I don't see it as worth the effort (for me, at any rate).

This page is universal to Yahoo, it should pop up whenever you want to log in (or Yahoo wants you to do so), no matter what page you may have been on. Even if you "forgot" you weren't signed in as you were browsing Yahoo, this is where you'll end up, so the filter will kick in, and Voila!, you're golden.

HTH



Oddysey

I'm no longer in the rat race - the rats won't have me!
Add Thank You Quote this message in a reply
Jan. 14, 2009, 10:03 PM
Post: #3
RE: Yahoo Filters...
(Jan. 14, 2009 09:49 PM)Oddysey Wrote:  Note also the '\w' in the URL match - that's because Yahoo does this on a secure connection, and '\w' catches the colon and port number, before the trailing slash. Omission of this match could cause strange behavior, like it doesn't work as advertised. Sad

Hi Oddisey, I would better use (\:[#0:65535]|) instead of \w Your code could match in login.yahoo.com.fake.com for example
Add Thank You Quote this message in a reply
Jan. 15, 2009, 03:39 AM
Post: #4
RE: Yahoo Filters...
Inminente;

True, but consider, someone would have to literally break the DNS system in order to be able to hijack Yahoo's URL, and send all such requests to fake.com instead..... It's been done, but certainly not on that scale. Wink

As it happens, one can enter more than just a port number after the colon. Yahoo doesn't appear to do that, but it's possible, hence my wider-ranging example might be useful to a broader range of folks.

But your real agenda was that one must always be on one's guard. There's no substitute for personal responsibility in one's surfing habits, and you and I are in agreement on that!

Thanks


Oddysey

I'm no longer in the rat race - the rats won't have me!
Add Thank You Quote this message in a reply
Feb. 08, 2009, 03:15 AM
Post: #5
RE: Yahoo Filters...
a Yahoo-Filter glitch has been pointed out to me...
i'm going to scan some Yahoo sites and see if anything else needs amended while i'm at it...

should have some Yahoo updates tomorrow-ish...
Add Thank You Quote this message in a reply
Feb. 08, 2009, 01:58 PM
Post: #6
RE: Yahoo Filters...
here's an update to Yahoo's "Cean up Site" filter (thanks to Toppy in the "a_flash" thread for the link containing an ad, thanks to sidki for the nudge in the right direction)...

Code:
Name = "Yahoo: Clean up Site     9.02.08 [sd po] (d.s) TEST"
Active = TRUE
URL = "$TYPE(htm)(^([^.]+.|)search.yahoo)[^/]++.yahoo.co(^$TST(keyword=*.a_code.*))"
Limit = 16384
Match = "<table("
        "[^>]+>("
        "([^>]+>)+{3} (sponsored [a-z]+)\3(*</table >&&(^*<t(r|able))*)"
        "( <table[^<]+<tr(*</table >&&(^*<t(r|able))*))+ $NEST(<table,</table >)$SET(1=table-1-\3)"
        "|([^>]+>)++{1,5} (advertisem[a-z]+)\3 <"
        "$INEST(<table,</table)</table >$SET(1=table-2-\3)"
        ")"
        "|[^>]++\s(width=[#750][^>]++height=([#112])\1|id=$AV(yfncbrobtn)$SET(1=Finance Top Ads))"
        "$INEST(<table,</table)</table >"
        ")"
        ""
        "|<td[^>]++("
        "class=$AV((ymapttd)\1|ygma$SET(1=+)*)$INEST(<td,</td)</td >"
        "|id=$AV(ygma(^greet)*)$SET(1=Search Bar)$INEST(<td,</td)</td >"
        ")"
        ""
        "|<div(^$TST(script=*))[^>]++("
        "class=("
        "$AV((ydirspns)\3)(*</div >&&(^*<div)*)$SET(1=solo \3)"
        "|$AV((ad|lrec|m(d m|)inimantle*|ovt*|sponsor*|yad-*|ynw-(ov-box|rt-art-bd-ad)|yshp_ad_*|ysm)\3)"
        "$INEST(<div,</div)</div >$SET(1=c \3)"
        ")"
        "|id=("
        "$AV(("
        "adlrec|help-link-wrap|ks-ypn-ads|marketplace|mantlecx|minimantle|news-sponsor|nns|northad|southad|spnsr"
        "|spons[oe]red*|srec|swads|ws_ie7|yat(gad|ad_*)|ydireast|yfi_(pf_)+(ad*|ysm)|ygmatop|ysp-hd|ymadbn"
        "|ymap(clad|ead|nad|west|footer)[0-9]+|eyebrow$SET(2=<div style="line-height:7px">&nbsp;</div>"
        "<div id="eyebrow" style="display:none"><br id="sethomepage" /></div>)"
        ")\3)$INEST(<div,</div)</div >$SET(1=i \3)"
        "|$AV(footer)$SET(3=p)(*> )\#($INEST(<div,</div)&&("
        "*(<(ul|span)\3 id=$AV(copyright)*</$TST(\3) > |<p[ >]*</p > )\#)+{1,*}*"
        ")$SET(1=bot-\3)$SET(2=<div id="footer"\@)"
        ")"
        ")"
        ""
        "|<!-- (start north banner -*- end (north banner)\1|overtur(e*)\3 -*- / (overtur$TST(\3))\1) -- >"
        ""
        "|<script(^$TST(comment=[12]))("
        "(^[^>]++src=)[^>]+> $INEST(<script,?+{20}*,</script)</script > $NEST(<script,</script > )+"
        "$NEST(<noscript,*/(/((row|us).(bc)\1|??.(ard)\1).yahoo.com|(M)\1\=[0-9][0-9]+.[0-9]+.)*,</noscript >)"
        "|[^>]+> var ADF(adids)\1*</script >"
        ")"
        "&($TST(volat=*.log:2*)$ADDLST(Log-Main,[$DTM(d T)]\tSiteSpec Yahoo \1 \t\u)|)"
Replace = "\r\n<!-- PROX-S: Removed by Yahoo Cleaner (\1) -->\r\n\2"
          "$SET(sSpec=$GET(sSpec)\1.)"


ps: primary difference, other than the ad that was sneaking in, is the help-link-wrap as discussed previously, which is being pushed only to IP addresses in the US, and the ysp-hd which is adding a top-of-page banner-row on Yahoo Sports pages, such as here - http://sports.yahoo.com/nba/news?slug=te...eam_report


ps2: go LAKERS !!!


edit: removed Log-Rare code...
Add Thank You Quote this message in a reply
Feb. 08, 2009, 05:56 PM
Post: #7
RE: Yahoo Filters...
Thanks. If you keep that Log-Rare line in the public version, people will get flooded with "SiteSpec Yahoo" entries. Wink

Can you give me your hits for "help-link-wrap" and "ysp-hd"? We need to keep track of matches, to have a chance to remove outdated code in future.
Add Thank You Quote this message in a reply
Feb. 08, 2009, 06:09 PM
Post: #8
RE: Yahoo Filters...
(Feb. 08, 2009 05:56 PM)sidki3003 Wrote:  Can you give me your hits for "help-link-wrap" and "ysp-hd"? We need to keep track of matches, to have a chance to remove outdated code in future.

ah yes, my bad...
i've got those at the office kept with the log you sent me...

good thing you bring it up, i'm not 100% positive that the two entries hit the "three-and-in" 'rule-of-thumb'... i'll double-check tomorrow and keep you posted... since i do so much more surfing at the office compared to home, i tend to keep that kind of stuff there...
Add Thank You Quote this message in a reply
Feb. 08, 2009, 06:14 PM
Post: #9
RE: Yahoo Filters...
That's fine. Smile!

Yeah... On the Sports frontpage http://sports.yahoo.com/ , there are two top rows with "search" boxes.
The upper one, "Web Search", is obviously useless.
However, i'm definitely not sure about the second one, containing the "Yahoo! Sports" logo and a "Sports Search" box.
"ysp-hd" is killing both rows.
Add Thank You Quote this message in a reply
Feb. 08, 2009, 06:48 PM
Post: #10
RE: Yahoo Filters...
ah yes...
my apologies (i actually kill class="mast" for my day-to-day config, it's obvious that it kills way too much for public use, lol)...

hmmm...
we might have to keep that "sign-out banner" in place for Yahoo Sports, 'cause the next div "inward" is ysp-network-nav and using that in place of ysp-hd results in some layout issues (in IE7, only test thus far)...


edit: renamed above posted filter as "test" for now...
Add Thank You Quote this message in a reply
Feb. 08, 2009, 08:02 PM
Post: #11
RE: Yahoo Filters...
(Feb. 08, 2009 06:48 PM)ProxRocks Wrote:  hmmm...
we might have to keep that "sign-out banner" in place for Yahoo Sports, 'cause the next div "inward" is ysp-network-nav and using that in place of ysp-hd results in some layout issues (in IE7, only test thus far)...

Ahh okay.
Add Thank You Quote this message in a reply
Feb. 09, 2009, 02:02 PM
Post: #12
RE: Yahoo Filters...
confirmed...
those two ysp-'s are only logged for ONE site each, not a "slew" of them like bc for example...

so the only change is now that ad on Yahoo Finance...


updated filter:
Code:
Name = "Yahoo: Clean up Site     9.02.09 [sd po] (d.s)"
Active = TRUE
URL = "$TYPE(htm)(^([^.]+.|)search.yahoo)[^/]++.yahoo.co(^$TST(keyword=*.a_code.*))"
Limit = 16384
Match = "<table("
        "[^>]+>("
        "([^>]+>)+{3} (sponsored [a-z]+)\3(*</table >&&(^*<t(r|able))*)"
        "( <table[^<]+<tr(*</table >&&(^*<t(r|able))*))+ $NEST(<table,</table >)$SET(1=table-1-\3)"
        "|([^>]+>)++{1,5} (advertisem[a-z]+)\3 <"
        "$INEST(<table,</table)</table >$SET(1=table-2-\3)"
        ")"
        "|[^>]++\s(width=[#750][^>]++height=([#112])\1|id=$AV(yfncbrobtn)$SET(1=Finance Top Ads))"
        "$INEST(<table,</table)</table >"
        ")"
        ""
        "|<td[^>]++("
        "class=$AV((ymapttd)\1|ygma$SET(1=+)*)$INEST(<td,</td)</td >"
        "|id=$AV(ygma(^greet)*)$SET(1=Search Bar)$INEST(<td,</td)</td >"
        ")"
        ""
        "|<div(^$TST(script=*))[^>]++("
        "class=("
        "$AV((ydirspns)\3)(*</div >&&(^*<div)*)$SET(1=solo \3)"
        "|$AV((ad|lrec|m(d m|)inimantle*|ovt*|sponsor*|yad-*|ynw-(ov-box|rt-art-bd-ad)|yshp_ad_*|ysm)\3)"
        "$INEST(<div,</div)</div >$SET(1=c \3)"
        ")"
        "|id=("
        "$AV(("
        "adlrec|ks-ypn-ads|marketplace|mantlecx|minimantle|news-sponsor|nns|northad|southad|spnsr"
        "|spons[oe]red*|srec|swads|ws_ie7|yat(gad|ad_*)|ydireast|yfi_(pf_)+(ad*|ysm)|ygmatop|ymadbn"
        "|ymap(clad|ead|nad|west|footer)[0-9]+|eyebrow$SET(2=<div style="line-height:7px">&nbsp;</div>"
        "<div id="eyebrow" style="display:none"><br id="sethomepage" /></div>)"
        ")\3)$INEST(<div,</div)</div >$SET(1=i \3)"
        "|$AV(footer)$SET(3=p)(*> )\#($INEST(<div,</div)&&("
        "*(<(ul|span)\3 id=$AV(copyright)*</$TST(\3) > |<p[ >]*</p > )\#)+{1,*}*"
        ")$SET(1=bot-\3)$SET(2=<div id="footer"\@)"
        ")"
        ")"
        ""
        "|<!-- (start north banner -*- end (north banner)\1|overtur(e*)\3 -*- / (overtur$TST(\3))\1) -- >"
        ""
        "|<script(^$TST(comment=[12]))("
        "(^[^>]++src=)[^>]+> $INEST(<script,?+{20}*,</script)</script > $NEST(<script,</script > )+"
        "$NEST(<noscript,*/(/((row|us).(bc)\1|??.(ard)\1).yahoo.com|(M)\1\=[0-9][0-9]+.[0-9]+.)*,</noscript >)"
        "|[^>]+> var ADF(adids)\1*</script >"
        ")"
        "&($TST(volat=*.log:2*)$ADDLST(Log-Main,[$DTM(d T)]\tSiteSpec Yahoo \1 \t\u)|)"
Replace = "\r\n<!-- PROX-S: Removed by Yahoo Cleaner (\1) -->\r\n\2"
          "$SET(sSpec=$GET(sSpec)\1.)"
Add Thank You Quote this message in a reply
Feb. 09, 2009, 02:10 PM
Post: #13
RE: Yahoo Filters...
I'll add it. So, that US IP "help-link-wrap" tag block is gone?
Add Thank You Quote this message in a reply
Feb. 09, 2009, 02:40 PM
Post: #14
RE: Yahoo Filters...
no, it's still there, but "only" on Yahoo's 'front page', "my.yahoo.com"...
ie, no "three hits and in" in the log-rare...

it's to the right of where the log-out banner-row "would be" if we didn't axe it (the "eyebrow" banner)...

ie, without removing the "Develop for My Yahoo!" link (the "help-link-wrap" code), technically the "eyebrow" axing isn't gaining us anything because the "help-link-wrap" is still dropping the page content down by the height that the "eyebrow" axing 'used to' gain us...


i've attached a screen-cap...


Attached File(s)
.gif  Develop for My Yahoo.gif (Size: 16.56 KB / Downloads: 321)
Add Thank You Quote this message in a reply
Feb. 09, 2009, 03:08 PM
Post: #15
RE: Yahoo Filters...
Ahh! The *My* Yahoo frontpage! I see it too. Plus another ugly block (ID: nux-container), which might need to stay to allow for customizing. What's worse, clicking either "Yes, please!" or "No, thanks." to make it disappear, results in a "YAHOO is not defined" JS error. Maybe i can fix it...


Attached File(s)
.png  cap_160501.png (Size: 42.72 KB / Downloads: 332)
Add Thank You Quote this message in a reply
Post Reply 


Forum Jump: