I need some file transfer software recommendations

I am a photographer and I would like to transfer files to and from my home network whilst I’m out traveling. I currently use Teamviewer. It’s been fine so far, especially for remoting into my home PC when I want to do something on its screen. My issue is when I want to transfer a ton of data. Teamviewer times out after a certain amount of time. Does anyone know of any solutions? Ive tried out FTP but my ISP will charge a whole lot if I want my external IP to stay static. My current rig is a windows 8.1 PC and I also have a WD mycloud EX2. I am currently in the process of figuring out what exactly I want to upgrade to with my file server. I’ll try to keep the issue of what hardware I should choose to maybe a different thread. But I’m probably going to end up custom building something.

Google Drive and welcome to the cloudy future.

Setup a file server then use File Zila

Not to be a downer but I wouldn't recommend even SFTP in this day and age. Not to mention the protocol is inherently slow.

You could go about this a couple different ways. Firstly, to solve the static IP problem, setup a DDNS. If you have a domain name, then you can pipe it through a DDNS service something like afraid.org offers. There are even shared domains you could get in on that would be free, but be aware that anyone could see it. To update the IP regularly, you could setup a simple powershell script that calls the services HTTP updater every couple hours or so using task scheduler. Hell, nowadays even most routers offer a DDNS solution.

As far as the actual file transfer method, I would personally setup a VPN and then access a samba server behind it. However a simpler method would be to self host something like Pydio which has account control. I currently have this setup as a solution for some family because it has apps, and is stupid simple.

Yep, this is the way to solve the dynamic IP issue.

You can create free DDNS accounts, there are many these days, but it really helps to use one that your device supports just to facilitate config, here's a few:

Just bear in mind that free services probably won't automatically unlimited everything you, and there's also a good chance your NAS or gateway device only supports specific, unchangeable DDNS service providers, or none at all, so you should check this before creating accounts. Also worth noting is that some provide a desktop client that will automatically check the external IP of the system it's running on & update the value at the service provider, to track changes if & when you get churned.

How you go about this is basically going to come down to whether you're able to get your NAS to talk to a DDNS service (and optionally use a SSL cert, which you really, really want), or whether the developer has forced you to use some platform they've developed or that there's just no DDNS/SSLsupport at all & you have to do this all via your gateway & forward to your NAS from there.

So; check your devices' DDNS support either by searching for manuals online, or log into their management interfaces. If you don't know how to access your gateway, then:

  1. Press WinKey+R then type cmd & hit Enter
  2. Type ipconfig then hit enter
  3. Look for your "Default Gateway" IP address
  4. Go to this IP address in your browser
    NB: you may have to log in, search default uname & pword online

Now look for DDNS settings, again refer to manuals if you can't find them. See if it supports DDNS, & if so, make note of which service providers you can use, & if there's an entry marked "Other" or "Specify" or "Custom" or such, then, happy days, take your pick.

NAS that support DDNS usually have their own tricks for getting back from your gateways' external IP through the LAN to themselves, or at least provide steps on setting it up.

If you're doing DDNS via your gateway this will only get your back to the external IP address of your gateway, there's still the issues of:

  • Forwarding the inbound connection to something on your LAN
  • Securing the connection

VPN or SSL isn't generally as easy or free as making an account on social media or installing a piece of software, however, Duck DNS support https/StartSSL, and have a desktop client, so there may be an option there for you, if it's possible to use the free SSL cert you get from StartSSL with whatever device(s) need to use it.

Duck DNS use OAuth V2 for authentication, host on EC2, & support Win/Lin/OSX/Raspbian/OWRT/EC2 for the w007 of it so there's hope, although it may be easier to use your NAS's cloud service, if it has one.

More specific step-by-step can't really be provided, I don't know your devices & service providers well enough. You may end up being better off using some app or service that's built into the NAS & is inherently secure. I don't know Pydio but it looks cool so I think I'll go learn that, thanks @BlueKoda.

Let us know how you go with your gateway.

1 Like

I have an okay router, its a cisco n900 or something like that. The signal kinda sucks but it's just for guests mostly as I hardwire everything. So I'm sure it has DDNS settings. So I just have to set that up? I do have my own domain name thru godaddy, but I'm not sure that's what you are talking about. Sorry, I'm kind of a noob at this stuff.

That's okay, we can work on it step by step. I think the first step would be to figure out which ddns service you'd like to use. I personally am a fan of freedns.noafraid.org because of their HTTP POST updater utility. However, as @SynAck commented, it is an old system and can be a little unforgiving to new users.

If you're interested the setup is actually pretty straightforward, I found a good guide here, albeit some in Spanish, is a good step in the right direction.

Don't worry about the script at the end because we'll be setting up our own.

A quick question all add, which OS is your NAS running?

If you make your server a linux based one, you can use WinSCP :)

I really recommend it speed wise

