less RSS

ykskはかしゆかのアナグラムではありません。

Archive

Jun
11th
Fri
permalink

Safari拡張版Skip Redirector

ページリダイレクトや年齢認証をスキップする「Skip Redirector」をSafari 5の拡張機能に移植しました。

利用方法:

Enable Extensions

  1. 「環境設定…」→「詳細」の「メニューバーに“開発”メニューを表示」にチェックを入れる
  2. 「開発」メニューから「機能拡張を有効にする」にチェックを入れる
  3. 拡張ファイルをダブルクリックしてインストール

公式の拡張サイトが出来たらそちらに移す予定です。

今までGreaseKitからスクリプトをご利用だった方はこちらに移行して下さい。GreaseKitでの動作の仕組みはあまり行儀がよくありません(ドメインごとのlocalStorageにデータを残す)。


Chrome版を少し変更したらさくっと動きました。ソースもChrome版と共通。レポジトリ名がおかしくなっちゃった。safari.self.tab.dispatchMessage()chrome.extension.sendRequest()と違ってメッセージのやり取りにコールバックが使えないのが面倒でした。

Jan
13th
Wed
permalink

Skip RedirectorのSITEINFOフォーマット

少しずつパラメーターが増えているので組み立て方をまとめ。

url

  • 必須

スキップするURLの正規表現を指定します。()でグルーピングするとreplace_urlで後方参照を利用出来ます。

link

  • replace_urlを指定しない場合必須

ページのa要素、input、button要素を始めとするクリックイベントを付加された要素をXPathで指定します。指定された要素を自動的にクリック(クリックイベントをトリガー)して遷移します。

replace_url

  • linkを指定しない場合必須
  • 両方指定されていた場合はreplace_urlを利用

httpまたはhttpsで始まるURLを指定します。ページの内容はチェックせず、URLのみで遷移します。urlで指定した後方参照を利用することが出来ます。

site_url

リダイレクトページのサイトのURLを指定します。Chrome拡張で対応ページのリストを作る際のリンクなどに利用されます。

fixme

指定が間違っていたり既に古くなっていて動かない、調査が必要な定義に対して1を設定するとその定義は利用されなくなります。誰かが原因を調べます(たぶん)。サイトの構造が変わるなどして、もはや対応出来ないことが確認された場合、定義は消去されます。

Jan
7th
Thu
permalink

Chrome拡張版のSkip Redirector作りました

機能的にはGreasemonkey版と全く同じです。ソースはGitHubに置きました

クロスドメイン越えるためと、キャッシュを保持するために拡張にしました。

  • permissionsでwedataを許可
  • content_scriptからbackgroundにアクセス
  • backgroundで通信、レスポンスをキャッシュしつつcontent_scriptにコールバック
  • content_scriptでリダイレクト判定

きれいに分けて書けた:)

Oct
22nd
Thu
permalink

Skip RedirectorをMEGAUPLOADに対応させた

MEGAUPLOAD側に修正が入ったため2010-02-26現在この方法は使えません。

hail2u.net - Weblog - MEGAUPLOADから簡単にダウンロードがそのまま取り込めそうだったので入れました。

このバージョン(0.5)からdocument内のリンク、ボタンをXPathで探す方法に加えて、URLを正規表現で置き換える方法が追加されます。SITEINFOの指定方法はMEGAUPLOADの指定を参考にして下さい。

  • urlキーで()を使ってグルーピング
  • replace_urlキーで後方参照を使ってURLを組み立てる

感じで指定します。コード的にはこんなです。

location.href = location.href.replace(new RegExp(url), replace_url);
Oct
2nd
Fri
permalink

Skip RedirectorがFirefoxで動いてなかった

FirefoxではcreateEventで作ったイベントからa要素をクリック出来ないみたいだ・・。a要素の時だけ以前のようにlocation.hrefで飛ぶようにしてみた。a要素にtarget属性が指定されてても無視されます。出来るなら統一したいなー。

1.1.2で統一しました。初期化処理をinitMouseEventにしたら上手くいったみたい。今まではinitEventを使っていました。

e.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);

引数多い。

あと、期限切れのキャッシュを上手く更新出来ていなかった問題も修正しました。

Sep
24th
Thu
permalink

Skip Redirectorをとらのあなに対応させた

対応版をコミットwedataにルールを追加しました。

とらのあなの年齢認証はinput要素のクリックイベントから起動したJavaScriptでクッキーを発行して認証判定する仕組みになっています。今まではリダイレクトURLをa要素から取得していたため、この仕組みに対応出来ませんでした。今回createEventでクリックイベントを発行してページ移動を行うように変更したので、とらのあな以外にもクリックで移動、認証するほとんどのサイトに対応出来るようになったはずです:)

drryさんにSITEINFOの正規表現を添削して頂いていました。ありがとうございます。

Sep
19th
Sat
permalink

URLリダイレクト、年齢確認をスキップするGM

連休中にだらだらとネットを見ていて、前から気になっていたリダイレクトの待ち時間と年齢確認がますます面倒になってきました。ぐりぐり。

対応サイトはwedataをご覧下さい。スクリプト作成時点ではリダイレクタはLinkBucksとオラバウト、年齢確認はamazon.co.jp、DMMをスキップするようになっています(ひどい)。SITEINFOを追加すれば増やせます。

年齢確認はログインしてればなくしてもいいと思う。セブンアンドワイみたいにログイン必須でも困るけど。