| グリースモンキー | |
|---|---|
| 原作者 | アーロン・ブードマン |
| 開発者 | Anthony Lieuallen、Johan Sundstrom、[ 1 ] 13 他[ 2 ] |
| 初回リリース | 2005年3月28日[ 3 ] (2005年3月28日) |
| 安定版リリース | 2024年8月4日13時 / 5時 ( 2024-08-05 ) |
| リポジトリ | |
| 書かれた | JavaScript、XUL、CSS |
| オペレーティング·システム | クロスプラットフォーム |
| 入手可能な | 英語 |
| タイプ | Mozilla拡張機能 |
| ライセンス | MITライセンス |
| Webサイト | www.greasespot.net |
| 関連記事 |
|---|
| 起源と系譜 |
| カテゴリ |
Greasemonkeyは、 Mozilla Firefoxの拡張機能として提供されるユーザースクリプトマネージャです。これにより、ユーザーはブラウザにページが読み込まれる前または後に、ウェブページのコンテンツを即座に変更するスクリプト(拡張ブラウジングとも呼ばれます)をインストールできます。
Web ページに加えられた変更は、ページが表示されるたびに実行されるため、スクリプトを実行しているユーザーにとっては実質的に永続的なものとなります。
Greasemonkey は、ページの外観のカスタマイズ、Web ページへの新しい機能の追加 (たとえば、ショッピング サイト内に価格比較を埋め込む)、レンダリング バグの修正、複数の Web ページからのデータの結合など、さまざまな目的に使用できます。
歴史
Greasemonkeyプロジェクトは2004年11月28日にAaron Boodmanによって開始されました。[ 4 ] [ 5 ] [ 6 ] Boodmanは、後にユーザースクリプト開発者となるAdrian Holovatyによって書かれた、AllMusicのインターフェースを整理するために設計されたFirefox拡張機能を見て、Greasemonkeyを書くようにインスピレーションを受けました。2005年5月までに、Greasemonkey用に約60の一般的なユーザースクリプトと115のサイト固有のユーザースクリプトが配布されていました。[ 7 ] 2005年7月、Mark PilgrimによってGreasemonkeyに重大な脆弱性が見つかり、[ 8 ] [ 9 ] Greasemonkeyのバージョン3.5で修正されました。[ 10 ]この間、ユーザースクリプトをスタンドアロンのFirefox拡張機能に変換するためのGreasemonkeyコンパイラも開発されました。[ 11 ] Greasemonkeyは当初、広告をブロックする機能について出版社から苦情を受けました。[ 12 ]しかし、この批判により、2006年にAdblock Plusがリリースされてから、Greasemonkeyの焦点は他のアドオンに移りました。
ユーザースクリプト
スクリプト数の増加に対応するため、2005年後半にBritt SelvitelleとGreasemonkeyコミュニティの他のメンバーによってuserscripts.orgが設立されました。Userscripts.orgは2007年にオープンソース化されましたが、その後サイトはこのコードベースから離れました。[ 13 ] Greasemonkeyの公式サイトに記載されている主要なスクリプトリポジトリとして、userscripts.orgには年間数千のスクリプトが蓄積されました。
2010年、最後の管理者であるジェシー・アンドリュース氏は、時間不足のためサイトをメンテナンスモードにし、新しい管理者をボランティアで募集したと投稿した。[ 14 ]しかし、2013年4月1日にインストール数に関する議論が始まるまで、彼はサイトの唯一の管理者であり続けた。 [ 15 ]これに先立ち、サイトが挙げている「最も人気のあるスクリプト」の多くは、名目上のインストール数がゼロだった。翌年、スパムスクリプトがより一般的になり、サーバーのダウンタイムが増加し、インストール数に関するバグは残った。[ 16 ]アンドリュース氏からのさらなる連絡がなかったため、ユーザースクリプト作成者はサイトが放置されていると述べ、公式Greasemonkeyサイトはトップページへのリンクを削除した。[ 17 ] [ 18 ]これを受けて、スクリプト作成者や他の開発者は、即時の代替として、フォーク「openuserjs.org」[ 19 ] [ 20 ]、そして後にgreasyfork.org [ 21 ]の開発を開始した。[ 22 ]
2014年5月、userscripts.orgはポート80からアクセスできなくなり、ユーザーは代わりにポート8080からアクセスするようになりました。[ 16 ] 2014年8月、サイトは完全に閉鎖されました。スクリプトのほとんどは静的ミラーであるuserscripts-mirror.orgにバックアップされており、現在はそこで見つけることができます。[ 16 ]
技術的な詳細
GreasemonkeyユーザースクリプトはJavaScriptで記述され、ドキュメントオブジェクトモデルインターフェースを用いてウェブページのコンテンツを操作します。スクリプトは通常、ページ固有またはドメイン固有(ドメイン内のすべてのページに適用)として記述されますが、ブラウザ全体の機能拡張のために、すべてのドメインに適用するようにタグ付けすることもできます。Greasemonkeyユーザーはスクリプトを作成またはダウンロードし、自分の個人用ライブラリに保存できます。ユーザーが自分の個人用スクリプトライブラリ内のスクリプトに一致するウェブサイトにアクセスすると、Greasemonkeyは関連するスクリプトを起動します。
Greasemonkeyスクリプトは、JavaScriptが許可する方法であれば、Greasemonkeyのセキュリティ制限の範囲内で、ウェブページを自由に変更できます。また、スクリプトはドメイン制限のないXMLHTTPリクエストを介して他のウェブページやウェブサービスにアクセスできるため、外部コンテンツを元のページコンテンツに統合することも可能です。
スクリプトはsomename .user.js という名前で呼ばれ、Greasemonkey はそのサフィックスで終わる URL が要求されると、そのようなスクリプトをインストールすることを提案します。Greasemonkey スクリプトには、スクリプト名、説明、スクリプトに必要なリソース、同じ名前のスクリプトを区別するために使用される名前空間 URL、そしてスクリプトが呼び出される URL パターン(あるいは呼び出されない URL パターン)を指定するメタデータが含まれています。
Greasemonkey スクリプトの作成は、Web ページ用の JavaScript の作成と似ていますが、クロスサイトXMLHttpRequestsなどの追加の機能がいくつか追加されています。本格的な Firefox 拡張機能の作成と比較すると、ユーザー スクリプトの作成は基本的な Web プログラミングよりも複雑さがわずかに増すだけです。ただし、Greasemonkey スクリプトには、Mozilla の XPCNativeWrappers [ 23 ]によって課せられるセキュリティ制限による制限があります。たとえば、Greasemonkey スクリプトは、ダウンロード マネージャー、 I/O プロセス、メイン ツールバーなど、Firefox の多くのコンポーネントにアクセスできません。さらに、Greasemonkey スクリプトは一致する Web ページのインスタンスごとに実行されます。このため、アイテムのリストをグローバルに管理することは困難です。ただし、スクリプト作成者は Cookie を使用しており、Greasemonkey ではこの問題を克服するために GM_getValue や GM_setValue などの API も提供しています。
ユーザースクリプト
Greasemonkeyのファイルホスティングサーバーでは、スクリプトのURLがのようなMIMEタイプ.user.jsではなく で終わる必要があります。HTTPSのサポートは、Greasemonkeyに組み込まれたアップデートチェッカーで対応します。2019年7月現在、Greasemonkeyプロジェクトは3つの推奨ユーザースクリプトホスティングサーバーをリストしています。[ 24 ]text/html
- Gist は、 GitHub が運営するシンプルなファイルをホストするペーストビンサービスです。ファイルを Web フォームに貼り付けて保存できます。デフォルトではHTTPSが使用されます。ファイルは命名規則に従い、インストールリンクとして機能する URL には「.user.js」というサフィックスを付けることができます。
- Greasy Forkはuserstyles.orgの管理者によって作成されたサイトです。[ 21 ]
- OpenUserJS.orgは、廃止されたスクリプトリポジトリuserscripts.orgのフォークとして始まったサイトです。 [ 19 ] [ 20 ]
互換性
GreasemonkeyはFirefox、Flock、GNOME Web(旧称Epiphany)で利用可能です。Web用のGreasemonkey拡張機能はWeb拡張機能パッケージの一部です。ただし、この拡張機能はリリース2.15.1時点では完全な互換性がありません。これは、一部のGreasemonkey API関数(例:GM_getValue)がサポートされていないためです。SeaMonkey 、[ 25 ] [ 26 ] Songbird、[ 27 ] Pale Moon、[ 28 ] qutebrowser、[ 29 ] Falkonブラウザ用のカスタムバージョンも存在します。
参照
参考文献
- ^ boots (2009年8月23日). 「グリーススポット:アウティ」グリーススポット.
- ^「Greasemonkey ネットワーク グラフ」。GitHub 。
- ^ 「バージョン履歴 – GreaseSpot Wiki」 . wiki.greasespot.net .
- ^ “Greasemonkey Project Info” . 2012年3月25日時点のオリジナルよりアーカイブ。2011年8月31日閲覧。
- ^ピルグリム、マーク(2005年)『Greasemonkey Hacks』オライリー社、ISBN 978-0-596-55357-9。
- ^ Boodman, Aaron (2010年2月1日). 「40,000以上の拡張機能!」 . Chromiumブログ. 2023年3月5日閲覧。
- ^ a bライアン・シンゲル(2005年5月17日)「FirefoxユーザーはWebを操るのか?」 Wired誌。
- ^ 「[Greasemonkey] greasemonkey for secure data over insecure networks / Sites」 2020年3月3日時点のオリジナルよりアーカイブ。2021年2月24日閲覧。
- ^ 「セキュリティ [LWN.net]」。
- ^ "mozdev.org – : /pipermail/greasemonkey/2005-July/004379" . mozdev.org . 2005年7月29日時点のオリジナルよりアーカイブ。
- ^ Nivi (2005年5月8日). 「Greasemonkeyはビジネスモデルを(そしてあなたの心も)吹き飛ばすだろう」 2006年6月3日時点のオリジナルよりアーカイブ。2010年7月22日閲覧。
- ^ Festa, Paul (2005年3月24日). 「Firefoxのアドオンでサイトを操作できるが、安全か?」 CNET.
- ^ Selvitelle, Britt (2007年1月3日). 「Userscripts.org... Opensource!」 2007年1月17日時点のオリジナルよりアーカイブ。 2014年5月21日閲覧。
- ^ 「userscripts.orgのバトンタッチ」Hacker News、2010年。 2014年10月24日閲覧。
- ^ 「インストール数の修正」 2013年4月1日. 2013年11月3日時点のオリジナルよりアーカイブ。 2014年5月21日閲覧。
- ^ a b c Brinkmann, Martin (2014年5月9日). 「Userscripts.orgは永久にダウン?代替案はこちら」 . 2014年5月21日閲覧。
- ^ 「ユーザースクリプトホスティング」 2014年5月16日. 2014年5月21日閲覧。
- ^ 「公式ユーザースクリプトサイトを変更してください」 greasemonkey -dev(メーリングリスト)2014年4月21日。 2014年5月21日閲覧。
- ^ a b "OpenUserJS" . openuserjs.org .
- ^ a b「インストール数の修正 – 6ページ」。2013年4月1日。 2013年11月3日時点のオリジナルよりアーカイブ。 2015年11月5日閲覧。
- ^ a b「Greasy Fork」 . greasyfork.org .
- ^ Barnabe, Jason (2014年2月19日). 「Introducing Greasy Fork – a user scripts site」 . 2015年11月5日閲覧。
- ^ 「XPCNativeWrapper – MDC Docs」。2011年6月28日時点のオリジナルよりアーカイブ。2011年3月16日閲覧。
- ^ 「ユーザースクリプトホスティング – GreaseSpot Wiki」 . wiki.greasespot.net . 2019年7月22日閲覧。
- ^ "Greasemonkey" . mozdev.org . mozdev . 2015年4月23日時点のオリジナルよりアーカイブ。2009年5月5日閲覧。
- ^ 「Greasemonkey の SeaMonkey ポート – 概要 – OpenUserJS」 . openuserjs.org .
- ^ ianloic. 「Greasemonkey」 . Songbird . 2008年6月2日時点のオリジナルよりアーカイブ。 2009年5月5日閲覧。
- ^ “ジャネクプタシジャラバシ/グリースモンキー” . GitHub 。2020 年3 月 23 日に取得。
- ^ 「GreaseMonkeyサポートの改善 · Issue #3238 · qutebrowser/qutebrowser」 . GitHub . 2020年5月19日閲覧。
外部リンク
ウィキメディア・コモンズの Greasemonkey関連メディア