Automatic Coding

Members
  • Posts

    218
  • Joined

  • Last visited

  • Days Won

    8

Posts posted by Automatic Coding

  1. I'd like to see the iOS "automatic backup" feature allow you to use the new protocol secrets (Not 'A' and 'B', but, 'D', 'E', and, 'F', (I.E. type=encrypted)). Currently it's only using the legacy, unencrypted model and I'd much rather prefer to encrypt the files (Using the R/W key) on the iPad, then sync it to an encrypted node (Using the 'encryption' key):-

    { "encryption": "FUJXG7S25VWMKWAK55GDBK6R2OB5TUEJX", "read_only": "EUJXG7S25VWMKWAK55GDBK6R2OB5TUEJX5ES4KC7YMFG4PMZHFNGQ4S2DAI", "read_write": "DF7IAYFGGUFXTPV3KCW2EGIGTOJ5PLKC3" }

     

    So, basically, what I'm asking for is for me to manually be able to input a code (I.E. R/W) into the iOS device for it's 'backup' mode, not just it's 'sync' mode.

    Thanks!

     

    More info here:-

    http://forum.bittorrent.com/topic/26571-changing-ios-camera-auto-generated-key/

  2. Why would you use BTSync for backups? They actually make backup software that has had their encryption reviewed and is supplied by trusted companies. I agree the prices is crazy for many of these services, and I do wish that I could extract the torrent files and add them to a normal seedbox (they have far better prices).

    If you were to only transfer a few documents I would rather have a couple of friends seed it for me. Or leave the files on my fileserver. But in that usecase I don't see why anyone would use BTSync and not sftp or rsync. If not for the P2P part, what is the point? The lack of good version conflict resolving makes it useless for collaboration. The only usecase I can see is if you need to share a large folder with several other people.

     

    When said backup, I meant less of an actual backup (I.E. protection against user error) and more an extra node to store a redundant copy, somewhat like raid, just, in a network rather than on raw HDDs.

  3. That's not a tracker, these are static IPs. (And this feature isn't even implemented in the mobile applications...) And this might work if you've got around 3-4 clients and you own all of them... But what if you want to share some files with friends, coworkers, ...? Ask them for their IPs and update them all of the time? Request some dynamic DNS domains from them? That's clearly no tracker replacement.

    And I would also claim that a single computer which accepts incoming connections does not act as a relay server, otherwise this option would not be needed. Ofcourse, you can get some server which is public reachable and let it sync all the files, but it will not help with "relaying"/"supporting" a 'direct' connection between two other peers.

     

    Unfortunately, I do admit I wasn't thinking with the DynDNS as I only run three clients (2*DynIPs, both owned by me, 1*Static IP, which is a server I lease).

  4. Am I the only one wondering why the pricing on these companies are so high? They're almost dropbox prices, and, dropbox can only get away with it because they draw you in offering 64GB+ of free storage, and, are so damn popular. These small companies should be charging a couple cent per GB per month, not eight (Like dropbox).

     

    Hell, most of these companies only store in one location* (At-least, the two I tried with 'trials'), raid != backup. You could have a raid one array with five hundred and twelve drives, it doesn't matter, if you have a power outage, or, environmental issue (Earthquake, Tsunami, who knows what else), you're ******, and, more importantly, so are your clients.

     

    Honestly, let's consider, assuming for each byte of data, you store it in six times (raid 161, data is stored to a raid 1 array (With two drives), that's then raid 6ed (With six groups (twelve raided 1 hard-drives total, two per group)), and is then moved cross-country to another datacenter to protect against environmental damage, running the same RAID 16 configuration), which, let's be honest, is insane, nobody stores it six times (Unless you absolutely need that data, such as Google, Dropbox, or, Crashplan, even then, I doubt it), and, you pay an insanely high fee of $200 per raw TB HDD storage (Maybe a few people do), that's $1,200 per TB it costs you (Believe me, it doesn't, probably more at the $500 or so range).

     

    Let's also assume that the majority of drives (~ 22%, based off my somewhat guestimating math skills and this) fail within three years, so, after three years you're going to want to be be shifting off those drives, 1TB/$1,200/36 months = $33/month/TB, or, just over three cents per GB per month, that's $40 per 100GB per year, which, is still pretty high. The majority of people don't spend $1,200 per TB, don't give you raid 16 (Plus an actual copy of data between two data centers, so, logically raid 161, but, physically raid 16 with a backup), so, personally, I'd rather just go out to the store and buy a bunch of hard-drives, I'll have almost the same security (Assuming these companies are just doing raid, and, not actually moving between data centers), have faster speeds, and, no monthly fees, although, I do admit it's a huge start up fee (Want to remove that? Go with OVH, they charge like $0.01/GB/month).

     

    Yeah, I know someone is going to come at me "OH, YOU DIDN'T CALCULATE THE COSTS OF THE BANDWIDTH, THE DATA CENTER'S RENT, X, Y, Z", which, I admit, I didn't, why? Because I've never actually leased space in a datacenter, or, a non-consumer grade network link, but, I really doubt it costs 4 cents+ per few GB (Few is equal to space given * (1 (First upload) + X (Uploads/Downloads of data per month)).

     

    *Only one client popped up in BTSync, not sure if they mirror their data using other tools.

    EDIT:- Thought I'd also add this rant is more to companies/people selling/buying large spaces (1TB+), I understand why someone might buy a 50GB or so space, it's nice to have a 24/7 online computer to help with syncing, but, I do not understand why anyone would buy this as their main backup location, which, I feel is what some people are indeed doing.

     

    If you're not using this as your main backup, and, you're just using it as an easy method to transfer a few documents between home/school/work, but, don't want to leave computers on all day, I completely understand these prices, although, I still feel OVH is the better option here (at just over 2.5 cents per GB on their lowest option ($13.26/month, 500GB)).

    EDIT2:- Since I feel like I'm going to get some **** from server providers for posting this, I do want to state I'm not naming names, and, I only tried two (Not the two in the OP, as, I'm sure you've gathered due to the fact that only one of them charges), so, this is a very generalized post. Some of them out there may be super secure with massive amounts of synchronization across data servers, the best hard-drives money can buy, super great support making the pains of newbies installing BTSync on a brand new linux server go away, and, all the rest of it. Just, for me, someone who is willing to explore, they're not for me... that being said, I may be biased when I say "They're not for anyone", except the people who just simply need a small 24/7 online server, but, even then, there are some great cheap, hosts out there with 20GB or so HDD space.

  5. Also, some other notice: They've mentioned somewhere that they are unable to shutdown the BitTorrent Sync service. This is not 100% correct. Indeed, it is correct for LAN-only environments with activated peer discovery. But what if they shut down the tracker and relay servers? External connections would not be possible anymore.

    You can always create your own tracker and relay server, described below:-

     

    Tracker:- Simply own a domain name (Example.org), have it on a dynamic DNS, constantly update the subdomains with your computers IPs, such as:-

    Laptop.example.orgDesktop.example.orgWork.example.org

    And then just configure BTSync to use those static addresses.

     

    Relay:- Just have a single computer which accepts incoming connections (Easily can buy a cheap VPS to do this). Unfortunately, I'm not sure if it actually needs to have the files on it (If you selective-sync it, then, accept nothing, would it relay the connection?), I could test this if you really want (Would cost a couple cent to lease VPS for two or so hours).

     

    Anyway, one thing I do really dislike about this project is the fact it's closed source.

  6. I came just to post this. My friend needs a method to securely keep her photos in the cloud for free*, unfortunately, I don't wish to have access to her files, not only because I want her to be able to trust it, but, on top of that, I personally don't trust some of my hosts (I.E. storing files for redundancy on computer I don't control, some of which, are dodgy hosts), so, I wish to use the "Encrypted" mode of BTSync (Which, works amazingly using the 'Sync' option), so, only she has the R/W key on her device, I just have the encrypted version. Unfortunately, as it stands, we either have to:-

     

    1. Give me access to her files (Her using R/W, me using RO)

    2. Use her RO key (From her iPad) to sync to her computer, which, she then syslinks her RO directory to a R/W directory in which I have the encrypted key to (Super complicated, also means she has to store her files, which, is what we're trying to avoid)

    3. Have her manually select each image as she takes them (Way to annoying)

     

    So, I come here, please allow us to input custom addresses in the auto-backup option, or, alternatively, allow us to designate a directory on an existing share to automatically copy all pictures on the phone to on boot of the application.

     

    *Free as in, I'm willing to provide the disk space and bandwidth to her at no extra charge, because I'm a nice guy, and, because I highly doubt she'll use more than a gig.

  7. Due to the nature of BitTorrent sync, there is no central server. Let's consider the 'Synchronization' system in two different methods, the "Dropbox" method, and, the "BitTorrent Sync" method. I would first of all like to state that the "Dropbox" and "BitTorrent sync" methods are not unique to their respected application (Dropbox & BitTorrent Sync), however, it's easier to explain it like that.

     

    So, first of all, the 'Dropbox' method. This method allows you to seemingly be able to 'upload' one device's data when all other devices are offline, then, 'download' another device's data when all other devices are offline. Unfortunately, this is false. There is in this case one server that's always online, and, it's the Dropbox servers. This, for the end user, isn't something they have to worry about and can think "Oh, I can sync any device any time with any other devices on/off". So, following this logic, the path of action would be something like this for dropbox:-

     

    1. Connect to dropbox server

    2. Check for any new file updates that are on the dropbox servers

    3. Download any new file updates

    4. Check for any local file updates that are on our computer

    5. Upload any new file updates

    6. Idle until either local files are updated, or, remote files are updated.

     

    And, this is great, it means you (the end user), can have two devices that are never on at the same time still be synchronized.

     

    Now, the BTSync system is a bit different. It takes the approach of "You keep your data, we just provide the software.", and, BTSync never sends your data anywhere other than YOUR (Is bold, caps, underline & italics enough to get that across?) computers. This means that there is no 'company hosted' (/not end user hosted) location that's up 24/7 to act as a temporary (Or permanent) file host. If one of your computers is on, but, all others are off, there's nowhere to store said data, now, if another computer comes on, it can easily synchronize data between those two (or more) computers. The only requirement to synchronize with BTSync is having one (or more) computer(s) online with the update, and, one (or more) computer(s) without the update. So, following the above format of showing it in a 'path of action':-

     

    1. Connect to BTSync tracker

    2. Search for other BTSync devices with the same secret (However, now it's more complex with Read only/Read & Write/Encryption)

    3. Contact said device

    4. Index all files you have, compare to all files the new node you've found has

    5. Download any new file updates that are on that node

    6. Upload any new file updates that are on our computer

    7. Idle until either local files are updated, or, remote node(s) report file updates.

     

    Now, obviously, there are ways of getting around this 'limitation' with BTSync, however, they all require one thing, having a computer online 24/7 with all files stored on it, and, having it updated to the newest version.

     

    The easiest way to do that is to simply lease a server with lots of HDD space (Like OVH's servers, super cheap ($9/month) with lots of space (500GB+)) and throw BTSync on there. That server will be online 24/7, and, basically act as a 'storage depot' for all your files.

     

    Have fun, feel free to ask any questions.

     

    P.S. Excuse my poor English.

  8. MANY thanks for your help!

     

    Actually, I'm super confused on what was happening, if you could connect via localhost, it sounds like it was listening. My best guess is that considering 8080 is a very popular port, for some reason it was let past your firewall while all other ports were blocked.

     

    May I ask, do you have a firewall setup/does your host have any firewalls?

  9. Thanks for your help, now I use your sync.config (with my server, path etc.) and have a connection to btsync installed on my notebook like before.

     

    But I cannot yet access the WebUI.

     

    I tested your sync.conf with 

    • i386
    • lInux i386(glibc 2.3)

    Both releases are running fine (which of them is the right for debian 6?) but as I said, without access to the WebUI.

     

    What can I do to solve the problem?

    Okay, two more things to try, one listening on ALL hosts (You may have set up your listening port incorrectly):-

     

    Replace:

    "listen": "serverip:44444",

    With:-

    "listen": "0.0.0.0:44444",

    And try that config. If it still doesn't work, can you go ahead and type (While BTSync is running):-

    curl http://127.0.0.1:8085/gui/en/index.html -i -u username:password | egrep "HTTP|Set-Cookie"

    Obviously replacing username and password. You may also want to remove the value of the GUID cookie.

     

    I'm not sure if it's just not listening, or, only listening to certain devices. You may also want to try netstat with and without BTSync running, to make sure nothing else is listening on that port, also, try changing the port around.

  10. -snip-

    This is the code of my sync.config, which runs and syncs ok, but without WebUI.

     

    Could you please be so kind to change it, that I can run the WebUI? 

     

     

    It clearly notates:-

    // !!! if you set shared folders in config file WebUI will be DISABLED !!!

    So, there's your issue. Here's a fully edited version (With comments removed as I find them annoying):-

    {	"device_name": "servername.de btsync",	"listening_port": 0,	"storage_path": "/home/www/doc/41467373/servername.de/www/btsync/.sync",	"pid_file": "/home/www/doc/41467373/servername.de/www/btsync/btsync.pid",	"check_for_updates": true,	"use_upnp": true,	"download_limit": 0, //kB/s	"upload_limit": 0, //kB/s	"webui": {		"listen": "serverip:44444",		"login": "thisisthelogin",		"password": "thisisapassword"	},	"disk_low_priority": true,	"rate_limit_local_peers": false,	"folder_rescan_interval": 600,	"sync_max_time_diff": 600,	"lan_encrypt_data": true,	"sync_trash_ttl": 30,	"lan_use_tcp": false,	"send_buf_size": 5,	"max_file_size_diff_for_patching": 1000,	"recv_buf_size": 5,	"max_file_size_for_versioning": 1000}

    If you want to add the comments back, there should be zero issue.

  11. How do I get information about peers? For instance:-

     

    1. Who's connected (IP)

    2. What port

    3. Their 'nice' name

    4. What files they've got/downloaded/have 100% of.

    5. How much I've got to upload to them

    6. How much I've got to download from them

    7. Speed I am uploading to them

    8. Speed I am downloading from them

    9. What port their WEB-UI is on (Useful for then querying them via the API, chain reactions!)*

     

    *9 could very easily be replaced with some kind of 'remote' api function.

     

    EDIT:- I'm an idiot. 3, 5 and 6 are answered with "get_folder_peers". However, 1, 2, 4, 7, 8 and 9 are still unanswered (Although, I may just not see 7 & 8 because 5 & 6 are 0, if so, please tell me).

  12. I have this issue regularly because I run quite a few other pieces of web-based software on the same host. I'm still unsure (Mainly due to laziness), but, one of the following causes cookie issues with BTSync:-

     

    1. Sabnzbd

    2. Sickbeard

    3. Couchpotato

    4. Headphones

    5. Transmission

    6. Plex Media Server

    7. (Unlikely) unRAID web-UI or the 'simple features' update for it.

     

    Now, fix is easy, simple delete the cookies for the host. Only one cookie actually causes an error, however, I can't remember exactly what that cookie was. If you want to tell me your cookie key values for the host running BTSync, I'll be sure to tell you. It's something along the lines of "GUID", "SESSION_UID", or, something that's a unique identifier.

     

     

    EDIT:-

    HTTP/1.1 200 OKConnection: keep-aliveContent-Length: 347Content-Type: text/htmlSet-Cookie: GUID=AlsoNo; path=/

    Considering it sets 'GUID', I'm guessing the cookie is probably 'GUID'. Delete it, it should work fine.

  13. Hi,

    The next update of iOS application will contain universal binary with iPad support. I hope this update will happen in a few days in depends on Apple review time.

     

    Woo! IOS version released!

     

     

     

    What's New in Version 1.2.29

    - Added version for iPad

    - Design changes and iOS7 compatibility

    - Ability to send and sync files in other apps via Sync

    - Save pictures and video from sync folders to Camera Roll

    - Improved connection speed

    - Other fixes and improvements

  14. Wait, what? Your root user is called "btsync"? As in UID/GID=0? That's extremely weird, but, anyway, never used a Synology box but I assume it's running *UNIX, so:-

     

    To run the default shell client for the user (E.G. pretend to be him):-

    su $username

    To run a program as a user:-

    sudo -u $username $command

    Both of those commands should be links to their command's man pages.

  15. 3. Download-only file access. This is more for personal use. I'd like to have a BTSync folder that stores all of my movies, archives, and other data that I only access infrequently. When I want to download one of them, I want to be able to pick the file instead of syncing the whole folder, and likewise for uploading. This would be a huge advantage, and based on how BTSync works I don't think it would be that difficult to do.

     

    You can do that that via the API (Trusting you know how to use that as you claim you run servers). First, add the share like so:-

    ?method=add_folder&dir=/path/to/sync/location&secret=existingSecret&selective_sync=1

    Then, whenever you want to download a file, run:-

    ?method=set_file_prefs&secret=existingSecret&path=movies/MyIlegallyDownloadedMovies/ShawShankRedemption.mkv&download=1

    And tuh-duh, it should start*.

     

    *Never tried it, I can if you'd like, however.

  16. The one thing I am wondering is will we non-API folks be able to make encrypted secrets?

     

    At the moment, doesn't seem so. It's worth registering an API key just for this (Assuming it's public, not sure, maybe I'm special  ^_^ ), you never technically need to use it again, just register the API key with the application (in your configuration file) then go here:-

     

    $domain/api?method=get_secrets&type=encryption

     

    And it'll return something like:-

    { "encryption": "FN242YS7WOCMZS3UKA3P2MJBTWKWSVROC", "read_only": "EN242YS7WOCMZS3UKA3P2MJBTWKWSVROCGQNM5WC4TCDFN457XUC5J3OPAI", "read_write": "DJNGMRD5FZFVIU26QUKO2EUH4WKKAI5OE" }

    Which formatted is:-

    {	"encryption": "FN242YS7WOCMZS3UKA3P2MJBTWKWSVROC",	"read_only": "EN242YS7WOCMZS3UKA3P2MJBTWKWSVROCGQNM5WC4TCDFN457XUC5J3OPAI",	"read_write": "DJNGMRD5FZFVIU26QUKO2EUH4WKKAI5OE"}

    As from there, everything is just UI based. Add the keys normally (Encryption/read_only/read_write) and it'll just 'work', magic! Never need to touch the API again, unless you want another set, in which case, just go back to the URL and tuh-duh.

  17. Well, I just got this email:-

    614pQ1t.png

     

    So, I'll spend the time answering my own questions for anyone wondering:-

     

    1. Does it encrypt the file names too? Or just the data?

     

     

    Identical directories:-

     

    Encrypted:-

    [root@btsynctest encrypt]# ls -latotal 10264drwxr-xr-x 4 root root     4096 Nov  8 06:36 .drwxr-x--- 5 root root     4096 Nov  8 06:32 ..drwxr-xr-x 2 root root     4096 Nov  8 06:32 .SyncArchive-rw-r--r-- 1 root root       20 Nov  8 06:32 .SyncID-rw-r--r-- 1 root root      296 Nov  8 06:32 .SyncIgnoredrwxr-xr-x 2 root root     4096 Nov  8 06:36 G3ZV62EUALJE3RULHVCAGJMKJ7FYOYFJVG6QPIY-rw-r--r-- 1 root root 10485760 Nov  8 00:23 RSKTNORKOWKFWW3PFTXNHYTV56VUYX5ANCZ4LHQ

    Plaintext:-

    root@Tower:/tmp/test# ls -latotal 10252drwxrwxrwx  4 root root        0 2013-11-08 06:33 ./drwxrwxrwt 18 root root        0 2013-11-08 05:24 ../drwxr-xr-x  2 root root        0 2013-11-07 22:58 .SyncArchive/-rw-rw-rw-  1 root root       20 2013-11-08 06:25 .SyncID-rw-r--r--  1 root root      783 2013-11-07 22:58 .SyncIgnoredrwxr-xr-x  2 root root        0 2013-11-08 06:33 Test/-rw-rw-rw-  1 root root 10485760 2013-11-08 00:23 file.ext
    2. Does it keep the directory structure the same? Or, is it completely incoherent data to anyone looking at it?

     

     

    Exact same.

     

     

    As for everything else, no idea.