掲示板お問い合わせランダムジャンプ

トップスペース
 

2011年04月09日
はてなブックマークのエントリーページを全表示にするproxomitronのフィルタ
 4月5日にはてなブックマークのエントリーページの表示が変更されました。
 はてなブックマークのエントリーページを改良しました - はてなブックマーク日記

 これを改悪とみるか改良とみるかはユーザーの利用方法によって変わると思いますが、少なくとも自分は以前の方が良かったので、以前のデザインに近い全表示のページへリダイレクトするproxomitronのフィルタを作ってみました。
[HTTP headers]
In = FALSE
Out = TRUE
Key = "URL: HATENA BOOKMARK entry page RDIR (out)"
URL = "b.hatena.ne.jp/entry/[^\?]"
Match = "http://b.hatena.ne.jp/entry/(^[^.]++[\?/])(\1)"
Replace = "$RDIR(http://b.hatena.ne.jp/entry?mode=more&url=$ESC(http://\1))"
 エントリーページのアドレスをこれだとすると、
 http://b.hatena.ne.jp/entry/(URL)
 上を下のアドレスへリダイレクトします。
 http://b.hatena.ne.jp/entry?mode=more&url=(エンコしたhttp://URL)
 $RDIR()でリダイレクトしているのでブラウザのロケーションバーには前者のアドレスが表示されます。この方がメタブックマークするときに便利かと思ってこうしました。

 あとユーザー数を画像表示するAPIのアドレスがこのようになってます。
 http://b.hatena.ne.jp/entry/image/(URL)
 これに誤爆しないように、/entry/のあとのドメイン名と思われる文字列にドットが無い場合はフィルタしないようにしています。Matchのところでよく分らないことをしているのはそのためです。
[ 投稿者:うえぽん at 15:32 | proxomitron | コメント(0) ]

2010年04月06日
YouTubeダウンロード用Proxomitronのフィルタ(3)
 2011年になって使えなくなりました。
 Proxomitronよりもブックマークレットで対応する方が楽なので(4)はたぶん作らないと思います。
 ブックマークレットの方はファイル名を自動で付ける機能がついてます。



続きを読む ...
 
[ 投稿者:うえぽん at 20:26 | proxomitron | コメント(0) ]

2009年06月05日
はてブのスターが Firefox + Proxomitron で表示されない問題解決
 はてなブックマークのはてなスターが Firefox + Proxomitron だと表示されない現象が今年の初め頃から発生してましたが、その原因と解決方法が分かりました。

 原因は、Proxomitron が 4KB 以上の長さのURLを処理できなかったからです。
 はてなのスクリプトはデータを呼び出すためにURLのクエリーに表示するユーザー名などを並べているわけですが、その部分でURL長が4KBを超えてました。
 IEだと問題無く表示されていたのは、IEのURL長制限(約2KB)に合わせて分割してデータを呼び出していたからです。

 というわけで、このIEだと分割する部分をいじくって問題を解決するフィルタを作ってみました。

[修正:2009/06/21]マッチさせるべきURLが増えたのでフィルタを修正しました。
[Patterns]
Name = "hatena star MaxBytes (2009/06/21)"
Active = TRUE
URL = "([^/]++.|)(hatena.ne.jp|st-hatena.com|hatena.ne.jp)/js(^(^/))*(Bookmark.js|HatenaStar.js)"
Limit = 32
Match = "(MaxBytes)\0(=| : )\1[0-9][0-9]+"
Replace = "\0\1 3977"
 ※元々付いてないはてなスターは表示されません。
[ 投稿者:うえぽん at 21:03 | proxomitron | コメント(0) | トラックバック(0) ]

2008年12月23日
YouTubeダウンロード用Proxomitronのフィルタ(2)
 新しいのを作りました。(3)はこちら

続きを読む ...
 
[ 投稿者:うえぽん at 17:22 | proxomitron | コメント(0) | トラックバック(0) ]

