Automatic Coding

Members
  • Posts

    218
  • Joined

  • Last visited

  • Days Won

    8

Posts posted by Automatic Coding

  1. No, I haven't, but, I'd just like to point out that for not that much more (~ $200, based on the amazon price of the WDBVHT0080JCH being $650) I got a full machine with 8 HDD slots (upgradable to 20 disks at any point, with, upgrades that I don't have the plunge into at once), full NAS software (based off slackware that can run other stuff like plex/sabnzbd/sickbeard/couch/btsync/custom programs/etc), 16GB of ECC ram, a 4 core 3.3GHz stock CPU.

    No idea about you, but, I'd say that's worth $200ish more of building your own machine, although, I do admit that my case is huge compared to that small thing, however, I prefer usability over size.

  2. Attempting to replace Dropbox entirely.

    Between this, owncloud, a backup-only Linux VPS that's charging $7 a month and the owncloud app, I'm getting roughly 5x the storage DB provides for about 30% less.

    It works well.

    Do wish I'd had this at my last workplace. It would have saved so, so many hours when transferring large updates to a couple of remote networks.

    This too, although, I paid ~ $1,300*2 (two servers, two different geographical locations) for ~ 15TB/location for life (And expandable for ~ $50/TB at current prices). So, technically (Excluding power, which, I'm not too sure what I pay for the server on its own) I paid $1,300 for 15TB for life, rather than $1/GB/Year.

    Although, getting 15TB off dropbox for a single year would be 15*1024*$1=$15,360, so, even in a single year I'm pulling way above even on dropbox prices (Although, I'm sure they'd give me some kind of discount if I bought 15TB).

  3. I'm also still testing it, and, probably won't use it actively until a few more items are added (Versioning).

    So, currently I just have one share between a offsite PC and an onsite PC (Depending on the way you look at it, it may also be a 2*offsite if I'm not on either site, the files themselves are just items like linux distro isos, invoices from purchases, etc...), however, once versioning is added and I trust it more, I'll probably use it to replace CrashPlan, since, CrashPlan is so heavy and ugly and requires me to use an SSH tunnel to even check the GUI/etc.

  4. Sync'd traffic footprint is pretty distinctive, continuous one second pings, tracker pings DHT probes etc etc. So the ISP could be pretty certain that it's btsync but the exact data that's transferred, no they wouldn't be able to see that. The would be able to see the "info hash" values that you put onto DHT or the tracker so if they know of an 'undesirable' btsync share they could tell that you're connected to it. But they wouldn't be able to see the files unless they know the secret as well as the public "info hash" or they can "rainbow table" the hash because it's an insecure key.

    Technically, I feel that working out the hash from the ISP's point of view is a lot easier than it is from anyone else's. Although it may or may not be legal (No idea, never read my ISP's ToS... it's like 90 pages long), they could easily look through all the history of your activity and look through all the unencrypted locations you may have posted it (HTTPs forums, pastebin, etc...). I'm not saying it's going to work every time (Someone may have httpseverywhere, use a one time secret key, post it on 0bin on their own dedicated site with SSL, connected via a VPN/SSH tunnel to a location that they can't monitor before posting, etc...) but I am saying that it's going to work a hell of a lot more often than just guessing random hashes.

  5. First of all, can you connect by just simply using a TCP and UDP connection? If not, more than likely a NAT issue (maybe? I'm not too sure what the Chinese government sensors. It's hard to diagnose a problem when the problem is someone actively stopping you).

    Although, I have noticed Chinese IPs in my transmission list when I torrent, so, I don't think they do block torrents, or, if they do block torrents, then there's some way to get around it (While still using your real IP & not tunneling through someone else).

  6. The ability to set capacity caps for a given folder via the API would, I'm sure, a very highly sought after feature.

    Use Case: (hypothetical)

    I have a dedicated server which I use for backup storage -- a friend would like to use my online storage server as well. I agree, but I'd only like him/her to use a maximum of 1GB of storage space. Using the API, I should be able to set any given folder which is attached to his specific secret key, an (admin) set maximum storage value.

    This is a highly useful feature when thought about at length.

    Wouldn't that be more a feature (Thread being "Wishlist") than an API kit? I'm not saying it wouldn't be nice to also have a hook for it in an API (so data storage companies can automatically apply data changes when you pay/etc without staff), however, first of all the item needs to be implemented.

  7. well i said you don't have to! unless its blocked or SOMETHING.

    because he changed both the GUI and the BTSync client's ports to same one, so i didn't want to consider that he doesn't know what he is doing but wanted to help him just in case.

    For connections to enter your box you need your NAT to know "device A wants all packets on protocol B coming in on port C" (Most basic, more advanced systems allow different IP ranges to be located to different devices, allow regex, mathematics, xor, etc...), if the port you're using keeps changing then how on earth will you port forward each port? Unless:-

    A. You DMZ it, which, I wouldn't recommend unless you know what you're doing

    B. You use UPnP, which has loads of issues (Feel free to google for them)

    C. Code a script to constantly update your NAT device

    All three of those aren't really the best options.

  8. What he said.

    That post is probably one of the best posts I've seen in all my years, the level of detail and the amount of examples used is just top notch. The explaining as well, it's just purely and simply top notch.

    Personally, if I were you, I would sign up to some sort of writing competition, you're blow all the other contestants out of the water. If I only I were 1/100th of the writer you were I'd still be 1,000 times what I am now.

  9. Pretty sure the issue is the fact that you have the webUI and the listening port on the same port. They're two different things, one is for the webUI and one is for the data distribution and synchronization.

    Here's my example configuration:-

    cat /mnt/user/Appdata/bitTorrentSync/sync.conf
    {
    "device_name": "Tower US",
    "listening_port" : 47525, // 0 - randomize port

    /* storage_path dir contains auxilliary app files
    if no storage_path field: .sync dir created in the directory
    where binary is located.
    otherwise user-defined directory will be used
    */
    "storage_path" : "/mnt/user/Appdata/bitTorrentSync/",

    // uncomment next line if you want to set location of pid file
    // "pid_file" : "/var/run/syncapp/syncapp.pid",


    "check_for_updates" : true,
    "use_upnp" : false, // use UPnP for port mapping


    /* limits in kB/s
    0 - no limit
    */
    "download_limit" : 0,
    "upload_limit" : 0,

    /* remove "listen" field to disable WebUI
    remove "login" and "password" fields to disable credentials check
    */
    "webui" :
    {
    "listen" : "0.0.0.0:8085",
    "login" : "abc",
    "password" : "def"
    }

    /* !!! if you set shared folders in config file WebUI will be DISABLED !!!
    shared directories specified in config file
    override the folders previously added from WebUI.
    */
    /*
    ,
    "shared_folders" :
    [
    {
    // use --generate-secret in command line to create new secret
    "secret" : "MY_SECRET_1", // * required field
    "dir" : "/home/user/bittorrent/sync_test", // * required field

    // use relay server when direct connection fails
    "use_relay_server" : true,
    "use_tracker" : true,
    "use_dht" : false,
    "search_lan" : true,
    // enable sync trash to store files deleted on remote devices
    "use_sync_trash" : true,
    // specify hosts to attempt connection without additional search
    "known_hosts" :
    [
    "192.168.1.2:44444",
    "myhost.com:6881"
    ]
    }
    ]
    */

    // Advanced preferences can be added to config file.
    // Info is available in BitTorrent Sync User Guide.

    }

    Yeah, I know I still have all the default commented out code, but, sue me.

  10. The problem has to be somewhere on the linux machine. Because downloading speed works as it should (even on the problematic one). Also I do not have the access to the ISP device (INNBOX).

    I tried to send a file through FTP and I'm having the same speed problems as with btsync. Seems like supports my claim that there's an issue with the server. And as far as I can recall the ftp transfer used to work fine.

    I did a iperf tests for UTP and that went fine. Seems like some tcp issue. I guess.

    :\ maybe I should rebuilt the system. :\

    Well, considering BTSync uses UDP (D, not T) unless otherwise set (In the configuration file), then, it technically shouldn't be an issue, although, I'd still first work out why TCP is so slow.

  11. I think what you've got there is a great argument agains the current sorry state of web authentication more than anything else.

    It's not so much that it isn't meant to be secure, it's that it'll give you insecure randomness when it runs out of the good stuff. /dev/random will block until its entropy pool is sufficient, which can happen arbitrarily and for arbitrarily long periods. So is secure, except when it's not, and it won't tell you when it flips between the two modes.

    The tr bit is slightly more worrying to me -- unless it was an injective mapping (e.g. switching the encoding alphabet, or replacing all 8s with 7s and all 7s with 8s), you've done some damage to your possibly pristine / possibly already broken randomness.

    I used TR to only extract alphanumeric characters as symbolic characters were giving me issues and HTTP (and my clipboard, *cough* null termination) don't like null, EOF, carriage return, new line, (etc...) ASCII characters.

  12. This is how I start it as a system job with ubuntu (last LTS version, couldn't remember number) using upstart.

    1. Create btsync.conf on /etc/init.d/

    2. file contains 2 lines:

    # home in my setup is another hard drive.

    start on mounted MOUNTPOINT=/home TYPE=ext4

    # starts as non-root user

    exec start-stop-daemon --start -c myuser --exec /home/myuser/btsync

    3. this satisfies my needs.

    How I did it (I'm very new to linux, been using it for ~ 3 weeks now and I didn't know that I could run scripts on mounts):-

    cat /etc/init.d/btsync
    sudo -u automatic /home/automatic/.sync/btsync --config /home/automatic/.sync/sync.conf

    Seems to work fine for me.

  13. Understood. I am trying to let pass 10 minutes and then restart. Should I try restarting the machines too?

    Thank you.

    –
cordialmente,

    tiziano solignani, da  Mac

    http://blog.solignani.it

    Well, might be worth a shot, although, what you'll really want to do is to:-

    A. Check the log

    B. Check any incoming/outgoing connections that BTSync does (Wireshark, log, netstat)

    C. Check if the two computers can in fact communicate over UDP on said port (Shut down BTSync and load up something like netcat to listen & send data)

    I believe the syntax for a UDP test on netcat would be (Both computers should be tested as both client and server to test bi-directional connection establishment):-

    Server:-

    nc -ul 1234

    Client:-

    echo "The quick fat fox jumps over the lazy dog or something like that" | nc -u 127.0.0.1 1234

    Obviously changed the IP & port for the IP of the opposite computer and the port that BTSync is using. If it works the server should output:-

    nc -ul 1234
    The quick fat fox jumps over the lazy dog or something like that

  14. I am the admin at work (sort of) and did not block anything on purpose. If it's a NAT problem, how come it worked for some hours? I just cannot get that. I will try to shut them down for 10 minutes, though.

    Thank you.

    –
cordialmente,

    tiziano solignani, da  Mac

    http://blog.solignani.it

    Maybe an issue with UPNP being revoked due to a DHCP lease changing or something along those lines. To be honest, although it's unlikely, it's still worth checking out.

  15. i think this is called Delta Sync.

    BTSync will have to keep database and tables of hash for parts of existing files

    and compare the new hash of parts of new file to these tables.

    Too be honest, what's ~ 100 bytes (That's around the size of a MD5 hash & Pointer, right? However, you might want to upgrade to something more 'unique' than md5, just considering how bad a duplicated hash could be) per 4MB? It means if I have a 1TB share I'll pack on an extra 25MB (I believe I got that right? 1TB/4MB*100Bytes), if I'm already sharing 1TB I believe I can share an extra 25MB to possibly save a hell of a lot more.

  16. And if this is implemented, what will be a use case for such functionality?

    For the use of allowing applications to automate file manipulation and modification without requiring the full bulk of a share (which may just be a couple KB, all the way up to a few TB).

    I believe dropbox has an API like this (Although, I've never used it, so, I can't be 100% sure), you might want to look into some of the projects done with that API. I'll have a look myself after I post this.

    EDIT:- Here's dropbox's documentation:-

    https://www.dropbox....lopers/core/api

    You'll have to scroll down quite a bit, or look at the side-page list.

    EDIT2:- For an example list of projects (Although be it, not the best list of examples), here's a google search:-

    https://www.google.com/search?q=https%3A%2F%2Fapi-content.dropbox.com%2F+site%3Apastebin.com

  17. Please, it would be very interesting. We never thought about such use case.

    Not sure if that's a question as in "Please continue" or just a statement, but, for the sake of not replying for no reason, I'll reply as if it's a question.

    No idea the exact terms of how to do it (As thinking that far ahead would require me to be coding the thing), but, you'd connect to the tracker and ask for a node that is listening on your API key, the same way you do with secrets, just, a marker saying it's an API key and not a secret. Once it connects to a node, it's pretty much the same as if it were a node (Downloading & uploading), however, it asks the node to do everything instead of doing it itself. Instead of downloading a file, modifying it, and then reuploading it, it sends a request to the node to modify it, and then the node just uploads it. Same with if you want to create a file, you ask the node to create it and then the node distributes it. Obviously because of this you can't hash files yourself, or search the file for regex terms/etc yourself, so, you'd have to get nodes to do it for you and reply back with the results in a simple TCP connection.

    You could also do callbacks and the rest by having an option to keep the stream open and apply 'ids' (chosen by the client) to certain requests. I believe (Not done any NNTP in awhile, so, I may be wrong) that the NNTP protocol does the marker thing, and, I believe the routerOS API (Although I haven't looked too far into it) also does the kind of stuff I'm talking about.

    NNTP specification:-

    https://tools.ietf.org/html/rfc3977

    RouterOS API wiki:-

    http://wiki.mikrotik...wiki/Manual:API

  18. If I have two files in the same share that are almost identical (E.G. maybe off by one byte or something) will BTSync realize "Hey, I've seen this 4MB hash before, and this one, and this one" then only have to transmit one file, excluding the 4MB sector the changed? Or does the 4MB hash checking only apply if it's the same file?