My current NAS is a terrible WD my cloud EX2. So its some WD OS. Hence why I'm looking at replacing it. Something with up to 4 or 5 drives probably. But I also don't really want to spend hundreds. I'll probably end up building something with like a fractal node case and a little server board and some HGST drives. I already have a PSU and ram laying around for it too. I'd prefer an OS that can also double as a HTPC. So right now prefferably either windows or Mint or ubuntu. I don't care anything about plex or some special media player. I prefer to just file browse within a more capable OS. Also, I probably wont actually buy anything for the NAS build I want to do for awhile. So for now I'd like to find a method of file transfers that work well on windows. Because that's what my main rig has currently. It's pretty solid hardware so its not too bad for leaving it on for awhile whilst I'm out traveling. If I do leave it on I still go and restart the machine every day or so to keep windows fresh enough. If teamviewer can do the file transfer as easily as they do it, then someone has to make something that I can start a 50GB file transfer from a hotel with crappy internet all night long without it timing out.

I think I've found my solutions. I've got a few different things I can do. First of all I found out that now BitTorrent sync is now out of beta, they actually have an app for the WD mycloud now. yes their free version only offers a few folders, but thats okay, I only have one folder I care about...pictures. There are hundreds of subfolders though, so we'll see how that turns out. But other solutions are using my free cloud service box.com. I have 50gb on there, however they have a 10gb bandwidth limit. It doesn't have a timer so I don't know when that resets. But I can use 7zip and compress before uploading. 99% of the time this should be okay. I can also just create a torrent file and send that over to my home pc and torrent it. these aren't super secure methods but i don't really care all that much. its just pictures.

I had thought about BT as a possible resumable batch transfer method, but decided against mentioning it because some hotels/convention centres/WiFi APs etc block BT.

If your NAS supports a cloud storage provider that you have an account with, why not use it? 50GB won't cover all data in all scenarios but you can certainly use it as a kind of ghetto FRS staging area, like so:

  1. Create sync between local box folder "box-send" & remote NAS box folder "box-received"
  2. Dump some files into "box-send"
  3. TV back home to move files from "box-received" to correct location.