2008年12月13日
Adblockをブロックするのをブロックする
 firefoxにAdblockという広告をブロックする有名なプラグインが存在しますが、それを入れていると閲覧を拒否するサイトを最近複数見つけました。
 仕組みはこんな感じになってました。

 <img src="{adblockされそうな名前}.jpg" onerror="ブロックするコード">

 ロードに失敗したらadblockされていると判断して飛ばすわけですね。
 以前当ブログでも紹介したProxomitronをウェブページ側で検出する方法と仕組みは大体同じです。

 そういうわけで、簡易的ですが、Adblockをブロックするのをさらにブロックするproxomitronのフィルタを作ってみました。
[Patterns]
Name = "onerror Killer (2008/12/13)"
Active = TRUE
Multi = TRUE
Limit = 50
Match = "([.\ ])\1(onerror=)\2"
Replace = "\1Prxoff_\2"
 onerrorの前に Prxoff_ を挿入して無効にしているだけです。あくまでも簡易的なものなので誤爆する可能性があります。
[ 投稿者:うえぽん at 20:58 | proxomitron | コメント(0) | トラックバック(0) ]

2008年05月06日
汎用的に使えるブロック要素をごっそり消すProxomitronのフィルタ
 ブロック要素のidやclassを目印にしてその要素を消すフィルタというのはよくあるフィルタですが、同じようなフィルタをいくつも作るのも面倒なので、リストを使って使いまわせるようにしてみました。
[Patterns]
Name = "id class cutter (2008/04/21)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)"
Limit = 32767
Match = "(^(^<(table|div|p|dl|ol|ul|li|center)\0[^>]++(class|id)=$AV($LST(IdClassList))))"
        "$NEST(<$TST(\0)(\s*|)>,</$TST(\0) >)"
Replace = "<span style=display:none> cut by proxomitron </span>"
 $LST(IdClassList)の内容は下のようにします。idもしくはclassの名前を指定し、最後に$URL()でサイトを指定します。これでベ○ターの広告がごっそり消えます。
#
# universal
#
advertise(ment|)
*adsense*

