ipfs / apps

Coordinating writing apps on top of ipfs, and their concerns.
60 stars 9 forks source link

ipfs to WebDAV bridge #31

Closed kpmy closed 8 years ago

kpmy commented 8 years ago

Hi. For the purpose of easy handling with files in unixfs i'm building a middleware for golang/x/net/webdav server that can provide read/write access to one of ipfs unixfs-dir.

https://github.com/kpmy/mipfs

For now it can handle basic file operations, there is still some trouble with locks, authorization, file properties, server-side copy/move and large files (maybe this problem can be separated from this project itself).

for testing purposes i have vds with global no registration test service http://d.ocsf.in:6001/ipfs you can try it with cadaver on linux

cadaver http://d.ocsf.in:6001/ipfs/

also you can get root hash of webdav directory.

http://d.ocsf.in:6001/hash

no guaranties, of course :smile:

jbenet commented 8 years ago

Very cool :)

On Tue, Sep 13, 2016 at 4:27 AM, κρμγ notifications@github.com wrote:

Hi. For the purpose of easy handling with files in unixfs i'm building a middleware for golang/x/net/webdav server that can provide read/write access to one of ipfs unixfs-dir.

https://github.com/kpmy/mipfs

For now it can handle basic file operations, there is still some trouble with locks, authorization, file properties, server-side copy/move and large files (maybe this problem can be separated from this project itself).

for testing purposes i have vds with global no registration test service http://d.ocsf.in:6001/ipfs you can try it with cadaver on linux

cadaver http://d.ocsf.in:6001/ipfs/

also you can get root hash of webdav directory.

http://d.ocsf.in:6001/hash

no guaranties, of course 😄

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ipfs/apps/issues/31, or mute the thread https://github.com/notifications/unsubscribe-auth/AAIcoUs_VmwQMl9OuvKbHnRnaHNYLaR0ks5qpl5ZgaJpZM4J7afa .

kpmy commented 8 years ago

Just in case, is there any analogue of go-ipfs-api.Shell inside go-ipfs, without http api in between?

jbenet commented 8 years ago

Yeah, this is the core packages. They need some work/love to be nicer, but you can do everything there.

On Sun, Sep 18, 2016 at 3:22 AM, κρμγ notifications@github.com wrote:

Just in case, is there any analogue of go-ipfs-api.Shell inside go-ipfs, without http api in between?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ipfs/apps/issues/31#issuecomment-247800161, or mute the thread https://github.com/notifications/unsubscribe-auth/AAIcobWdu4vm1PpViTVVMgLMoZNjJApqks5qrD3xgaJpZM4J7afa .

ghost commented 8 years ago

Actually what your looking for is the Core API, but for go-ipfs it's still a work in progress: https://github.com/ipfs/go-ipfs/issues?utf8=%E2%9C%93&q=milestone%3A%22IPFS%20Core%20API%22%20

kpmy commented 8 years ago

It feels great, thnx.

kpmy commented 8 years ago

For now I'm using go-ipfs-api, that interacts with ipfs daemon over http rest api. It looks that frequent requests to API become a bottle neck for webdav middleware.

kpmy commented 8 years ago

Well, after some optimisations the situation become quite better, but then I put IPFS_REPO on a ram-disk and it was like I'm in heaven. IO does matter.