![]() |
|
File sharing system - Printable Version +- Sinisterly (https://sinister.li) +-- Forum: Coding (https://sinister.li/Forum-Coding) +--- Forum: Coding (https://sinister.li/Forum-Coding--71) +--- Thread: File sharing system (/Thread-File-sharing-system) |
RE: File sharing system - Sikom - 11-14-2014 I currently have a 1tb exsternal drive if thats to any help? just got it from family member
RE: File sharing system - Sikom - 11-15-2014 Have you started yet or are you waiting on something? RE: File sharing system - Cake - 11-15-2014 (11-14-2014, 09:43 PM)3SidedSquare Wrote: Am I missing something, or is this just Bittorrent Sync? i was about to say the same thing. RE: File sharing system - roger_smith - 11-15-2014 sounds interesting. I was thinking of doing some kind of private tracker for SL members. RE: File sharing system - ShawnReynolds - 11-15-2014 I think this is a good idea, though I would not be able to host any of the nodes. RE: File sharing system - phyrrus9 - 11-19-2014 I have, in fact, started. I can pop up a github repository and we can all contribute. Just let me set one up https://github.com/phyrrus9/slc it is done. The code has yet to be started, but I think we can all start on it now. RE: File sharing system - 3SidedSquare - 11-19-2014 (11-19-2014, 09:07 PM)phyrrus9 Wrote: 00 Register slave nodeMay I suggest support for IPV6? RE: File sharing system - phyrrus9 - 11-20-2014 uhm....i would prefer not...Things are just easier without it. RE: File sharing system - Dong - 11-23-2014 (11-14-2014, 06:13 PM)phyrrus9 Wrote: Okay, this sparked an idea to me. We don't really have a way to send large files to each other. So, why dont we all chip in and write a system (somewhat like torrents) in which a user uploads a file to the master node. The master node then breaks up the file into pieces (a maximum size like 2mb will be used per chunk), and then distributes each piece to 3 nodes. When a user wants to download the file, it queries the master node for a list of pieces, and the master node gives out the s/list/count of pieces. After that, the client can query the master node for an individual piece, where the master will then send back (chosen by random) one of the slave nodes containing that piece. Then, the client can query the slave node to download the piece. This way, we can keep speed, save drive space, and even have secure file transfers all with a REALLY simple program. It actually sounds like a good idea... however, I'd definitely question the integrity of said file after it has been uploaded... sounds like a very easy way to spread some malicious software. In a system like this, the master node (who we will assume is reliable) should probably keep note of the slaves who possess the pieces of the file (as you said) and in addition to that, some sort of checksum value generated by a function. The master will then use this checksum value to verify the integrity of the data being transferred. Also, will the downloads be simultaneous? Or will the client download from one node, then another, then another, etc.? I say this because you also need to ensure that the files don't become corrupted. The files have to be joined back together in the correct order, even if they're not downloaded in said order. So I'm guessing the slaves will need to keep track of which piece they have as well... Another idea, would be to make sure that all of the nodes are online before initiating a transfer... just so that the client doesn't end up getting half of a file to then realize that a node is offline. RE: File sharing system - phyrrus9 - 11-24-2014 (11-23-2014, 12:37 AM)Aristotle Wrote: It actually sounds like a good idea... however, I'd definitely question the integrity of said file after it has been uploaded... sounds like a very easy way to spread some malicious software. In a system like this, the master node (who we will assume is reliable) should probably keep note of the slaves who possess the pieces of the file (as you said) and in addition to that, some sort of checksum value generated by a function. The master will then use this checksum value to verify the integrity of the data being transferred. Go take a look at the code already on the github. All of those features are already present. |