If the WD NAS supports scripting/automation you may even be able to have it auto transfer the files from "box-received" to /some-NAS-path/[todays-date]/*.* which would have the added benefit of automagically clearing files from both ends of the sync, thus leaving your 50GB available for the next round. Or your PC could be setup with a Robocopy task to watch the "box-received" folder & do this. I've successfully done this for clients that had multi-page scanned paperwork transfer-to-HQ-over-LaCrappola-ADSL issues & it worked beautifully (they had a WAN/VPN allowing internal IP connection to HQ, but it was still over LC-ADSL).

You're right to wonder about daily transfer limits & cool-downs, I don't know if this is a factor either.

Hmmmm.... OwnCloud, I'm looking at you....

PS: The security considerations are actually for the possible attack and abuse of your NAS moreso than concern of stealing your images.

Remember that data sent between two points is the data sent between two points, not just the 'payload' the user is concerned with; auth attempts and the usernames & passwords exchanged are also part of that data, so securing connections helps to lock the door, hide the key, cover the PIN you enter at the ATM, lest some jerk rocks up 4 seconds after you and says "Yeah, whatever he just ordered, and put it on his tab" lol.

you could try https://syncthing.net/ run it on both pc's choose the folders that need to be synced uses the speed of your internet pretty decently well i can only vouch for on the same network but should be alright if you have a stable connection to and from your remote pc

its WD, it doesn't support it. It may work if I spent days trying to SSH in and install things via command line. The "ghetto method of just uploading to box and then remoting into home and downloading is good enough. It's not like I have to do this daily or anything. Or it's actually easier to just create a torrent, email it to myself, and start it on the other side. But once I get a more dedicated travel laptop I could just install BTsync and let it rip that way too. which would be automatic.

And oh yea, I hadn't actually thought about the other parts of the data. nvm on the not caring so much part then lol

Well the beauty of box is that files added to your local folder will automatically upload to their service then download to your NAS. All you need to do then is move them about in your NAS, to clear the box folders at both ends.

As stated it should be possible to automate this last step, I've done it before, I just don't have your NAS or LAN equipment etc to test with & see how it works.

As for BT sync, just expect the possibility that BT based proto may be treated with extreme prejudice by foreign networks/servers/configs and that it's nothing personal, just by-design for obvious reasons: I'm sure more than 1 person has thought their "Hey! Let's get lots of free files while we're here!" idea was totally original and would work at that hotel/conference/etc.

So maybe I should explain. My NAS is currently just a backup solution. I run Batch commands in windows that will robocopy and mirror my hard drives over to the NAS. So if I copied over a file to the NAS it will only be deleted the next scheduled time that the batch runs. If I copy files from outside my network I need to copy them to my PC. After looking at My routers DDNS settings I only have 2 options, and both are paid subscriptions $40/year. I don't want to have another bill just for this when I know there's got to be a free alternative. Is there a better guide on how to set-up my PC so that I can connect to it from the outside word via FTP? I've used FileZilla before on my local network. Or does FTP basically require me to have the DDNS setting enabled? I don't want to go the VPN route because I'd like my home PC to be able to also connect to the internet normally.

Box. Box is your free alternative: Install it on laptop, install it on home PC, sync between. If you need more quota per day, use multiple services together: Dropbox, Google Drive, OneDrive... Split files up into batches, drop them into synced folders, wait for them all to break on through to the other side, which would be your PC at home where the client(s) reside. Have Robocopy on PC watch the folder(s) for changes and move files from them into wherever you normally keep your files until moved/mirrored to your NAS. Or TV in and move them yourself.

Reaching anything, anything, in your home network first requires you to be able to find it amongst AllTheThings™ - where AllTheThings™ = everything on the internet with an IP address, one of which is the external IP of your router at home.

Your router (gateway actually, a composite device comprised of router, switch, dhcp & dns server, possibly also WiFi AP) is a multihomed device, meaning it has at least 2 IP addresses: one inside your LAN, & one outside your LAN, its external IP out there in the internetz. All traffic inbound to your LAN devices will go first to this external IP and from there be directed to the intended internal address.

But it's trickier than knowing your external IP address because it will keep changing (I'm assuming you don't pay for a static IP) - this is known as churning, & it's one of the reasons why people use DDNS: You create an account with a DDNS provider with who you then create a unique name, say etphonehome.net, install their client on some device internal to your LAN such as your PC, tell the client your account usr & pwd, client performs continuous hollerback to DDNS saying YO! from usr:pwd, service provider updates etphonehome.net name with IP xxx.xxx.xxx.xxx derived from interaction, you (or anyone, for that matter) point something at etphonehome.net and it will always find the external IP of your gateway. But that only gets you to the gateway, you will need to setup inbound rules to direct the connection to the intended internal address. Consider this diagram, note that IP addresses & names are just arbitrary for illustrative purposes:

OR you could just set up some free cloud file sync service(s), install the client(s) on your laptop and home PC, drop files in on laptop side & wait (or drink beer & watch TV) for them to reach other side. How you want to organise things once files are in your LAN is up to you. Personally, I would make Robocopy watch the synced folders & move new files to .\MyFiles\new-dir-name-of-todays-date\*.* but you could also just TV in & do it manually, although you'd have to put down the beer:

Once files have been moved out of PC sync folder the cloud file sync client will consider them as deleted (yeh, they gorn), and so the client on laptop will  should be instructed to remove them from its end too.

Some NAS support Dropbox, or Box, etc.

BTW: you know your WD NAS supports Dropbox integration and smartphone apps, right?
http://www.wdc.com/en/products/products.aspx?id=1180#Tab2&Tabmcapps

I've never understood why people love dropbox so much, It's like the most overpriced service. You only get 2GB on the free account. I have 50GB free on box.com and 15GB on Google Drive. There are other services but none as good as box or drive. Anyways, I completely forgot about the sync service. Back when I had it with google drive I only had it on one computer and I thought it was just a folder that I could drag things to and it would automatically upload that to the cloud. It's been so many years so I guess I forgot about it and I've never really used it right. So this should work. I'll need to do some testing to see how it holds up with large folders. Thanks!

Also, I don't really don't mind remoting into my home desktop and opening up the router page to look at its public IP to start a transfer. I just don't understand what I need to do to forward my internal desktop IP to the router. Is it only simply that? So if I setup a static local IP for my desktop, then goto the router and forward port 21 of that IP on the router, then what do I type into FileZilla? (Host: public IP, username:desktop username, password:desktop password, Port:21) and that should connect right?

No, you haven't got the whole internal vs external IP of your gateway thing. Remember: it's got 2 IP addresses, 1 inside your LAN & 1 outside it in TheReallyBigNetwork, or TRBN™ for short. You can make your gateway 192.168.1.254 or 10.0.0.1 or pretty much anything you want inside your network, but your ISP gives it an IP outside your network, in the internet. You have absolutely no control whatsoever over this external IP.

Unless you either (or both, it's a free world)

a) pay your ISP for a static external IP address, then you'll always know that it's x.y.?.potatö
b) set up DNS/DDNS so that a public DNS record for mypotatö.net points to the IP address x.y.?.potatö

Then you could get back to your gateway device, but you'd have to configure it to forward the inbound connection from its interface with external IP x.y.?.potatö to the IP of, say, your PC, whatever that is inside your network, eg: 192.168.0.2; but this is dangerous, because anybody making any kind of connection to that external IP or name will get forwarded to your PC.

Best just stick with this model:

  • Use whatever cloud sync service(s) you like to get files from laptop to PC
  • TV to your PC and move files from \MyPC\c$\MySyncFolder to \MyPC\c$\MyPhotoRepo and wait for Robocopy to mirror it to \MyNas\Share\Photos\etc or whatever you've got going on for storage.

Files will should then automagically disappear from your laptop c:\MySyncFolder because they disappeared at the other end (well, you moved them out of sync dir but computers are stupid and can't tell the difference so like a baby with a rattle POOF! aaaand they're gone).

So: Photos to laptop cloud sync dir > auto transfer via cloud sync to home PC > TV to home PC & move files to wherever they need go > cloud sync removes files from sync dir on laptop because they can no longer be seen in sync dir at other end, leaving sync dir ready for next time.