Close

update

A project log for Home Cloud

A Raspberry Pi based distributed file and service platform.

dannyDanny 03/11/2015 at 16:330 Comments

This project isn't dead (though updates are few and far between).

It's taken a bit of a back seat to life at the moment.

Thus far completed is:

Posix compliant directory listing, this enables both "server" and "client" to look into the directory structure and "see" what files are currently on the device that need to be replicated.

(however I developed this on windows and the file size and file name length is not posix compliant and will not compile with the headers in Debian/rasbian)

Address lookup - enabling clients to register themselves with gateway servers as available file hosts.

Geoip lookup of servers is in progress using freegeoip.net to have clients directed to "close" possible mirrors. -however for CDN this may be dropped, as the main server (e.g. www.test.com) needs to lookup the client address.

and then match that to a location country, then point the client to mirrors in that country. (I've got concerns over whether this is the best way to do this, or whether a better way could be sought using GeoDNS -the thing that stops me wanting to use geodns is the need for people setting up networks to essentially install and configure bind. -for most people who really just want a nice way to keep files backed up at work and replicated to home setting up bind and geoDNS and all the associated services would just be a huge pain.

Dynamic DNS registration is in progress. - e.g. automatically updating a no-ip.com account. or clients checking their own IP address and automatically telling other servers that they exist at a different location.

Nothing is ready for release at this time however:

the code needs to be cleaned up, properly commented, and there is as yet no security at all.

All actions must be traceable for each network node (whether that node is a server or a client).

As there will be machines saying, for this website you may get content from Alice at a.a.a.a or Bob at b.b.b.b, there must be a way for Alice to say, "Alice got a new IP which is c.c.c.c, -replace a.a.a.a with c.c.c.c for future use" but not for David to impersonate Alice and say "Alice is now on d.d.d.d, replace c.c.c.c with d.d.d.d for future use."

So essentially, code is coming along... slow and steady.

Discussions