Windows用WebDAVクライアントです。 おまけでFTPやSkyDrive、DropBoxなどにも接続できます。
VistaのWebDAV実装があまりにひどくて使い物にならないので、 VBや.Netの勉強も兼ねて適当に作ったシングルペインのWebDAVクライアントです。 いまさら、という感じですが、いまだにまともなのがないので仕方ありません。
調べた範囲では、最もきちんと多言語に対応しています。 調べた範囲では、最もたくさんの認証方式に対応しています。
WebDAVのほか、FTP/FTPS、SkyDrive、Dropboxなどにも対応しています。 GoogleDocs、IMAPなどは読込だけ可能です。
アップロード/ダウンロードのレジューム、自動分割、ファイル名と内容の暗号化が可能です。
注意事項
アルファ版もベータ版も安定版も区別してません。 お好きなのをどうぞ。 「自分で必要があって使う=デバッグ」なので、 版によってはひどいバグを内包しています。 アップデートして数時間後に再アップデート、とかもよくあります。
古い版が欲しい方はURIを直接指定してダウンロードしてください。
このソフトは無料で利用して構いません。 今後有料化の予定もありません。 ご自由にお使いください。
2次配布、商用利用、改造、リバースエンジニアリングなどもご自由にどうぞ。 ソースコードはコメントが恥ずかしいので置いていませんが、 欲しい人にはお渡しできます。
何人かの意識の高い方から要請がありましたので、 PayPalによる寄付を受け付けることにいたしました。
寄付は「このサイトに対する支援」として頂きます。 サーバー維持費、証明書取得・維持費、開発環境構築・維持費に用います。 明細を公表する予定はありません。 必要を上回った場合は公益機関に寄付し、その旨をサイト内で報告します。 寄付により得られる特典はありません。
寄付は以下のボタンから行えます。 なにか特記事項があれば、通信欄に記載ください。
VistaのWebDAV実装があまりにひどくて使い物にならないし、 WindowsのDAVクライアントが見当たらないので仕方なく作成しました。 もっといいクライアントがあったら教えてください。 もしくは、もっといいクライアントを作ってください。
残念ながらWindows7でもWebDAVはダメダメでした。 もっといい規格を作って下さい。
.Net Frameworkを使って適当に作ってます。 なので痒いところに手が届きません。 痒いところを掻こうと頑張るとバグの嵐です。
DAV class 1および3で動作します。 きちんとLOCKすると、エラーを返すサーバーが多いため、 LOCK/UNLOCKメソッドはリクエストしません。
リソースの作成日時、更新日時は本来DAVでは更新できません。 「urn:schemas-microsoft-com:Win32CreationDate」、「Win32LastModified」プロパティを 変わりに用いています。 この動作はWindowsのwebフォルダ互換の動作です。
MS-Author-Viaの類の非標準な仕様は、 なるべく使わない、依存しない、という方針にしています 困った場合のみ実装します。できればオプションで。 設定を全部はずした状態が最もRFC準拠、もしくはシンプルな振る舞いになるように作っています。
調べた範囲内では、他のどのクライアントよりもきちんと多言語対応しています。 ですが、エンコードの自動判定はありません。 自分で設定する必要があります。
調べた範囲内では、他のどのクライアントよりもたくさんの認証方式に対応しています。 ですが実際に使うのはBasicとDigestくらいです。
WebDAVとFTPと別のクライアントを使うのは面倒だと思ったのでFTP/FTPSもできるようにしてみました。 ついでにSkyDriveにも適当に対応してみました。 どうせならGoogleDocsにも対応してみようとしましたが、アップロードAPIが有料なことに気づいて投げ出しました。 Dropboxはシンプルなので簡単でした。 Box.NetはIDでアクセスするので無理でした。
大きいファイルがアップロードできないサーバーを使ったり、 誰かわからない他人に覗かれるのが嫌な時などのために、 自動分割機能と暗号化機能、さらにレジューム機能を付けましたが、 レジュームによるアップロードは、対応していないサーバーではファイルが消える恐れがあります。 ご注意ください。
PUTしてPROPPATCHするのに、いちいちLOCKすべき?
公開されてるモジュールが私にはコンパイルできない。 なのでMutualAuthに対応したDAVサーバーが作れない。 なので実装しても動作確認ができない。 なので対応できない。
ダウンロード時にエラーが起きても止まらないようにしたい。 エラーとか正常とか、送受信の結果の一覧が欲しい。
大文字と小文字を勝手に変換してしまうようなプロトコル・サーバーの場合、ファイル名の暗号化をすると読めなくなります。 base64はダメか…
サーバーがクライアント証明書を要求しているのかどうか、判定する術が見つかりません。 なので、必要になったら証明書を選択する、というのができません。 あきらめて全てのクライアント証明書を送っていますが、 これは明らかにセキュリティ上のリスクです。
一応実装した。 動作確認したくてもプロキシを使ってるサーバーが手元に無い。 正常に動作するという報告が1件。 正常に動作しないという報告が1件。 FTPのプロキシにいたっては1回も動かしてみていません。
多種多様なサーバーがあるのでどうしていいのかわかりません。
ルートフォルダがDAVで公開されていないので、ルートフォルダ直下にフォルダを作成できません。 My Documents以外なら、移動やリネーム、削除は出来ます。 ファイルの名称によってはSkyDrive側の制限でアップロードできません。 その他いろいろ禁止されてたりして、いろいろできません。
DropboxにアクセスするにはOAuth用のConsumerKey(AppKey)が必要ですが、 2010/12/1現在、Dropboxはデスクトップ向けのアプリケーションにConsumerKeyを発行していません。 (つまりデスクトップ向けアプリケーションは作れない。) 開発者向けとしては開発者サイトから入手可能で (「My apps」->「Create an App」でアプリケーション登録後、該当アプリを「Options」で開いて「App Key」の項)、 これを用いるとCarotDAVをDropboxクライアントとして使えるようになります。
はい。そうですね。
WebDAVサーバーからファイルをダウンロードしたりアップロードしたりするソフトです。 WindowsのWebフォルダのようなものです。
Webフォルダがうまく動かないからです。
GUIオブジェクトの数が増えると管理が大変になるからです。
いつか、違うソフトとして作ります。 これはシンプルなクライアントということで。
コードはあんま綺麗じゃないけど、ひどく醜いことはしてないつもり。 .NetだからXPだと初回起動はかなり重いかな。
私もそう思います。
今のところ私には必要ないので。
CarotDAVはOSの証明書ストアを使って認証してます。 独自CAが発行したサーバー証明書を使う場合は、 クライアントPCの証明書ストアに独自CAの証明書を登録しないと警告が出ます。
CarotDAVはサーバーから返されたものをそのまま表示します。 表示されない場合はサーバーが送っていません。 無いものはどうにもできないので、サーバーの設定をみなおしましょう。 仮想ディレクトリやシンボリックリンクを返せないサーバーもあるようです。
RFC4918に対応していないサーバーの場合、 [Setting]→[Advanced]→[Send full URI in "Destination" header]にチェックを入れます。 このオプションを有効にするとリバースプロキシ内にあるサーバーで問題が生じます。
2003ならWebDAVの許可(XP、2000ならそのまま)、 ルートフォルダの読み取り、書き込み、参照を許可。 ISAPIを全部無効にして、 匿名アクセスを許可すれば大抵はつながります。 世界中から、誰にでも。
大抵はまるのは拡張子のマッピングです。 拡張子とアプリケーションのマッピングがあると、 ファイルがGETされる前にアプリケーションで処理されてしまうので、 WebDAV用フォルダでは無効にしておきましょう。
dav_moduleとdav_fs_module(必要なら各種authモジュール)のLoadModuleを忘れなければ 大抵は動くのでは?
04WebServerのDAV実装はRFCに準拠していません。また、いろいろな所に不具合があります。 [Setting]→[Advanced]→[Don't Update Property]、 [Setting]→[Advanced]→[Send full URI in "Destination" header]、 [Setting]→[Advanced]→[Don't veryfy Content-Range header]、 [Setting]→[Advanced]→[Follow redirecion only for collection] にチェックを入れれば、ある程度は動きますが、不具合があります。 うまく動いたらラッキーだと思ってください。
エンコーディングを間違っていなければ、サーバーが腐っているか、臆病者かのどちらかです。 IIS7は臆病者なので無理です。
ダウンロードは自動で適切なアルゴリズムを選んで伸張します。 IISのRFC非準拠な圧縮にも対応してます。 圧縮してダウンロードしたくない場合は[Setting]→[Advanced]→[Don't request gzip coding]/[Don't request deflate coding]で。
HTTPの規格上、アップロードは自分でアルゴリズムを設定する必要があります。 [Setting]→[Advanced]→[Upload Compression]で。 gzipとdeflateに対応していますが、deflateに対応したサーバーを見たことがありません。 また、アップロードの圧縮に対応したサーバー自体殆どありません。
濁点などが変なのであれば、[Setting]→[Encoding]→[Download Filename Normalization]で[NFC]に。
WebDAVクライアントをFTPクライアントでサーバーに上げるのは なんかおかしいなぁと感じたのでFTP/FTPSも対応してみました。 SFTPはできません。
WebDAVアクセスできるようなので、Passport認証に対応するついでに対応してみました。 が、かなり限定されたDAV実装で、いろいろ問題があります。
削除できないファイルは一度「^_TrashBox」というフォルダに移して、フォルダごと削除しています。 [Setting]→[Use Folder to Delete Undeletable Files]を無効にするとこの振る舞いを無効にすることができます。
ファイルの拡張子によっては直接アップロードできません。 違う拡張子でアップロードして、その後変更しています。 [Setting]→[Use Extension Rename]を無効にするとこの振る舞いを無効にすることができます。
開発者向けのConsumerKey/Secret(AppKey/Secret)を入手すれば使えます。
使いたかったんですが、アップロードAPIが有料サービスなので私には使えませんでした。 貧しいので。
「file://host/path」の形式でローカルやWindows共有のファイル・フォルダにアクセスできます。 CarotDAVによって分割や暗号化されたファイルを元に戻すときなどに使います。
レジュームは中断された作業を途中から再開する機能です。 プロトコルやサーバーによっては、ダウンロードやアップロードでレジュームを使えます。 ですが、WebDAVやHTTPでのレジュームアップロードは問題があり、大抵うまく動きません。 バグが怖い人は使わないように。 ダウンロード・アップロード共に、転送が中断されたかどうかの判断はファイルサイズのみで行っています。 同じ名前のファイルをアップロード・ダウンロードしようとするとレジューム可能と判断されてしまいます。
大きいファイルを自動分割してアップロード/ダウンロードする機能です。 [Setting]→[Special]→[Auto split/combine files]で有効にできます。 いい加減に作っているのでバグが怖い人は使わないように。 有効にした場合、通し番号のついた一連のファイルに分割しながらアップロードします。 また、通し番号のついた一連のファイルを一つのファイルとして連結しながらダウンロードします。 自動分割機能が有効な場合、プロトコルやサーバーサポートしていなくても分割ファイル単位でのレジュームが可能です。 連番が欠けた場合、欠けたファイル以降は自動結合されません。
ファイル名とその内容を暗号化して保護する機能です。 [Setting]→[Special]→[Encryption]で有効にできます。 いい加減に作っているのでバグが怖い人は使わないように。 有効にした場合、ファイル名とその内容を暗号化し、ハッシュを計算しながらアップロードします。 ダウンロード時には内容を復号し、ハッシュを確認してダウンロードします。 フォルダ名は暗号化されません。
monoのHTTPスタックはMS製と違いすぎるので対応できません。 linuxならfuseでマウントとかおいしい手があるはずです。
プロトコルや実装の都合上、WebDAVの更新日時は全く当てになりませんが、いいですか?
失敗したときどうなっちゃうかわかりませんが、いいですか?
私もそう思います。
私もそう思います。誰も作ってくれないので作りました。
ピーマンよりは描くのが楽だったからです。
そう?
仕様です。連絡をくれれば直すかも。
WebDAV自体が消え行くもの、というのは別に構わない、 というか、むしろさっさと消えて欲しいんですが、 消えるなら代替品を用意してから消えて下さい。
RFC2616準拠のRFC1950形式(zlib形式)およびRFC2616非準拠のRFC1951形式(deflate)を自動選択。
RFCでは既定の文字コードはISO-8859-1だが、text/xmlに関してはutf-8を既定に。
ステータスバーの追加。コンテキストメニューの追加。 アップロード/ダウンロードフォームを邪魔にならない位置に表示するように。 URI入力をToolStripに変更。Back、Forwardボタンなどを追加。その他。
順番は適当です。
一応、登録してます。
公開してすぐ、まだまともに動かないうちから絶賛して紹介してくれたページです。
窓の杜で紹介・登録されています。
driveeでの使用方法があります。
WebDAVの仕様。
古いWebDAVの仕様。obsolete。
HTTP1.1の仕様。
WebDAV総本山。
IETFのワーキンググループ。ずいぶん更新されてない。
日本のWebDAV総本山らしいが、さびれてて価値なし。
FTPの仕様。
FEATの仕様。
FTPSの仕様。
IMAP4rev1の仕様。
メールやニュースの仕様。
DropboxのAPIおよびConsumerKeyの発行
Passport認証の仕様。
SkyDriveのSOAP仕様。
2010/12/6現在、DAVクライアントは他に以下のようなものがあります。 WebがほぼUTF-8に移行したため、エンコード関連での問題は減りましたが、油断してはいけません。 大切なファイルを消してしまわぬよう、ご注意を。 以下、不具合などはすべて私が自分で確認したものですが、 たくさん使ったクライアントほど、不具合をたくさん見つけられることにご留意ください。
私のオススメは以下の通り。
Windowsについてくるもの。もしくはOfficeを入れると追加されるもの。 Web Folderのパッチを当てるとかなりましだが、いろいろ制限がある。 自己証明書の類(オレオレ証明書)が使えなかったり、証明書が信頼できない場合につなげない。 標準で500MByte、レジストリをいじっても2GByteまでしか使えない、など。 確認した限りではXP 無印~SP3、Vista、2008、7の全てで実用に耐えない。 XPが一番動くようだが…、新しい方が動かないというのは変なので、何か爆弾があるのかもしれない。
フリー。 インストール無しで使えるので手軽でいい。 Ver.0.0.16では以下の問題がある。
フリー。 NSE(Name Space Extension)。 Ver.2.0.119では…
有料。 ドライブマウント。 XP時代はこれだった。当時は不自由を感じていなかった。 最近はVistaでも7でも動くらしいが、使っていないのでわからない。
上記WebDriveの元らしい。 ネットで拾ってくればいいらしいが、使っていないのでわからない。
フリー。 スタンドアロン。 WebDAV/FTP/SFTP。 軽くて高機能。 Ver.3.2.3では…
ドライブマウント。 WebDAV/SFTP/Amazon S3/SkyDrive/Azureなど。 マウントしたファイルを必要な時にダウンロードしてキャッシュしてくれるはずなのだが…。 Ver.2.3.432では…
フリーでも使える? SSH1/2、SFTP、WebDAV、FTP。 スタンドアロン。 使いやすそうだがVer.2.8.4は私の環境では全く動かなかった。
よくわからないうちになくなってしまったっぽい。
フリー。 Java。スタンドアロン。 更新されていない。
フリー。 Java。スタンドアロン。 更新されていない。
クライアントが入っているらしい。
ドライブマウント。 私の環境では動かない。
FTP/FTPS/SFTP/Amazon S3/WebDAV スタンドアロン。 私の環境では動かない。
FTP/FTPS/SFTP/WebDAV ブラウザ上のApplet、もしくはスタンドアロン。 私の環境では動かない。