GoogleChromeの拡張機能を自前サーバで配布したい場合
拡張機能の配布方法は2つある。1つは、Chrome Web Storeでの配布、
2つ目は自前のサーバで配布かである。
この記事では、2つ目の方法を記述する。
とりあえず参考資料。
この記事「Web Store Hosting and Updating - Google Chrome」
とこの記事「Loading...」
によると、MIMEタイプを"application/x-chrome-extension"としなくてはならない。
このMIMEタイプはサーバ側で返答しなければならない。この返答からChromeは拡張機能と認識する。
サーバ側の設定方法
Apacheの場合
AddType application/x-chrome-extension .crx
Pythonistaならとりあえず使うSimpleHTTPServerの場合。
普段は
$ python -m SimpleHTTPServer 8080
とコマンドを叩くが、MIMIタイプを設定しなければならない。
ということで、調べてみると、SimpleHTTPServerのMIMEタイプ追加 - logging.info(self)この記事がヒット
id:aroma_blackさんのコード一部改変して使用させていただきました。ありがとうございます。
で、改変した部分も含めると下記のスクリプトになる。
#! python # -*- coding:utf-8 -*- import SimpleHTTPServer import SocketServer PORT = 8000 Handler = SimpleHTTPServer.SimpleHTTPRequestHandler Handler.extensions_map['.crx'] = 'application/x-chrome-extension' httpd = SocketServer.TCPServer(("",PORT), Handler) print "serving at port", PORT httpd.serve_forever()
こいつで適切なhtmlファイルを書いてやれば大丈夫。
ちなみに、ダウンロード部分はこれ
<a href="hoge.crx">拡張機能hoge</a>
追記 2011年4/14 23:12
Githubでは、crxファイルをアップロードし、Chromeでダウンロードすると、ちゃんと拡張機能と認識してくれる。
つまり、Githubでソースを公開しながらリリースパッケージの配布も可能だったんだよ!!! Ω ΩΩ< な、なんだってー!!