Windows用WebDAVクライアントです。 おまけでFTPやSkyDriveもできます。
VistaのWebDAV実装があまりにひどくて使い物にならないので、 VBや.Netの勉強も兼ねて適当に作ったシングルペインのWebDAVクライアントです。
いまさら、という感じですが、いまだにまともなのがないので仕方ありません。
なるべく余計な事はしないように作っています。
調べた範囲では、最もきちんと多言語に対応しています。 調べた範囲では、最もたくさんの認証方式に対応しています。
FTP/FTPSにも対応しています。
SkyDriveにも対応しています。
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,SPNEGOくらいです。
WebDAVとFTPと別のクライアントを使うのは面倒だと思ったのでFTP/FTPSもできるようにしてみました。 ついでにSkyDriveにも適当に対応してみました。 どうせならGoogleDocsにも対応してみようとしましたが、アップロードAPIが有料なことに気づいて投げ出しました。
ダウンロードは対応しているサーバーが多い。 アップロードは対応してないサーバーが多い。 インターフェースを作るのがめんどくさい。 同じファイル名があったら聞けばいいのか? (その場合ロックしないとやばい)
PUTしてPROPPATCHするのに、いちいちLOCKすべきか?
公開されてるモジュールが私にはコンパイルできない。 なのでMutualAuthに対応したDAVサーバーが作れない。 なので実装しても動作確認ができない。 なので対応できない。
リダイレクトされたフォルダへアップロードするときにたぶんURIを間違えます。
ダウンロード時にエラーが起きても止まらないようにしたい。 エラーとか正常とか、送受信の結果の一覧が欲しい。
サーバーがクライアント証明書を要求しているのかどうか、判定する術が見つかりません。 なので、必要になったら証明書を選択する、というのができません。 あきらめて全てのクライアント証明書を送っていますが、 これは明らかにセキュリティ上のリスクです。
一応実装した。 動作確認したくてもプロキシを使ってるサーバーが手元に無い。 正常に動作するという報告が1件。 正常に動作しないという報告が1件。 FTPのプロキシにいたっては1回も動かしてみていません。
多種多様なサーバーがあるのでどうしていいのかわかりません。
ルートフォルダがDAVで公開されていないので、ルートフォルダ直下にフォルダを作成できません。 My Documents以外なら、移動やリネーム、削除は出来ます。 ファイルの名称によってはSkyDrive側の制限でアップロードできません。 その他いろいろ禁止されてたりして、いろいろできません。
WebDAVサーバーからファイルをダウンロードしたりアップロードしたりするソフトです。 WindowsのWebフォルダのようなものです。
Webフォルダがうまく動かないからです。
GUIオブジェクトの数が増えると管理が大変になるからです。
いつか、違うソフトとして作ります。 これはシンプルなクライアントということで。
コードはあんま綺麗じゃないけど、ひどく醜いことはしてないつもり。 .Netだから初回起動はかなり重いかな。
私もそう思います。
今のところ私には必要ないので。
CarotDAVはOSの証明書ストアを使って認証してます。 独自CAが発行したサーバー証明書を使う場合は、 クライアントPCの証明書ストアに独自CAの証明書を登録しないと警告が出ます。
CarotDAVはサーバーから返されたものをそのまま表示します。 表示されない場合はサーバーが送っていません。 無いものはどうにもできないので、サーバーの設定をみなおしましょう。 仮想ディレクトリやシンボリックリンクを返せないサーバーもあるようです。
2003ならWebDAVの許可(XP、2000ならそのまま)、 ルートフォルダの読み取り、書き込み、参照を許可。 ISAPIを全部無効にして、 匿名アクセスを許可すれば大抵はつながります。 世界中から、誰にでも。
大抵はまるのは拡張子のマッピングです。 拡張子とアプリケーションのマッピングがあると、 ファイルがGETされる前にアプリケーションで処理されてしまうので、 WebDAV用フォルダでは無効にしておきましょう。
dav_moduleとdav_fs_module(必要なら各種authモジュール)のLoadModuleを忘れなければ 大抵は動くのでは?
04WebServerのDAV実装はRFCに準拠していません。また、いろいろな所に不具合があります。 [Setting]→[Advanced]→[Don't Update Property]にチェックを入れれば、ある程度は動きますが、 更新日時などがおかしくなります。 リダイレクトもうまく動きません。 フォルダとファイルの判定も間違えます。 RFC準拠したままの対応はできなかったので、あきらめました。 うまく動いたらラッキーだと思ってください。
WebDAVクライアントをFTPクライアントでサーバーに上げるのは なんかおかしいなぁと感じたのでFTP/FTPSも対応してみました。 SFTPはできません。
WebDAVアクセスできるようなので、Passport認証に対応するついでに対応してみました。 が、かなり限定されたDAV実装で、いろいろ問題があります。
削除できないファイルは一度「^_TrashBox」というフォルダに移して、フォルダごと削除しています。 「Use Folder to Delete Undeletable Files」を無効にするとこの振る舞いを無効にすることができます。
サイズの大きいファイルは自動で分割します。 ファイル一覧では一つのファイルに見え、ダウンロード時も自動で結合します。 実際には末尾に「^_1」「^_2」のような文字列をつけたファイルに分割してアップロードしています。 「Auto Split/Combine Files」を無効にする分割をやめ、自動結合もやめます。 分割されたファイルも確認できます。 当然、Webインタフェースでは自動で結合されません。 ファイルは単純に切っているだけなので、ファイル名の順番に繋げれば元のファイルが再現できます。
使いたかったんですが、アップロードAPIが有料サービスなので私には使えませんでした。 貧しいので。
「file://host/path」の形式でローカルやWindows共有のファイル・フォルダにアクセスできます。 CarotDAVを使わなくてもUNC形式でExplorerからアクセスできるので、ほとんど意味がありません。 Explorerが生理的に使えない人、UNC形式の円記号が気持ち悪い人などはご活用ください。
濁点などが変なのであれば、[Setting]→[Encoding]→[Download Filename Normalization]で[NFC]に。
ダウンロードは自動で適切なアルゴリズムを選んで伸張します。 IISのRFC非準拠な圧縮にも対応してます。 圧縮してダウンロードしたくない場合は[Setting]→[Advanced]→[Don't request gzip coding]/[Don't request deflate coding]で。
HTTPの規格上、アップロードは自分でアルゴリズムを設定する必要があります。 [Setting]→[Advanced]→[Upload Compression]で。 gzipとdeflateに対応していますが、deflateに対応したサーバーを見たことがありません。 また、アップロードの圧縮に対応したサーバー自体殆どありません。
そんなこと言われましても。 iPhone持ってないのでわかりません。 誰かがタダでくれるなら動作確認します。 たぶん、[Setting]→[Advanced]→[Don't Update Property]にチェックを入れないと動かないかと。
ピーマンよりは描くのが楽だったからです。
そう?
仕様です。連絡をくれれば直すかも。
WebDAV自体が消え行くもの、というのは別に構わない、 というか、むしろさっさと消えて欲しいんですが、 消えるなら代替品を用意してから消えて下さい。
RFC2616準拠のRFC1950形式(zlib形式)およびRFC2616非準拠のRFC1951形式(deflate)を自動選択。
RFCでは既定の文字コードはISO-8859-1だが、text/xmlに関してはutf-8を既定に。
ステータスバーの追加。コンテキストメニューの追加。 アップロード/ダウンロードフォームを邪魔にならない位置に表示するように。 URI入力をToolStripに変更。Back、Forwardボタンなどを追加。その他。
順番は適当です。
一応、登録してます。
公開してすぐ、まだまともに動かないうちから絶賛して紹介してくれたページです。
WebDAVの仕様。
古いWebDAVの仕様。obsolete。
HTTP1.1の仕様。
WebDAV総本山。
IETFのワーキンググループ。ずいぶん更新されてない。
日本のWebDAV総本山らしいが、さびれてて価値なし。
FTPの仕様。
FEATの仕様。
FTPSの仕様。
IMAP4rev1の仕様。
メールやニュースの仕様。
Passport認証の仕様。
SkyDriveのSOAP仕様。
DAVクライアントは他に以下のようなものがあります。
どっちもまともに動かない。Web Folderのパッチを当てるとかなりまし。
エラー表示が無いのでデータを消す事2~3回。フリーだし、前はこれをつかってました。 いまでもCarotDAVが動かない時はまずこれを試します。
フリーもあります。 TeamFileを使うなら圧縮してくれる。NSE。私の場合、アンインストールがうまくいかなかくてルートにフォルダが残ったまま。うざい。
有料。XP時代はこれだった。
よくわからん。ネットで拾ってくればいいらしいが、使ってない。
使ったことが無いので詳細は不明。NSEだと思うが。
よくわからない。
Java製。スタンドアロン。
シェアウェア。スタンドアロン。
Javaによる実装。
どれもなかなかちゃんと動きません。
ドライブマウント。無料!。 WebDAV/SFTP/Amazon S3/SkyDrive/Azureなど、いろいろなストレージに対応。 でも、肝心のDAVがきちんと動かない…。 壊れたキャッシュをアップロードするのはやめて。