Pogoplorer
Pogoplorer とは
Pogoplug の WebAPI を利用した、エクスプローラーライクな Pogoplug クライアントです
動作環境
Windows 10/8/7/Vista
特徴
- エクスプローラーライクなインターフェイス
- 複数セッションを利用して、経由サーバが原因のボトルネックを軽減(あやしい機能1)
- ダイレクトアクセス(あやしい機能2)
Ver.2 → Ver.4 での改善・変更・改悪
- キャッシュ、描画処理の効率化
- ストレージキャッシュを追加
- Copy & Paste による Pogo内、Pogo間の転送に、再ログイン追跡を追加
- Pogo内、Pogo間転送時の状態取得を改善
- 隠しファイルの表示、論理ソート
- 常にSSL通信の選択
- 言語ファイルを外部へ・表現が気に入らない場合は、Pogoplorer.lng を編集(Unicode BOM 付き)
- 速度優先のため、アップ、ダウンロードのオーバーレイ表示が無くなりました
- アプリケーションアイコンの変更 - もっとマトモなアイコン募集中(48×48程度の透過Png型式で)
- 初回起動時に公式Pogoの情報がレジストリにあれば、その情報でサインインを試みる
利用前に必ずお読み下さい
- Pogoplorer を利用して受けたいかなる損害も、作者は負いません
- Pogoplug の仕様がデバイスやバージョン毎に違い、仕様がグダグダです... お察し下さい
- 複数セッションでのダウン/アップロードは、全てのデバイスで常に利用可能ではない
Pogoplug Cloud はアップロードに対応していない
- プロキシは、ほとんど動作確認してません
BlackJumboDog でアップダウンが完了にならない(作業としては完了している)、オミトロンは普通に動いていた ←その程度のテスト
- あれ?っと思ったときは、PogoBrowser, Web 等で同じ事をやってみて下さい、もう一度あれ?と思ったら仕様です。諦めましょう
利用開始までの手順
Pogoplorer 4 のダウンロード
Pogoplorer 本体をダウンロード、解凍してファイルを適当なフォルダへ置きます
- pogoplorer4.0.15.0.win32.zip (4,409,316 byte) 32bit Ver.4.0.15.0 - 2015/03/02
- pogoplorer4.0.15.0.win64.zip (4,930,595 byte) 64bit Ver.4.0.15.0 - 2015/03/02
- 以前のバージョン...
- pogoplorer4.0.14.0.win32.zip (4,413,416 byte) 32bit Ver.4.0.14.0 - 2014/11/08
- pogoplorer4.0.14.0.win64.zip (4,932,263 byte) 64bit Ver.4.0.14.0 - 2014/11/08
- pogoplorer4.0.13.0.win32.zip (4,408,129 byte) 32bit Ver.4.0.13.0 - 2014/11/07
- pogoplorer4.0.13.0.win64.zip (4,934,448 byte) 64bit Ver.4.0.13.0 - 2014/11/07
- pogoplorer4.0.12.0.win32.zip (4,406,854 byte) 32bit Ver.4.0.12.0 - 2014/11/05
- pogoplorer4.0.12.0.win64.zip (4,926,358 byte) 64bit Ver.4.0.12.0 - 2014/11/05
- pogoplorer4.0.11.0.win32.zip (4,408,407 byte) 32bit Ver.4.0.11.0 - 2014/10/07
- pogoplorer4.0.11.0.win64.zip (4,923,696 byte) 64bit Ver.4.0.11.0 - 2014/10/07
※実行には、次項目のSSLライブラリが必要です - 正確にはサインイン処理(SSL必須)や全てSSL通信設定で使用
更新履歴 ▼全て表示
- 4.0.14.0 → 4.0.15.0 : サイズ4GB以上の並び替え不具合を修正, 上書き確認の変更(64bit版でエラー修正) - (ご指摘ありがとうございます)
- 4.0.13.0 → 4.0.14.0 : リトライの追加
- 4.0.12.0 → 4.0.13.0 : ルートへアップロードの不具合修正, Pogo内移動の高速化, 出来る限りタイムスタンプを再現させる(下の方参照), 上書き確認の柔軟化 (ご提案ありがとうございます)
- 4.0.11.0 → 4.0.12.0 : Pogoplug Cloudアップロード時にファイル更新日時を反映(Pogoplug PC, ハードPogo は、各FSの更新日時)・タイムアウト値の変更
- 4.0.10.0 → 4.0.11.0 : 記号を含むアドレスやパスワードでサインイン出来なかったのを修正(ご報告ありがとうございます)、画像プレビュー
- 4.0.9.0 → 4.0.10.0 : 64bit版、スタイルの追加、動作環境から XP を除外(今のところ動作している様子)
- 4.0.8.0 → 4.0.9.0 : キャッシュフォルダの場所を指定可能に (SSD利用の方がシンボリックリンク使用の記事を見かけて)
- 4.0.7.0 → 4.0.8.0 : 2GBを超えるファイルサイズを正しく表示できていなかったのを修正 (ご報告ありがとうございます)
- 4.0.6.1 → 4.0.7.0 : トークン保存にPINコードを追加 (USBポータブル等でご利用下さい)
- 4.0.6.0 → 4.0.6.1 : 作成日付のソートが機能していなかったのを修正
- 4.0.5.0 → 4.0.6.0 : 同時アップ/ダウンロード数が、正しく反映されない場合があるのを修正
- 4.0.4.0 → 4.0.5.0 : 1リクエスト当たりのファイル一覧取得数を設定可能に(ディレクトリ当たりのファイル数が多い方は、多めに設定)
- 4.0.3.0 → 4.0.4.0 : 複数セッションアップロードの修正, キャッシュ読み込みの表現変更
- 4.0.2.0 → 4.0.3.0 : エクスプローラへのドロップ(ダウンロードリンク生成)を実装し忘れてた
- 4.0.1.0 → 4.0.2.0 : マルチストリームの分割(結合)処理中でのキャンセル受付、ストリームキャッシュの上限設定200MB、他
- 4.0.0.0 → 4.0.1.0 : 完了したストリームの自動クリアが動作しない場合があったのを修正
SSLライブラリのダウンロード
http://indy.fulgan.com/SSL/ から
※ 下記リンクは 2015/3/2 確認のものです
libeay32.dll と ssleay32.dll を Pogoplorer.exe と同じフォルダへ置きます
つまり、下記のファイル構成で、動作します
- Pogoplorer.exe
- Pogoplorer.lng
- libeay32.dll
- ssleay32.dll
使用方法
基本操作
Windowsの基本操作に準じてますので、適当にいじってみて下さい
ダウンロード
新規ダウンロードおよび、保存場所の履歴からダウンロードを行います.
エクスプローラへのコピー&ペーストまたは、ドラッグドロップにより、ダウンロードリンクを提供します(キャッシュと同じ有効期限)
ver.4 では、ダウンロードリンクを自動削除しなくなりました(バッチとして利用できるとか、そういった理由)
アップロード
Pogoplorer へのエクスプローラーからの指定(Ctrl で複数可)、ペースト、またはドロップ
※利用するファイルサイズが大きい、キャッシュに利用するストレージが遅い等で、アップ・ダウンロード処理前後に時間がかかる場合があります。
キャッシュファイルのハッシュを比較していますので「ストリームキャッシュ」をオフにしてみてください
|
Pogoplug間の転送
ファイルのコピー(カット)&ペーストで、Pogoplug間の転送を行います
カット(切り取り)については、転送完了のキャッチにより、元のアイテムを削除します
転送途中で、Pogoplorer を終了した場合、次回サインイン時に追跡を行います(オプションでオンオフ可)
ただし、切り取り→貼り付けを行った場合、の転送元の削除は行われません
|
Pogoplug PC フリー版は、外部からの出し入れが出来なくなったので、WANをまたぐ転送は出来なくなりました
(フリーとはいえ、LAN内だけのPogoって、何の意味が...)
|
一歩踏み込んだ使い方
アップロード・ダウンロードの複数セッションによる高速化
Pogoplorer は、ファイルの部分転送と複数セッションを組み合わせて、高速に転送を行う事が可能です.
↓こんなイメージ
私の環境で、ダウンロードでのデータ破損は発見されていませんが、アップロードでデータ破損するPogo(Pogoplug Cloud)が確認されています
なので、ご利用のデバイス毎に、あらかじめご確認をオススメします
確認は、アップまたはダウンの一方向のセッションを1に固定して、アップ・ダウンで、複数回確認を行って下さい
(意味↑が分からない方は、アップロードにこの機能を利用しない方がよいです)
Pogoplugの仕様変更で、将来利用可能になったり、その逆も考えられます。仕様上、出来る事になっているような...
作成段階では、Pogoplug Cloud(5GB無料とか、有料で容量無制限のです) は、アップロード時にファイルが破損する(仕様もちょっとおかしい)ので、
デフォルトで例外Pogoバージョンへ登録してあります
[ツール]->[オプション]の「ダウンロード」「アップロード」タブの「複数セッション」でセッション数を設定して下さい
全体のセッション数は、最大で「同時ダウン(アップ)ロード数×セッション数」ですが、
ファイルをダブルクリックした場合、同時ダウンロード数とは関係なく、ダウンロードが開始されます
|
LAN上のPogoへ直接接続(LAN上にあり、ApiUrlが提供されている)や、ダイレクトアクセスでは、
複数セッションのメリットより、装置IO速度低下のデメリットが大きいため、適用されません
|
アップ・ダウン共にテンポラリフォルダへ分割ファイルを作成しますので、巨大なファイルを扱う場合は、ディスク空き容量をご確認下さい
また、セッション数分のテンポラリファイル作成を複数のスレッドから同時に行うため、 マシンやストレージのスペックにより、アップロード前処理・ダウンロード後処理に時間がかかる場合があります
|
ポータブル版の作成方法
USBメモリ等へ Pogoplorer を入れ、設定情報も同じフォルダへ作成されるポータブル版の作成方法は、
下記のファイルをUSB等の適当なフォルダへコピーします
- Pogoplorer.exe
- Pogoplorer.lng
- libeay32.dll
- ssleay32.dll
次に、Pogoplorer.exe と Pogoplorer.lng を pplorer.exe および pplorer.lng 等、Pogoplorer以外へファイル名を変更します
これで pplorer.exe を起動して、ウィンドウタイトルへ「Pogoplorer Portable」と表示されていればOK
設定ファイルは、上記の場合 pplorer.ini という名前で、exeと同じ場所へ作成されます
(要は、名前を変更したらポータブル動作になるって事)
ポータブル版においても、キャッシュは OS標準のテンポラリフォルダに作成されます.「終了時にキャッシュを削除する」等でご利用下さい
認証トークンを保存しつつ USB等の紛失に対応するための、PINコードをご利用可能です(ver.4.0.7.0以降)
|
あたりまえですが Pogoplorer 64bit版は 32bit Windows では動作しませんのでご注意ください
Pogoplorer 32bit版 は 32bit Windows および 64bit(WOW環境で) Windows 共に動作しますので、持ち歩きなどには 32bit版がよいかも
|
ダイレクトアクセス
インターネット越しに PogoplugのAPIへ直接接続します。いわゆるP2P状態です
サーバとなる Pogoplug 側へ下記の条件が必要となります
- ゲートウェイにグローバルIPが与えられ、固定IP や ダイナミックドメイン等が利用可能
- ゲートウェイ→Local Pogoplug へポートフォワーディングが設定可能
- ローカル接続で ApiUrl が提供される Pogoplug(ソフトPogo等、Pogoplug Mobile もそうじゃないかと思うけど、持ってないので分かりません)
- ソフトPogo Free版は、4.X 系まで(5.X系は、外部から ServiceId が確認できません)
尚、Pogoplug側のポートは、起動毎に変動するため、それに追従して変更が必要になります
(PogoplugのLAN側から、UPnPで穴を開けるサービスでも作ろうかと思ったり→変動するポート番号をクライアントへ伝える手段も必要)
速度UPのために作成した機能だけど、副作用でソフトPogo Free 4.x へ接続できたりする(今のところ)
設定手順(Pogoplug サーバ側)
- Pogoplug と同一LANから、Pogoplorerを利用して接続
- 対象サービスのプロパティから ApiUrl のURLがローカルIPになっているのを確認(なっていないと利用不可)
- 続いて、ApiUrl の URLからポート番号を確認 → ローカルIPと共にメモっておく
- ゲートウェイのポートフォワーディングで、上記のWANポート番号 を LANポート番号へ設定
- 外部からブラウザで、http://ホスト名(WAN IP):ポート番号 を開いて、エラーじゃ無く真っ白の画面が出ればOKっぽい
設定手順(Pogoplorer クライアント側)
- Pogoplorer で、サインインして、対象のサービス(まで)が表示されるのを確認(表示状態で、次へ進むと入力が楽)
- [ツール]→[ダイレクトアクセス]を開く
- 追加ボタンを押して、DeviceId, ServiceId(現在表示中のが入っている), Pogoplug側のホスト名とポート名 を入れて OK
- 他にもサービスがあれば、追加していく(同じデバイスでも、複数のフォルダ(サービス)を共有していれば、それぞれ行う
- サービスへ接続して、プロパティの「DirectAccess」へ「ホスト名:ポート」が入っていればOK
アンインストール
本体とDLL および、実行後に生成される下記のフォルダを削除して下さい(レジストリへの書き込みはありません)
設定ファイル
通常は CSIDL_APPDATA の Pogoplorer4 へ Pogoplorer.ini というファイル名で保存
ポータブル起動の時は、実行ファイルと同じ場所
Vista/7/8系: C:\Users\[USER]\AppData\Roaming\Pogoplorer4
XP系: C:\Documents and Settings\[USER]\Application Data\Pogoplorer4
|
キャッシュファイル(標準)
システムのテンポラリフォルダ の Pogoplorer4Temp へキャッシュや一次ダウンロードファイルを作成します
Vista/7/8系: C:\Users\[USER]\AppData\Local\Temp\Pogoplorer4Temp
XP系: C:\Documents and Settings\[USER]\Local Settings\Temp\Pogoplorer4Temp
|
作者が思った事
Pogo の技術的な問題
- コマンドに対する応答が、動作OSやバージョンで違いすぎ
- createFile で mtime を指定しても、反映されない(たしか クラシックなPogo・PogoMobile以降は改善されてるかも → ディレクトリだけ反映される)
- ファイルやディレクトリへ、日本語を指定できない Pogo があったりする - 作成は出来ても、変更はNGとか(なんだかな仕様)
- Pogoplug Cloud は、APIの仕様通りに range ヘッダが動作しない。
下記は仕様変更により put で range ヘッダが存在すると、レスポンスコード 400 を返して受け付けなくなった
PUT時の range 終端の仕様が間違っている
1) 先頭から500バイトをPUTする場合 0-499 と指定するが、0-500 と指定しなければ、末尾の1バイトが欠ける
2) range で 500-999 と指定すると、0-499が null で潰される
- copyFile を取り消すコマンドが用意されていない
- copyFile でルートへコピーする場合、dstfileid は不要と仕様に載っているが、無いとエラーになって動作しない
- getFile に path を入れてもエラーしか返さない(fileid しか使えない)
- Pogoplug PC は、listFile の maxcount より多いファイルが存在する場合、totalcount = maxcount になってしまい、全て取得できない
- API仕様が公開されていたが、ページがいつの間にか無くなっている(必要な方は差し上げます)
Pogo に欲しい機能
- getFile のレスポンスへアイテムのパスを入れて欲しい
- FileId じゃなく、パスで操作できてもいいんじゃね
- Pogo上にあるファイルのハッシュ(範囲指定のハッシュ)取得
現在の仕様では、手元のファイルと同じ物かは、ダウンロードしてみないと分からないが、ハッシュを取得できれば同期に役立てられる
また、範囲指定でハッシュを取得できれば、rangeヘッダと共に変更部分のみ PUT GET することで、トラフィックも押さえられる
If-Modified-Since なんて使えても、あまり意味が無いス、同期でそんなの信用できんし
- 接続したデバイスの障害状態を確認する手段(Web or メール等)
ストレージの論理エラーでも、デバイスへアクセス出来たり出来なかったりするので、デバイス、Pogo、クラウドエンジン、クライアントのどれが悪いのか発見しづらい。また、物理エラーも被害が大きくなるまで気付かない可能性が高い。
作者の経験: ストレージ障害(この場合は論理破損)が発生すると、ファイル一覧の取得に時間がかかったり失敗する(これが最初の兆候)。ファイルやディレクトリの生成が行えない(や生成しているのにNGが返る)、Pogo間の転送で完了していないのに完了通知が返る
定期的にストレージをPogoから外し、PCへ繋いでチェックを行うのが吉。ストレージの取り外しは、Pogoの管理画面から取り外しを行うか、SSHから killall hbwd コマンドでPogoのサービスを停止や /sbin/poweroff でPogoをシャッツダウンさせる
- サーバのトラフィックが厳しいなら、UPnPが利用できる環境にPogoがある場合、一時的にポートを開けて
そのグローバルアドレスへリダイレクトさせ、直接 GET PUT を行う(ダイレクトアクセスの事です)
その他
Pogoplorer の今後
コマンド不備等をいくらか解消するために、Ver.3系を作って自分で利用していたけど、なんか納得いかないので、Ver.4系で作り直しました。
Ver.2系と見た目は同じですが、メインの制御クラスを作り直したりしてますので、不具合等ありましたらフォームからお知らせ下さい
仕様のグダグダさや、度重なるサービス変更に、作者の神経が衰弱しています
先日、マルチアカウントのご提案を頂きました。
現在のところ1プロセス内で複数のアカウントを利用できる機能はありませんので、
複数のアカウントを利用している方は、ポータブル版(上記説明)をアカウント分フォルダ分けなどを行って利用することで、毎回サインインする手間を省くことが可能です。
2015/12/10
ハードPogo の代替関係なし(その2) - ラズパイ脱線編
2014/08/17
ハードPogo の代替考察(その1)
2014/10/26
ハードPogo 代替の RPi が順調に動作しているので、ハードPogoをオーバーホール
OpenPogo で使用していた USBメモリが以前から死にかけだったので、代わりのUSBを ext2 でフォーマットして .opt をコピー。
すっかり内容を忘れていたので、思い出しながらの作業でした。
クラッシック Pogoplug (Biz)って、LAN接続できたっけ?、アドレス確認のためにプロパティ見たら ApiUrl に値が入っていた...
2014/11/07
タイムスタンプ周りの見直しで、各Pogoへのタイムスタンプ反映を確認してみた
Pogoplug Cloud のディレクトリ: mtime = ok, ctime = ok, origtime = ok
Pogoplug Cloud のファイル: mtime = ok, ctime = ok, origtime = ok
ハードPogo のディレクトリ: mtime = ok, ctime = ok, origtime = ok
ハードPogo のファイル: mtime = NG, ctime = ok, origtime = ok
Pogoplug PC のディレクトリ: mtime = NG, ctime = ok, origtime = ok
Pogoplug PC のファイル: mtime = NG, ctime = ok, origtime = ok
※Pogoplug PC や ハードPogo で、PogoAPI 以外の方法(samba等)で追加されたファイルは origtime が存在しない
(orgitime は Pogoシステムの sqlite DB に保存されている)
|
思ったとおりのグダグダ加減(w
2015/03/02
ご利用いただいてる方々から、いろいろと宿題をいただいております.
次期バージョンのコアな部分をボチボチと作成しておりまして、
フォルダ転送で個々のファイル状態や手動開始・手動リトライ等々
同期機能も思案していますが、そもそも Pogoplug がそういった設計になっていないので、
無かったことになるか、Pogoplug Backup みたいに一方向のみとか...
著作・配布
- 配布は自由ですが、一般サイトなどで不特定の第三者へ広く配布する場合は、致命的な問題(ウィルス感染など)と、適切なバージョンの管理をお願いいたします
- 本サイトのダウンロードURLへ直接リンクを張らず、このページへ張って下さい
- Pogoplorer の著作は、作者(井谷誠)にあります
作者へのコンタクト
フォームからご連絡下さい
Pogoの仕様により、作者の神経が衰弱していますので、libeay32.dll が見つかりません libeay32 ならありますとか
ポートって何ですか?等の基本的な質問や、飛躍した要望はご遠慮ください。