graphicsmagick

Members
  • Posts

    23
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by graphicsmagick

  1. No, it's not the same as encrypted secrets. Think of this idea as a secret that you can hand out to others (even strangers). Files are segregated between users of the "Deposit" secret.

    I've outlined the modus operandi in details in my original post. I also wrote an "email address" analogy which I won't repeat here.

    Here's a potential use case:

    A tech startup is organising a design competition for the the 21st century's toaster. Being a startup on a shoestring, the organisers decided to let contestants submit their work using BitTorrent Sync. The organisers produced a poster for the competition, with a BTSync QR code printed on it. In a perfect world, it would be OK to print the normal BTSync full-access QR code. However, the world isn't perfect and there're problems with using a full-access secret:

    1. Anyone can see everyone's files. That ensures endless arguments of who plagiarised whose design

    2. Malicious users / vandals can easily modify / delete the files

    With the "Deposit" secret, both problems are solved by complete segregation of files - contestants can't see other's files. Only the organisers have full access to all files.

  2. Would be great to have a Verify Checksum button for the peace of mind :)

     

    Also, I'd like to know if the Sync app current verify the entire file upon download completion? Or is it only done in block/chunk level?

     

    Ideally, there should be a way to select which file / folder / share to verify on demand.

  3. Note: Re-posting this from the old Wishlist thread.

     

    Feature request: New type of secret "Deposit"

     

    Hello BitTorrent Sync Developement Team,

     

    I think it would be very useful to implement a new kind of secret that allow a BitTorrent Sync user to accept upload of files from 3rd parties, without divulging the existing files in a share, and without the tedious management of multiple independent shares. Some may call this "one-way sync".

     

    Here's how I think it could work:

    1. Alice wants to upload some files to Bob

    2. Bob already has a BTSync share called "Bob's Documents", and Bob decides that he doesn't want to create & manage yet another new share :)

    3. Bob launches BTSync program on his computer, and go to "Bob's Documents" > "Show folder preferences". From there he obtains the "Deposit" secret. Bob advises Alice of the secret

    4. Alice adds the secret to her BTSync app, pointing to a new empty folder called "Upload to Bob" on her computer
        !! Instead of downloading and seeing Bob's files, "Upload to Bob" folder remains empty regardless of Bob's activties

    5. Alice copy files into "Upload to Bob"

    6. On Bob's computer, a new subfolder called "From Alice's Work Laptop" (i.e. "From Device Name") is automatically created under "Bob's Documents". Alice's files are uploaded under this folder without affecting any existing files in "Bob's Documents"

    7. A while later, Alice gets a notification from the BTSync program that all files have been transferred to "Bob's Computer"
        !! Alice can now safely move / delete all files in "Upload to Bob", without affecting any files on Bob's computer

    8. Alice's files are also uploaded to all devices that share the full access / read-only secrets of "Bob's Documents" automatically. For example, "Bob's Backup Server" gets a copy of all files from Alice

     

    9. After Bob has finished working with Alice's files, he can delete / move the files, or leave them in the share. Alice would not know about the fate of those files

     

    10. Later, Bob can give Chloe his Deposit secret, and Chloe can start uploading files to "Bob's Documents/From Chloe's Work Computer/"


    In other words, this is a "one-way" sync from Alice to Bob. In fact it's a very simple concept to grasp. It works almost exactly the same as the internet email system (Geez I think we are re-inventing emails!):

    1. The "Deposit" secret is like your email address

    2. Any one who know your "email address" can send you "mails" (upload files)

    3. However, knowing the "email address" does not allow one to look into the contents of your "inbox" (Obviously)

    4. There may be multiple people who know your "email address", but these people cannot know who has sent what "mails" to you. Users with the "Deposit" secret are isolated. Although the "Deposit" secret is the same, these users do not communicate / sync with each other.

    5. Once the "mails" are delivered to your "inbox" they cannot be recalled / un-delivered. This is a true One-Way sync.

     

    6. Once the "mails" are delivered the 2 copies of mails (files) are independent. It works the same way as email inbox and "Sent Mails" mailboxes in email programs. "Sent Mails" mailbox can be emptied frequently without affecting the delivered emails.

     

    Besides the email analogy, an UNIX analogy would be a directory with the permission "733" ( drwx-wx-wx )

     

    I hope you find my description of this "Deposit" secret useful :rolleyes:

     

    One last thing, I think this "Deposit" secret can also be used to solve the "sync camera rolls on mobile devices" problem. Mobile devices can be linked to a share on computer using the "Deposit" secret. The "Deposit" secret can free the user from having to keep identical copies of photos in-sync on both the mobile devices and her computer. If either the mobile device or computer is about to run out of space, the photos can be deleted from mobile storage / move to a different hard disk without hassles.

  4. I think this will be super useful!

     

    Imagine you're setting up a new computer downstairs. With this features I can print out the QR codes (or display the QR codes on a phone) and have the new computer scanning the codes! Much more convenient than typing, and more secure than emailing the secrets to myself.

  5. Feature request: New type of secret "Deposit"

    Hello BitTorrent Sync Developement Team,

    I think it would be very useful to implement a new kind of secret that allow a BitTorrent Sync user to accept upload of files from 3rd parties, without divulging the existing files in a share, and without the tedious management of multiple independent shares. Some may call this "one-way sync".

    Here's how I think it can work:

    1. Alice wants to upload some files to Bob

    2. Bob already has a BTSync share called "Bob's Documents", and Bob decides that he doesn't want to create & manage yet another new share :)

    3. Bob launches BTSync program on his computer, and go to "Bob's Documents" > "Show folder preferences". From there he obtains the "Deposit" secret. Bob advises Alice of the secret

    4. Alice adds the secret to her BTSync app, pointing to a new empty folder called "Upload to Bob" on her computer
        !! Instead of seeing Bob's files, "Upload to Bob" folder remains empty

    5. Alice copy files into "Upload to Bob"

    6. On Bob's computer, a new subfolder called "From Alice's Work Laptop" (i.e. "From Device Name") is automatically created under "Bob's Documents". Alice's files are uploaded under this folder without affecting any existing files in "Bob's Documents"

    7. A while later, Alice gets a notification from the BTSync program that all files have been transferred to "Bob's Computer"
        !! Alice can now safely move / delete all files in "Upload to Bob", without affecting any files on Bob's computer

    8. Alice's files are also uploaded to all devices that share the full access / read-only secrets of "Bob's Documents" automatically

     

    9. After Bob has finished working with Alice's files, he can delete / move the files, or leave them in the share. Alice would not know about the fate of those files


    In other words, this is a "one-way" sync from Alice to Bob. In fact it's a very simple concept to grasp. It works almost exactly the same as the internet email system (Geez I think we are re-inventing emails!):

    1. The "Deposit" secret is like your email address

    2. Any one who know your "email address" can send you "mails" (upload files)

    3. However, knowing the "email address" does not allow one to look into the contents of your "inbox" (Obviously)

    4. There may be multiple people who know your "email address", but these people cannot know who has sent what "mails" to you. Users with the "Deposit" secret are isolated. Although the "Deposit" secret is the same, these users do not communicate / sync with each other.

    5. Once the "mails" are delivered to your "inbox" they cannot be recalled / un-delivered. This is a true One-Way sync.

     

    6. Once the "mails" are delivered the 2 copies of mails (files) are independent. It works the same way as email inbox and "Sent Mails" mailboxes in email programs. "Sent Mails" mailbox can be emptied frequently without affecting the delivered emails.

     

    I hope you find my description of this "Deposit" secret useful :rolleyes:

     

    One last thing, I think this "Deposit" secret can also be used to solve the "sync camera rolls on mobile devices" problem. Mobile devices can be linked to a share on computer using the "Deposit" secret. The "Deposit" secret can free the user from having to keep identical copies of photos in-sync on both the mobile devices and her computer. If either the mobile device or computer is about to run out of space, the photos can be deleted from mobile storage / move to a different hard disk without hassles.

  6. Dear ammar577,

    Currently there's no built in function in BTSync to do what you describe. It would be very nice to have a built in photo sync feature to match Dropbox's. Perhaps it's already on BitTorrent's TODO list? :)

    Meanwhile, you can try the following method:

     

    1. 1. Assume you've already set up BitTorrent Sync on your Android phone and computer
    2. 2. When your phone's memory is almost full, open BitTorrent Sync Android app and delete the sync folder (Note: this action will not delete any photos on the phone or the computer)
    3. 3. Delete all photos on your phone to free up memory
    4. 4. Create a new, empty Sync Folder on your computer. Call it "Photos2"
    5. 5. Add the new "Photos2" folder to the Android app - Choose the same photos folder as the originla sync folder (the one you deleted in Step 2)
    6. 6. Now, all your old photos are preserved on your computers, and new photos will continue to sync to "Photos2"
    7. 7. Repeat the above steps when memory is running out
  7. Okay list of things to do to the server ...

    • Local or remote call backs (run programs) from the server whenever files are created, removed or modified. Eg: anti virus; it'll need the ability to revert to old versions. eg: anti-delete; once uploaded write permission is removed from the file.

    This will be a tremendously useful feature! The BT Sync client should also be smart about limiting the no. of concurrent callbacks running, to prevent exhausting the computer's memory / disk bandwidth etc.

  8. Without releasing the Sync protocl, making API feature requests is kind of like shooting aimlessly without a target. Anyway, my turn to shoot:

    1. RESTful API in the client app e.g. 127.0.0.1:8888/api/<resource names>/
    2. JSON support in API request / response
    3. API versioning via HTTP header
    4. API around getting metadata of a share e.g. /api/share/<secret key>/

      1. Getting metadata of a share without sync'ing the share. An analogy using BitTorrent-speak is to view the list of files in a .torrent without starting to download the torrent
      2. Query share size, list of files, metadata of individual files, list of clients of a share
      3. Ability to download individual files / directories of a share without being part of the sync
      4. Query change history of individual files / directories
        1. "Who changed this file at what time?"
        2. "What is the file's checksums before and after changes?"
        3. Would be great if the entire change log of the share is a query-able API resource

    [*]Ability to reference individual files / directories in a share using a global unique ID / permalink

    • The unique ID of a file does not change after a file is added to the share
    • Moving, modifying or deleting the file does not alter the unique ID
    • New files added to the share does not overlap with previously deleted files

    [*]Ability to query history of files / directories deleted from a share

    1. Support date range in all history query

    [*]Ability to rollback changes of a files / direcotries (I know, this is sounding more like an SCM)

    [*]Ability to perform simples filesystem operations (silimar to Dropbox's /fileops/ API)

    [*]Ability to query all active shares on this btsync instance

    [*]Query activity log of a share's SyncTrash

    1. Versioning
    2. Browing per-file version history
    3. Randomise ports on startup (Windows & Mac)
    4. Published protocol and API
    5. New type of secret key that allows creation of files, but cannot modify existing files
    6. GUI to manage sync ignore list on Windows & Mac
    7. Ability to revoke a secret key (use case: secret key is leaked)

  9. Seems to me that the BT Sync app desperately need a system clock verification mechanism built into it. At the very least, a big fat warning should be raised when the timestamps of a host doesn't match the others' (or the trackers') clocks.

    BTW, I want to know if BT Sync does checksum every file as part of the sync / transfer process? I see checksumming all chunks is one of the BitTorrent protocol's biggest strength.

  10. Issues I've encounterd so far:

    1. Does not prevent computer from sleeping during a large upload (OS X)
    2. Does not use OS X Finder Trash - keep using .syncTrash
    3. Random files are moved to .syncTrash when copying a large directory with many small files into the ~/BTSync/ directory. (Potential Data Loss?!)