自分のサーバー上のGyazo

こんにちは、Habr!

画像

私の友人と私は長い間Gyazoプログラムを使用しています。



つまり、小さなプログラムを起動すると、画面上の領域をすぐに選択でき、マウスを離すとすぐにその領域がgyazoサーバーにダウンロードされ、その領域へのリンクがすぐにクリップボードにコピーされます。

ここで試すことができます: http : //gyazo.com



最近、その作成者は開発を収益化することを決定し、有料機能に加えて、非プレミアムユーザー向けの押し付けがましい広告を含めました。



最初は、画像への直接リンクがクリップボードにコピーされたのではなく、広告のあるページへのリンクがコピーされました。 その後、直接ファイルに完全にアクセスできなくなりました。



gyazoはオープンソースプロジェクトであるため、広告なしで自分用のバージョンを作成することにしました。

カットの下の詳細。



1.イメージのサーバー設定。



PHPをサポートするWebサーバーが必要です。 元のサーバー側スクリプトはCGIであり、PHPを使用することにしました。



スクリプト自体は次のとおりです。



<?php $uri = "http://vps.yurganov.ru/gyazo/"; if(isset($_FILES['imagedata']['name'])) { $path = 'i/' . substr(md5(time()), -28) . '.png'; if(move_uploaded_file($_FILES['imagedata']['tmp_name'], $path)) { echo $uri , $path; } else{ echo $uri; } } else { echo $uri; } ?>
      
      







どうやら、超自然的なことは何もない。



プログラムによってファイルを送信しようとすると、スクリプトはファイル名を文字セット(一意性-md5 +時間())に変更し、スクリーンショットへのリンクも返します。



同じフォルダではなく、i /フォルダに画像を配置することにしました。このフォルダには権利777が割り当てられています。



2.クライアント部分の準備。



2.1 Windowsアプリケーション



WindowsアプリケーションはC ++で記述されており、使用するイメージサーバーの指示はプログラムコードに直接記述されています。 毎回再コンパイルしないようにするため、設定をiniファイルから取得するgyazowinのポーランド語基本とすることにしました。



 ; Set up gyazo on your own server using ; ruby: http://github.com/gyazo/Gyazo/tree/master/Server/ ; php : http://benalman.com/news/2009/10/gyazo-on-your-own-server/ [Configuration] SERVER = gyazo.com PATH = /upload.cgi
      
      





彼のコードはすぐに動作したくないので、少し調整しました。



ここで、iniファイルを使用して既にコンパイルされたバージョンをダウンロードできます



サーバーを使用するには、設定で次を指定する必要があります。



 [Configuration] SERVER = [ ] -   ip-     PATH = /upload.php -     
      
      





元のアプリケーションを使用して 、自分で調整することもできます。 (gyazowin.cppファイルでSERVER行とPATH行を見つけ、上記のように置き換えます)



2.2 Mac OSアプリケーション



Macバージョンでは、すべてがよりシンプルになりました。外部ファイルは既に使用されており、サーバーへのパスが保存されています。



Gyazo for Macを公式サイトからインストールし、次に/Applications/Gyazo.app/Contents/Resources/にあるスクリプトファイルを次のように編集する必要があります。

 HOST = 'your domain' CGI = '/upload.php' -    
      
      





その後、通常どおり作業を続行します。



2.3 Linux-アプリケーション



Gyazo for Linuxのインストール手順



サーバーへのパスもそれぞれ、rubyスクリプトで変更する必要があります。



そして、何を勝ち取りましたか?



画像 インスタント作業速度

画像 広告の欠如

画像 あなたの側で作成されたすべてのスクリーンショット

画像 サーバーの空き容量を考慮する必要があります(1年間、約200MBを使用しましたが、これは通常、1回の使用ではあまり多くありません)

画像 あなたの友人はあなたがあなたの画像にアクセスできることを恐れているので、あなたのソリューションを使用したいとは思わないでしょう





私のサーバーでの作業速度を評価できます(habraeffectの下で曲がらないことを望みます)。

http://vps.yurganov.ru/gyazo/

注:作成されたすべてのスクリーンショットは、5分ごとにcronによって削除されます。



PSファイルギャラリー



ダウンロードしたすべてのファイルを時系列で表示するギャラリーは、 ここにあります



ダウンロード: http : //vps.yurganov.ru/gyazo/distr/gallery.zip



(アーカイブ内のインストール手順)



All Articles