EastLink sucks. Somehow in the evenings, they manage to lower the speed of my connection from home to my server at OVH Canada BHS centre. I’ve complained before but this issue is not going to be resolve anytime soon. Since my residence does not support another ISP (BellAliant, namely), I have to stick to EastLink for now. Strangely EastLink connects to other places relatively well, even my server at the west coast in the states. My other server could connect to BHS server in full speed.
So, how do I bypass the speed limit? By installing ShadowSocks at both ends (home and west coast), I could proxy all my web traffic in Firefox or Chrome without problems. What about SSH, SCP or even rsync? After consulting their man pages, I found some programs support http proxy settings (rsync). Some support port binding (ssh). scp support ProxyCommand, which is overly complicated. None of the above features suit my need.
After some investigation for the solution on the Internet, I found a nice proxifier called ProxyChains. An open-source proxifier for Unix-like systems. The software is VERY small and its usage is pretty simple.
dnf install proxychains
Edit /etc/proxychains.conf
file. It contains almost everything you need.
Putting such commands:
proxychains scp ...
It works!
More docs in their README file.