SeaDrive Cache proxy server

seadrive

#1

@daniel.pan did you thinking about proxy cache server. We have our Seafile server in data center and using SeaDrive. I thought about create some proxy server in our office which cache used files so it can speed up SeaDrive file downloading and sync between computers. And if it’s not used for some(configured) time, it will be deleted and next download will go directly from classic server.

May I’m alone but I think some people may use it.

I don’t know background of communication so cannot create it.


#2

This is not possible at the moment.

A general proxy server can’t work (like Nginx reverse proxy). The proxy server doesn’t know the permission logic of Seafile server. If it caches some file blocks, how does it know whether another client have the permission to access a cached block.

So in theory, a dedicated proxy server that have the mechanism of checking permission from the original Seafile server will be needed.


#3

Yes that’s what I mean. Didn’t mean something like Apache/NGinx proxy pass, this is Feature request so I know it’s not possible for now. Just think about it, maybe wait for some response on this FR and we should first find all bugs a get final stable SeaDrive version(no offense). I’m only asking if you will thing about it and add to Long term Road Map :slight_smile:

My idea is same as you mentioned, all works just classic with normal server, but file blocks are cache so they don’t have to be downloaded from data center. There should be also check for file revision cause cached file can be old :wink:

May @DerDanilo, @Calby, @shoeper will say their idea for this cause If it will be implemented, I will use but I can be only one.


#4

This looks like lan sync, but would be easier to implement I think (e.g. the proxy would be trusted, while a client cannot be trusted). The proxy could forward requests to the primary Seafile instance and if a block is available could serve the local one instead of receiving it again (after checking the permissions on the primary server of course).


#5

Exactly what I have in my mind.


#6

@daniel.pan still not interested?


#7

I’m sorry we don’t have a plan to implement it yet.