#
# vector
#
	(overture[0-9]+
	|ad_*
	|shop_*block*
	|adBox
	|right_ad
	|special-box
	)$URL(http://[^/]++.vector.co.jp/*)

#
# Hatena
#
	(ad-*
	|*-ad
	|ad
	)$URL(http://[^/]++.hatena.ne.jp/*)
 こういうのはユーザスタイルシートでもできますが、proxomitronでまとめてやりたい人におすすめです。

 ちなみに、置換後のコメントアウトを <!-- --> にしていないのは、コメントアウト部分に誤爆してもページがちゃんと表示されるようにする工夫です。
[ 投稿者:うえぽん at 20:07 | proxomitron | コメント(0) | トラックバック(0) ]

2008年04月11日
広告バナーをAjax化するProxomitronのフィルタ
 自作して1年以上使っているProxomitronのフィルタですが、便利だと思うので公開しようと思います。
 標準のフィルタに「Banner Blaster」というのがありますが、これは意外と誤爆が多く、また、肝心なときに動作しません。そこで、アフィリエイトのホストをリスト化し、そこへリンクしている画像に対して処理するというようにしてみました。
 また、画像そのものがネタになっていることもたまにあるので、完全に画像を削るのではなく、マウスカーソルを載せるとAjax風に画像がオープンします。(ドラゴンボールのポイポイカプセルみたいで面白いです)


●動作サンプル
 ↓マウスオーバーでバナーが開きます
 amazonamazonamazon


●使い方
 (1)まずこのミニバナー画像をproxomitronのhtmlフォルダに「bnr.png」とリネームして保存。
 bnr.pngと名付けて保存

 (2)webフィルタを登録。(以前紹介したオミトロンをWeb側で検出する方法のRefererで弾く対策を行っている場合、ミニバナー画像のURLを変更しないと表示されません。たとえば、バイパスリストに local.ptron/{ユニークなディレクト名}/ という感じのを追加して、ミニバナーをそこに移動したりすると良いと思います)
[Patterns]
Name = "Banner Image Ajax load (2008/04/11)"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)|$TYPE(js)"
Bounds = "$NEST(<a\s*>,</a >)"
Limit = 2048
Match = "(*\shref=$AV(http(s|)://$LST(AfiList)*)[^>]++>*)\1(<img)\2([^>]++)\3\ssrc=(*>)\4\5"
        "|"
        "\1(<img[^>]++width=([#468]|[#728])[^>]++>&&*height=([#60]|[#90])"
        "&(<img)\2\3\ssrc=([^>]++>)\4)(\5)"
Replace = "\1\2"
          " style=width:8px;height:8px;"
          " src=http://Local.ptron/bnr.png"
          " onmouseover=var&#32;bnr&#61;this.getAttribute(&quot;bnr&quot;);return((bnr&amp;&amp;bnr.length)?(this.src&#61;bnr,this.setAttribute(&quot;bnr&quot;,&quot;&quot;),this.style.width&#61;&quot;&quot;,this.style.height&#61;&quot;&quot;,true):(true))"
          " \3"
          " bnr=\4\5"
 (3)最後に次のブロックリストをAfiListとして保存で完成。(このリストは他のフィルタにも使えると思います)
# click guaranteed advertisement
([^/]++.|)googlesyndication.com[:/]
([^/]++.|)custom-click.com[:/]
([^/]++.|)adconmatch.com[:/]

# affiliate
([^/]++.|)amazon.co.jp[:/]
([^/]++.|)(afl|rd).rakuten.co.jp[:/]
([^/]++.|)a8.net[:/]
([^/]++.|)valuecommerce.com[:/]
([^/]++.|)linksynergy.com[:/]
([^/]++.|)d-064.com[:/]
([^/]++.|)accesstrade.net[:/]
([^/]++.|)trafficgate.net[:/]
([^/]++.|)bidders.co.jp[:/]
([^/]++.|)comzz.co.jp[:/]
([^/]++.|)1okunin.com[:/]
([^/]++.|)fujisan.co.jp[:/]
([^/]++.|)bannerbridge.net[:/]
([^/]++.|)leaffi.jp[:/]
([^/]++.|)bottomline.jp[:/]
([^/]++.|)ad-link.jp[:/]
([^/]++.|)a-connect.jp[:/]
([^/]++.|)asbank.net[:/]
([^/]++.|)netalliance.jp[:/]
([^/]++.|)mck081.com[:/]
([^/]++.|)aff.to[:/]
([^/]++.|)a-sobo.com[:/]
([^/]++.|)keywords.jp[:/]
([^/]++.|)masell.net[:/]
([^/]++.|)pwc.jp[:/]
([^/]++.|)linkgets.com[:/]
([^/]++.|)e-click.jp[:/]
([^/]++.|)adcommerce.jp[:/]
([^/]++.|)affiluck.com[:/]
([^/]++.|)a-easy.com[:/]
([^/]++.|)s-commerce.jp[:/]
([^/]++.|)adcp.jp[:/]
([^/]++.|)am-plus.jp[:/]
([^/]++.|)affy.net[:/]
([^/]++.|)affiligate.jp[:/]
([^/]++.|)randk2.kir.jp[:/]
([^/]++.|)afj21.jp[:/]
([^/]++.|)j-a-net.jp[:/]
([^/]++.|)a20.jp[:/]
([^/]++.|)infocart.jp[:/]
([^/]++.|)opqr.info[:/]
([^/]++.|)mopo.jp[:/]
([^/]++.|)dooga.co.jp[:/]
([^/]++.|)affpartner.com[:/]
([^/]++.|)templatemonster.co.jp[:/]
([^/]++.|)cross-a.net[:/]

# affiliate or "click guaranteed advertisement"
([^/]++.|)microad.jp[:/]
([^/]++.|)edb.jp[:/]
sbiz.jp[:/]

# adult affiliate
([^/]++.|)dtiserv2.com[:/]
([^/]++.|)medicome.co.jp[:/]
([^/]++.|)jpassport.jp[:/]
([^/]++.|)bannerbridge.net[:/]
([^/]++.|)t2z.jp[:/]
([^/]++.|)motionlink.jp[:/]
([^/]++.|)dreamcash.com[:/]
([^/]++.|)af-board.com[:/]
([^/]++.|)dmm.co.jp[:/]
([^/]++.|)dmm.com[:/]
([^/]++.|)pacificbill.com[:/]
([^/]++.|)e-nls.com[:/]
([^/]++.|)i-cute.jp[:/]

# foreign affiliate
([^/]++.|)amazon.com[:/]
([^/]++.|)clixgalore.com[:/]
[ 投稿者:うえぽん at 23:59 | proxomitron | コメント(0) | トラックバック(0) ]

2008年03月06日
YouTubeにダウンロード&高画質版のリンクをつけるproxomitronのフィルタ
 この前YouTube高画質モードにも対応したダウンロードブックマークレットというのを作ったが、せっかくなのでproxomitronでもダウンロードおよび高画質版へのリンクをつけるフィルタを作ってみた。通常ページではflv、高画質版のページではmp4がダウンロードされるはず。

 [追記2008/12/23]新しいのを作りました。こちら
 [修正2008/09/13]微妙に変わったので修正しました。
[Patterns]
Name = "YouTube download link etc.. [2008/09/13]"
Active = TRUE
Multi = TRUE
URL = "[^/]++.youtube.com/watch\?v=$TYPE(htm)"
Limit = 2048
Match = "("
        "(var swfArgs = $NEST({,}))\#"
        "&&*"video_id" : "\0"$SET(YouTubeVideoId=\0)*"
        "&*"t" : "\1"$SET(YouTubeTag=\1)*"
        "&(*"ap" : "\2"$SET(YouTubeApend=\2)*|$URL(*(fmt=[0-9]+{1,*})\2*)$SET(YouTubeApend=\&\2)*|$URL((http://[^/]++.youtube.com/watch\?v=)\2*)$SET(YouTubeMp4Link= <a href="\2\0&fmt=18">[mp4 mode]</a>)*)"
        ")|"
        "("
        "(^(^<div id=$AV(watch-vid-title)))$NEST(<div,</div >)"
        "&&"
        "(<div*>*<*>*</*>)\#"
        "$SET(#=<div style="font-size:11px"><a target="_blank" href="http://www.youtube.com/get_video?video_id=$GET(YouTubeVideoId)&t=$GET(YouTubeTag)$UESC($GET(YouTubeApend))">[download video file]</a>$GET(YouTubeMp4Link)</div>)"
        "\#"
        "$STOP()"
        ")"
Replace = "\@"
 動画タイトルの下にある [download video file] がダウンロードするためのリンクで、[mp4 mode] が高画質版へのリンクです。ダウンロードは別窓で開くようにしてますが、もし同じウィンドウにしたい場合は該当部分を削除してください。

 高画質版はあくまでも非公式のものなので、このフィルターが使えなくなるか可能性があります。その際はあしからずご了承願います。
[ 投稿者:うえぽん at 23:53 | proxomitron | コメント(12) | トラックバック(0) ]

2007年07月16日
楽天の強制アフィリエイト検出フィルター
 proxomitron用の楽天強制アフィリエイト検出フィルターを作ってみた。以前作ったアマゾンのやつの楽天バージョンです。
 ただし、楽天のアフィリエイトには詳しくないので、取りこぼしがある可能性があります。その辺はあしからず。
[HTTP headers]
In = FALSE
Out = TRUE
Key = "URL: Compulsory Rakuten Affiliate detector(out)"
Match = "http://([^/]++.|)afl.rakuten.co.jp/((h|%68)(g|%67)(c|%63)|(c|%63))/([0-9a-f]|%3[0-9]|%6[1-6])+{8}.([0-9a-f]|%3[0-9]|%[46][1-6])+{8}/(\?(*\&|)url=([^\&]+)\0((^?)|\&*)|*$SET(0=http://www.rakuten.co.jp/))"
Replace = "$CONFIRM(Rakuten Affiliate clicked\nredirect to $UESC(\0)\nKill this connection?)\k"
 これをしばらく使って見たが、楽天の強制アフィリエイトが仕掛けられているサイトが結構あるのには驚いた。アマゾンの比ではない。ブログ検索で良く引っかかる。
 強制アフィがあるサイトはスパムサイトがほとんどなので、この検出フィルターが反応したらそのページは読む価値なし、速やかに閉じてOKと判断できる。これはなかなか便利。

【余談】
 クッキーというと、「ゲンジ通信あげだま」の魔女の宅急便のパロディ回の九鬼麗を思い出す。どうやら最近、たのみこむでDVD化されたらしい。
[ 投稿者:うえぽん at 19:44 | proxomitron | コメント(3) | トラックバック(0) ]