Building your own secure storage space that mirrors Dropbox's functionality

  • TLDR: The code is at https://github.com/philcryer/lipsync

  • What I'd like to see is an easy-to-set up way to run my own version of Dropbox on a small server in my own home. It needs to have a web interface, not just rsync, because a lot of people (like me) don't have access to anything remotely like rsync on our work machines.

  • Is this just a way to trigger rsync every time a change happens to a given folder?

    Looks like this command powers it:

      rsync -rav --stats --log-file=/home/$USER_NAME/.lipsyncd/lipsyncd.log -e "ssh -l $USER_NAME -p $SSH_PORT" --delete $REMOTE_HOST:$LOCAL_DIR $REMOTE_DIR
    
    Couldn't you just toss that in a Guardfile and get the same effect?

      https://github.com/guard/guard/
    
    Or am I oversimplifying it?

  • Every time I read about the X-th "clone with Dropbox's functionality" I wonder where it will store its files. How many of the potential users have access to online storage they really control themselves? Instead of having the files on Dropbox they end up on AWS or the like. Thats because they try to copy Dropbox down to the flaw, that it doesn't encrypt files on the serverside.

    For me, any solution would have to include the capability to upload only encrypted files to the server. I know of the duplicity project, which does that for simple, manually triggered backups, but which once caused me headaches to get the data back from partially corrupted files.

  • The real selling point of Dropbox, for me, is the ability to just drag and drop files to a folder in Windows and have them be shared.

    I can also create a subfolder--then I can hit the Dropbox website and type in an email address, and voila, my files in that folder are shared with that person.

    I agree with Dropbox having security issues and would like to see a replacement. I hope this project implements the drag-and-drop functionality cross-platform. Then I could really recommend it to non-technical users (or some enterprising soul on HN could use it to build a more secure Dropbox clone for non-technical end users.)

  • While it's cool to see people replacing Dropbox with OS alternatives, this only seems to capture a fragment of Dropbox's functionality.

    How, for instance, does it deal with conflicts where files have been changed on two machines independently prior to sync? Dropbox is (somewhat) clever about it, and renames the conflicted versions - and IIRC you can resolve the conflicts manually. At least both files are available on both machines - not sure how this situation is dealt with by lipsync.

    Dropbox push-updates are immediate. Lipsync relies on a cron job to kick off a receiving file sync.

    Dropbox will sync directly between clients on a LAN - great for when teams are sometimes working in an office, and sometimes at home.

    Dropbox maintains revision history - does this?

    Dropbox has a web interface, mobile apps, etc...

    I realize that Rome wasn't built in a day, but until at least the first two points are addressed, this isn't much of a replacement.

  • THANK THE GODS

    Now let me tell you what is REALLY needed :)

    Teamwork.

    I work on a virtual team - we all work independently from our homes on client projects.

    It would be great to create the following for real enterprise version of this:

    Create an master account. /lipsync/

    Then have project/team folders under /lipsync

    /lipsync/1

    /lipsync/2

    /lipsync/3

    /lipsync/4

    Then have users A, B, C, D

    Each user can have subscriptions to the project/team folders.

    But they also have their root /lipsync/ account

    Thus I can have my lipsync account - and in that I can be on team 1 and 4 with user D

    Users B and C have subscriptions to 2 and 3 and the master server is all four.

    This is how I have been wanting dropbox to be able to accomodate a virtual company.

    You can sort of accomplish this with "shared folders" in drop-box - but because I cant have a server of my own I have to pay ....

    EDIT: Wow - they jsut came out with Teams (or I have not seen this before... but it is still $13/month per user - which isnt that bad - but you still dont have a local server.)

    Anyway, good work - I will use lipsync.

  • I dont really know what the big deal is. If you have a file that is top secret dont have it on the internet whether it be your email, in dropbox or even on your own aws/hosted server.

    Keep it on a flash drive and have it stapled to your arm if you want to transport it. For images that you want to share, or files that you kinda dont give a rats about if they were to get compromised or disappear, place them in places on the internet that match their confidentiality requirements (email - for secure, dropbox - for kinda secure or your own private server - for very secure)

    I think arguing whether a new solution is required because dropbox can't do the job or whether dropbox can keep your files safe is a moot point. If your files are on the internet they are never 100% safe. Just keep your most private files on an external hard disk and have that disk detached from your computer and the only risk you run is if someone robs your house.

    I personally think dropbox is great for what i use it for, i put images that i want to share, i transfer files to friends overseas and we all happily share our stuff easily and seamlessly and if i wanna access it i login through the browser or install a new client. WIN. No other service at the moment does it this easily for me. If any of my files where compromised, well whatever, a few holiday pictures or some itineraries.

    The legal responsibility is put on Dropbox to keep your stuff safe, but I think the "common sense" responsibility is put on the user to decide whether s/he thinks dropbox is the place for a specific file.

  • It's not even close to dropbox.

    It's supposed to have more features like detecting when a file was also changed locally and remote and create a new file from the remote file.

    It seems very fragile and I wouldn't trust it to backup my data somewhere.

  • I used rsync to sync files I was working on to a server >10 years ago. Only difference is that it can detect changes to file locally then update the server. To retrieve updates from the server, it relies on cron to poll the server, rather than implement some kind of push notifications. That said, it's always nice to ensure people are aware of what alternatives exist.

  • This approach seems to overlook the bigger picture which is that Dropbox makes sure it doesn't lose your data. Aside from that the web interface and dealing with conflicts is an important issue. Just imitating the syncing is not going to cut it, and if you're not outsourcing the storage it rather defeats the purpose of not having to worry about the data anymore.

  • People should check out Strongspace (https://www.strongspace.com/)

    Combined with their OS X app it makes a reasonably compelling alternative for mac users.

    http://blog.strongspace.com/announcing-strongspace-app-for-t...

  • The site looks exctly like http://jekyllrb.com/ . Are the project related ?

  • Or, use AeroFS and get something that actually works like Dropbox, and not what somebody who has only read a description of what Dropbox does thinks it does.

    (also, I lol'ed at "vetted by the community as being 'a good idea'" and backing that put with a screenshot of a Reddit post (of all places) where a couple of people say 'yeah that's the ticket')

  • co-incidentally, I wrote a dropbox replacement this week using AppEngine. It is just a webdav server with a simple web interface.

    I will release the code at some point this weekend

  • I'd like to see compression, anonymity and encryption built into the storage.

    And de-dupe. This is not a contrary aim from the compression, anonymity and encryption bit.

  • Try one in Ruby? https://github.com/evantahler/synchzor

  • Why would I want a login page that lets anyone login to any account without a password?

  • Thanks.

    I will propose do something like this on my work.

    Even if it's not practical, it will be fun to implement it.

  • the site is at http://lipsync.it/

  • sparkleshare is much closer to dropbox. Mac and Linux only for now, git back-end.

  • Good luck getting it to work for mobile apps built to Dropbox's API, which is my main use of dropbox.

  • I do this myself on my OpenBSD server by simply using an SFTP-only account that has its home directory set to a virtual filesystem that uses encryption through the svnd(4) node. If I want to move the entire encrypted filesystem to another server or so I just copy the file its contained in, and mount it there. Setting this up took about 5 minutes.