Improving speeds from Feral to you

Often a user's biggest issue is the speed of transfers from their slot to their home when downloading via FTP/SFTP. Sometimes it's possible to improve speeds using a combination of various methods (sometimes to the extent of maximising your download bandwidth) and that's what this guide aims to show you. Most of the methods should be usable by all users as they do not rely on any expertise.

Rerouting

Data from your slot to your home or device can normally take a large number of different routes to reach you, depending on how your ISP manages its traffic. Using Feral's reroute tool, you're able to dictate which route is take from Feral to your current IP. There are a few things to bear in mind with this:

  • It only works when using an IPv4 address
  • Rerouting only works from Feral - you cannot change the route to Feral
  • It only works with the IP used to access the page - if that changes, you'll need to re-set the route

Rerouting can improve streaming speeds with software like Plex and can also be combined with the other improvements in the sections below.

Finding out the fastest route

Manually finding the fastest route can be done from any web browser. Simply run each of these speed tests in turn. You'll be prompted to download a .bin file (this is simply a dummy file to provide something to download) - you should try downloading the test .bin files in your browser (without a download manager, on a single connection), letting them stabilise (if they do) and noting the speeds each go at:

One of our users has also kindly put together a script to automatically download and set the fastest route. This should work for you, though as it isn't an official script it may become periodically outdated if routing options change.

On Linux or OSX you can simply run the command below. It's a little trickier on Windows, since you'll need to install curl support using Cygwin then run the command.

curl -s -L -o ~/auto-reroute.sh http://git.io/hsFb && bash ~/auto-reroute.sh

Multisegmented and parallel downloading

Multisegmented and parallel downloading are two methods of boosting download speeds when downloading via FTP/SFTP or HTTP(S). The difference between multisegmented and parallel downloading is:

multisegmented
a file is split into segments and downloaded
parallel
multiple files are downloaded at the same time

Not every piece of software can support multisegmented downloading (for example FileZilla). You should look at the documentation for your client for help on setting it up, as well as the software guides linked to on the main Feral FTP guide page.

You should be able to use parallel downloading in most browsers and programs, simply by selecting multiple files to download.

Why can multisegmented downloading help?

Your downloading FTP client specifies a "receive window" - this is how much data it is willing to receive before reporting back to the server that it received the data correctly. If (for instance) it announces to the server that it's willing to buffer 256kb of data, the server will send 256kb and then wait for the client to report that it received the 256kb in good order. It's this mechanism that's responsible for the loss of speed. If you are very close to the server it's not that much of a problem, but the higher the latency the more you have to wait for each little bit of data to be acknowledged. Having more transfers running mitigates this, though once you're down to the last segment you may see the speed drop sharply.

Switching ports

Another thing you can try when downloading via FTP/SFTP is switching the port. By default, the port number is 21 for FTP and 22 for SFTP, but you can try 22221 for FTP and 22222 for SFTP as this can sometimes bypass throttles.

Switching protocols

It can sometimes happen that a particular protocol is being throttled or managed in some way and cannot provide good speeds, despite trying all the things above. At that point it might be worth changing the protocol up to see if that would help. You could try downloading via HTTP, for example, if you were previously using FTP/SFTP.