Gyazoは瞬間的にスクリーンショットを共有するサービス。
サーバとクライアントが両方オープンソースになっているので、自前のサーバに設置することもできる。
ソースコードは以下。
https://github.com/gyazo/
サーバ側 upload.cgi
は以下。
https://github.com/gyazo/Gyazo/blob/master/Server/upload.cgi
クライアント側のスクリプトは以下。私はこれを gyazo.rb
にリネームして改造して使っている。
https://github.com/gyazo/Gyazo/blob/master/Gyazo/script
まずサーバ側では、CGIとしてupload.cgi
を設置しておく。
クライアント側(Mac)でgyazo.rb
を動かすと、
スクリーンショットを撮るモードにカーソルが変わるので画面を選択。
キャプチャした画像は自動的にGyazoのサーバにアップロードされる。
サーバのURLはgyazo.rb
の中に書かれている。
サーバ側では、受け取った画像のMD5ハッシュ値を元にPNGのURLが作られ、 クライアント側にHTTPのレスポンスとして送り返す。
クライアント側は、そのレスポンスから共有される画像のURLを受け取り、 ブラウザで表示する。
あとはそのURLを使ってメールに送るなりブログに入れるなり、 ツイートするなりすればいい。
画像をアップロードする前に、編集したいこともある。
そこで、キャプチャしたものはいったん保留し、編集してからアップロードするようにgyazo.rb
を改造した。
瞬間共有じゃなくなっちゃうけど。
$ gyazo (キャプチャ)
$ gyazo edit (キャプチャしたものを編集)
$ gyazo view (アップロードされるものを確認)
$ gyazo up (アップロード)
というイメージ。