2008-09-10

Greasemetal リリース -- Google Chrome 版 Greasemonkey

Google Ghrome 版の Greasemonkey がリリースされた。作者はサイボウズ・ラボの奥一穂氏。

ご存じの通り、Google Chrome では拡張機能 (アドオン機能) がまだない。なので Greasemetal は exe ファイルとして公開されている。

使い方

Greasemetal アプリを起動すると、Greasemetal が自動的に Google Chrome を開く。後は普段通り Chrome を使うだけ。

ユーザーとしては、今まで Google Chrome のデスクトップ・アイコンをダブル・クリックしてブラウザーを起ち上げていたのが、Greasemetal のデスクトップ・アイコンに変わるだけ。

Greasemetal のインストール

上記ページの「Using Greasemetal」セクションから、GreasemetalInstaller.exe をダウンロード。

ダブル・クリックするとインストール画面が起動するので、次へ次へと進んでく。

以上。

Userscripts のインストール

Userscripts には Greasemonkey のスクリプトがそのまま使える。使いたい Userscript をダウンロードして、「マイ ドキュメント」下の「userjs」というフォルダーに入れてやる。これでお終い。

Userscripts を入れたら、ブラウザーの再起動なしでスクリプトが使用可能になる!

Userscripts は Userscripts.org で沢山公開されている。

バージョン 0.1 の制限

  • Userscript を管理する UI がない (Userscript を一時的に無効にするには、その Userscript を userjs の外に出す。「ユーザースクリプトを実行するページ」は直接 Userscript をいじって変更する)
  • GM_* 関数はサポートしていない (GM_* 関数を使っている Userscript は須く動かない)

Technical Info

技術的な話は、奥さんの英語ブログに書いてある。

大ざっぱに言うとかうなるらしい。Greasemetal の実体はウェブのプロキシ・サーバー Automation Proxy。Google Chrome は、このプロキシ経由でウェブ・ページを GET する。プロキシは Userscript の「適用サイト」にマッチしたら、その Userscript をダウンロードするようページに <script> 要素を追加して Chrome に渡す。Chrome はページに埋め込まれた script 要素から Userscript を実行する。ほら! Chrome 版 Greasemonkey が出来てしまった。

※間違ってたら、ご指摘下さい

Repository

Subversion リポジトリーも公開中。

svn checkout http://kazuho.31tools.com/svn/chromemonkey/trunk/ chromemonkey

あとがき

これは熱いアプリが出て来た。脱帽! これからの開発にも期待大。

2 comments:

  1. I can't compile under "Ubuntu" "Jaunty" 9.04

    LOG :

    inukaze@Inukaze ~/Escritorio/chromemonkey/MTHttpd/make/unix $ make
    make[1]: se ingresa al directorio `/home/inukaze/Escritorio/chromemonkey/MTHttpd/make/unix/ssl'
    make links
    make[2]: se ingresa al directorio `/home/inukaze/Escritorio/chromemonkey/MTHttpd/make/unix/ssl'
    make[2]: se sale del directorio `/home/inukaze/Escritorio/chromemonkey/MTHttpd/make/unix/ssl'
    make ../libMTHttpd.a
    make[2]: se ingresa al directorio `/home/inukaze/Escritorio/chromemonkey/MTHttpd/make/unix/ssl'
    g++ -c -I../../../include -I../../../../../OpenSSLPlus/current/include -I/usr/kerberos/include -DMTHTTPD_WITH_SSL -g -Wall MTHClient.cpp
    MTHClient.cpp:27:29: error: OSP/OpenSSLPlus.h: No existe el fichero ó directorio
    In file included from MTHClient.cpp:31:
    ../../../include/MTHttpd/MTHUtil.h: In static member function ‘static typename T::value_type::second_type MTHUtil::GetNamedValue(const T&, const std::string&, const typename T::value_type::second_type&, bool)’:
    ../../../include/MTHttpd/MTHUtil.h:91: error: ‘::strcasecmp’ no se ha declarado
    ../../../include/MTHttpd/MTHUtil.h: In static member function ‘static int MTHUtil::GetNamedValue(const T&, const std::string&, int, bool)’:
    ../../../include/MTHttpd/MTHUtil.h:99: error: ‘::strcasecmp’ no se ha declarado
    MTHClient.cpp: In member function ‘bool MTHClient::PrepareQuery()’:
    MTHClient.cpp:153: error: ‘::strcasecmp’ no se ha declarado
    MTHClient.cpp:156: error: ‘::strcasecmp’ no se ha declarado
    MTHClient.cpp: In member function ‘bool MTHClient::SendRequest()’:
    MTHClient.cpp:275: error: ‘::strcasecmp’ no se ha declarado
    make[2]: *** [MTHClient.o] Error 1
    make[2]: se sale del directorio `/home/inukaze/Escritorio/chromemonkey/MTHttpd/make/unix/ssl'
    make[1]: *** [all] Error 2
    make[1]: se sale del directorio `/home/inukaze/Escritorio/chromemonkey/MTHttpd/make/unix/ssl'
    make: *** [all] Error 1


    Someone can give me a ".deb" package ? plz , and if i can install the GreaseMetal , in what Folder, i must put the Scripts ?

    ReplyDelete
  2. I don't know if someone make a ".deb" package for Greasemetal, and I don't know if someone succeed to compile Greasemetal. But Google Chrome in Devel Channel on Windows now supports extentions, which works like a Greasemonkey. So, the development of Greasemetal is over. I'm not sure that extentions feature is usable in Google Chrome on Linux, but I think you should "google" not "Greasemetal" but "Google Chrome extentions"

    ReplyDelete