*not* just another blog ;)

Changing the SSH port

- Posted in Quick Tip by with comments

There comes a time when you might need to change the port that SSH listens on, this can be for various reasons, often because a seedbox script sets it to something else such as 33 and you want to change it back.

First thing we need to do is change the port in the sshd_config file by doing this

sudo nano /etc/ssh/sshd_config

Look for this:

# What ports, IPs and protocols we listen for
Port 22

Mine says port 22, but yours might have 33 or something else.

Change that to the port you want it to be, and when you're done, press Control-X to exit, y to save and press Enter to close.

The only thing left to do is to restart the sshd for the changes to take effect:

sudo systemctl restart sshd

And we're done.

If you have a NAT VPS you will notice that they do not come with their own IP address, instead they come with a shared IP and a range of forwarded ports. The port range you get is usually never the same as what you want them to be.

For example, let's say you want to run a web server on your NAT VPS, you will find that your port range might be 12300-12320 but we need port 80 and 443 for web servers.

The solution is using the IPv6 address that comes with your NAT VPS, along with Cloudflare's IPv6 to IPv4 gateway.

Today I will set up a web server on a free domain from Freenom, using a $3/year NAT VPS from Wishosting and using Cloudflare to make it all work.

What we need

  • A domain - this can be your own domain, of if you don't have one, you can use a free one from Freenom.
  • A NAT VPS - If you don't have one, there are some on this list.
  • A free Cloudflare account

Getting Started

Once you have your domain and your Cloudflare account connected (you've set the name servers for your domain to those that Cloudflare gave you) we can move on.

We need to find the IPv6 address of your NAT VPS, and to do this we issue the command:

ip -6 a

This will return something similar to this:

    inet6 2001:41d0:2:c1d2:200:c0a8:6628:0/112 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::c0ff:fea8:6628/64 scope link 
       valid_lft forever preferred_lft forever

IPv6 is a complicated thing in my opinion, but what we're looking for is this:


That is the IPv6 address for this VPS - yours will be different, but you get the idea.

The fe80:: address is the equivalent of or the loopback/localhost.

Setting up Cloudflare

So, in the first steps I glazed over the whole adding nameservers part. I will assume you can do this, if not, please let me know in the comments and I'll add those details in. It varies depending on which registrar you use for your domain.

On Cloudflare, what we need to do is add an AAAA record with your IPv6 address.

Here's an example: If I wanted to have dah85.cf point to the web server running on port 80/443 on my NAT VPS, I would add the following records:

  • AAAA - dah85.cf - 2001:41d0:2:c1d2:200:c0a8:6628:0
  • AAAA - www.dah85.cf - 2001:41d0:2:c1d2:200:c0a8:6628:0

Tip: Make sure the Cloud icon is orange or it won't work

This means that when someone visits dah85.cf or www.dah85.cf in their browser, it will automatically connect to the IPv6 address even if the visitor doesn't support IPv6. Cool eh?


There are a couple of points to note about this. Firstly, this will ONLY work for Websites - it does not forward SSH or FTP or anything else. Secondly, if you've changed the port that Apache or Nginx listens to from anything other than 80 or 443, this will not work.

If I have missed anything or you need clarification, please let me know in the comments below and I will add the details in this post.

I was looking for a nice easy way to visualize the network speed of a VPS I got recently, and I came across slurm.

screenshot of slurm in action

Slurm will show you in a graph form the current network speed, as well as the peaks and amount of data transferred/received since the last reboot.

I am using a Ubuntu 16.04 VPS that I got for $5 per year and wanted to be able to see when there is traffic.

First, I installed it with apt:

sudo apt update
sudo apt install slurm

Then, I found out the name of my network interface:


Then I ran it like this:

slurm -s -i venet0

The -s will split the screen into incoming/outgoing display like shown in the screenshot above. The -i tells it which network interface to use. In my case it was venet0. On my laptop, it's wlp2s0.

I posted earlier about gtop, which shows the network speed in a similar way along with details that htop would also show, but I like using this alone because it's very lightweight - especially on a low end VPS.

I've been using an IPTV service that works great during the day, but at night it skips and stutters and buffers like crazy. It turns out the reason for this is to do with routing.

In Australia - specifically on the NBN - peak hour is usually between 3PM and 10PM, roughly when school kids start getting home and people get home from work and start their Netflix binge watching etc.

Most (if not all?) IPTV providers tend to have their servers in Europe. It seems like Germany is a popular choice for this. I have a 100mbps (megabit per second) connection at home and during off-peak I can get around 300 kilobytes per second which is 0.3mbps (0.3 megabit per second) and during peak time this plummets down to around 50kb/sec (kilobytes per second) or 0.05mbps (megabits per second) and this makes IPTV unwatchable.

After testing different speed tests from different locations, I've realised that Australia has a pretty consistent connection to the USA, in particular LAX and Miami during off-peak and even during peak times. It got me thinking about using that to my advantage to help with my IPTV situation.

How I fixed it

I decided that the best approach here would be to set up a VPS in an ideal location, run a proxy server on it and point VLC to that proxy server.

The first thing I did was set up a cheap VPS in Los Angeles. I chose to use this one for $8/year.

For better results and to be able to select different locations or change IP etc, I would recommend setting up a cheap VPS resource pool. This one is $19/year and lets you create up to 2 VPS in 4 locations in the USA (LA, Miami, New York and Chicago.

Once I had that set up, the next thing I did was set up a tiny proxy server, aptly named Tinyproxy.

Setting up Tinyproxy

I am setting this up on a Ubuntu 16.04 VPS, if you are using another distro then replace apt with yum/etc:

sudo apt update
sudo apt install tinyproxy

Tinyproxy is now installed, but it needs to be configured.

sudo nano /etc/tinyproxy.conf

We need to change a couple of things. First, the port. It defaults to 8080 which is very predictable and likely to result in your server being used by someone else. Change it to a random high port number that you will remember:

# Port: Specify the port which tinyproxy will listen on.  Please note
# that should you choose to run on a port lower than 1024 you will need
# to start tinyproxy using root.
Port 8080

Secondly, by default, Tinyproxy is set to only allow access from the computer it's running on - not ideal in this case. Find the following lines and change it to look like this:

# Allow: Customization of authorization controls. If there are any
# access control keywords then the default action is to DENY. Otherwise,
# the default action is ALLOW.
# The order of the controls are important. All incoming connections are
# tested against the controls based on order.

Note I have placed a # in front of Allow By doing this I have made it accept all connections. It would be better to set up a rule to allow only a certain range, but for simplicity's sake I am leaving it like this.

As pointed out by Filip in the comments, doing this will open your proxy up to the world! It would be much safer to add your IP range or address in there. If you're not sure, find your IP by googling "what is my IP" and then put that instead of and remove the # in front - if you have a dynamic IP this will be more complicated, so perhaps consider if this is something you're willing to do

Now that we've configured Tinyproxy, we need to restart the VPS.

sudo reboot

When the VPS comes back online it's all ready to go and Tinyproxy is waiting for us to use it.

Configure VLC Player

Finally, we need to configure VLC player to use this proxy when playing the videos.

Go to Tools then Preferences and select the Input/Codecs tab. Right down the bottom you will see HTTP Proxy URL

Go ahead and put the IP of your VPS in there along with the port. For example making sure to replace the IP with your VPS IP and the port with the port you've chosen in the config file. Once that's in there, click Save.

Testing it

The moment of truth is upon us. Go ahead and try watching the IPTV stream that you usually have issues with, it's best to test it during off-peak time and as well as during peak time to be sure it's set up correctly.

And there we have it, we've got flawless* IPTV :)

*of course, other factors can come into play, but this will resolve issues related to routing.

A year later..

- Posted in VPS by with comments

It was a year ago when I started my journey into learning about VPS.

It all started when I came across lowendbox.com and found that there are some cheap VPS available. Before that, I knew you could get them from places that would charge an arm and a leg.

I originally had a server running at home, running Proxmox that was used for nextCloud and Plex Media Center and it was costing me around $30/month in electricity (the cost of electricity in Australia is stupid) and I quickly learned that I could offload this to "the cloud" (there really is no cloud, it's just a buzzword for someone else's computer!)

So, looking back at the start of my journey I have learned a lot. I have found the need to upgrade from a VPS to a dedicated server, which I found the amazing deal from SerweryDedyKowane.pl which now handles everything I need.

I still keep a few VPS for playing with, I don't really want everything to be running on my dedicated server for various reasons.

This blog, for instance, started off running on WootHosting's shared hosting for $1/year and now it's running on my dedicated server with absolutely zero downtime (except for when I restarted the server for security patches)

NextCloud and Plex run flawlessly and I'm very happy with the way it's all working.

I could still get away with using VPS instead a dedicated server for these tasks.

If I were to do that, with the hindsight that I now have, I'd recommend to myself to do this:

It's been a pretty fun learning experience, and I have certainly learned a lot by doing this. It's been also really awesome being able to share it with the world through this blog :)

Showing disk usage in Linux

- Posted in Quick Tip by with comments

If you are wondering what is taking up all the space on your Linux server or computer, then there is a simple, handy tool called ncdu which shows you exactly how much space is being used by each folder.

sudo apt install ncdu

Then if you want to view the entire computer:

cd /

Or if you want to see which is the biggest folder in your Transmission download folder..

cd /var/lib/transmission-daemon/downloads

To exit, press q.

Using a VPS as a proxy with SSH

- Posted in Quick Tip by with comments

Just a quick tip, if you want to use a VPS as a proxy server through SSH then use this command (if your computer runs Linux)

ssh -D 12345 [email protected]

Replace 12345 with the port you want to use.

Then in Firefox, go to Preferences and add localhost as a Socks 5 proxy and the port 12345

I always test it first by going to Google and searching "What's my IP" to make sure it shows as the VPS's IP.

And you're done.

Reviewing a $5/year VPS from AlphaRacks

- Posted in VPS by with comments

Today I was looking for the absolute cheapest VPS that I could possibly find that wasn't a NAT VPS - on other words, one that comes with a dedicated IP as opposed to a shared one.

I found this neat little VPS:

  • 10 GB HDD
  • 1 CPU (Xeon E5620)
  • 1 IPv4
  • 128MB RAM
  • 100mbit
  • 250GB Bandwidth
  • OpenVZ
  • $5/year

$5 per year barely covers the cost of an IP, let alone the rest of the specs you get!

I paid with Bitcoin, and it was set up instantly.

Here are some benchmarks:

CPU model:  Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
Number of cores: 1
CPU frequency:  2400.119 MHz
Total amount of RAM: 128 MB
Total amount of swap:  MB
System uptime:   5 min,       
I/O speed:  33.4 MB/s
Bzip 25MB: 10.42s
Download 100MB file: 11.3MB/s

Getting the full speed out of the network, the I/O is what you'd expect for $5/year.

CPU model:  Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
Number of cores: 1
CPU frequency:  2400.119 MHz
Total amount of RAM: 128 MB
Total amount of swap:  MB
System uptime:   18 min,       
I/O speed:  68.5 MB/s
Bzip 25MB: 11.15s
Download 100MB file: 11.1MB/s

Looks a little bit better in the IO department this time, network is consistent.

This would be perfect for running an Iodine DNS tunnel! It would also suit running as a VPN, an IRC bouncer, a small web server, even for playing with Linux for the first time.

128MB of RAM is the only real limitation on this VPS, but again, for the price it's hard to beat.

If you want one of these, click here :)

On one my test servers running VestaCP on an LXC container, I ran into an interesting issue where (due to the nature of LXC this is expected behaviour) the VestaCP LXC container shows the load of the host node, and as it's under load, VestaCP refuses to perform backups.

If you get an email like this "LoadAverage 5 is above threshold" and you would prefer to change that to something a bit higher (in my case, I'm changing it to 20 because I want it to backup even if the server is on fire) then here's how to do it.

We need to edit the BACKUP_LA_LIMIT=5 variable in /usr/local/vesta/func/main.sh

sudo nano /usr/local/vesta/func/main.sh

In my case I've changed it to read BACKUP_LA_LIMIT=20 so that it will always backup.

I searched high and low on the internet and couldn't find anything that suggested this, so I ended up doing a grep -r "BACKUP_LA_LIMIT" in the /usr/local/vesta directory to find which file is responsible.

I hope this can help someone else :)

Reviewing Wishosting's "KVM SSD Plus LA" VPS

- Posted in VPS by with comments

Here we are again, reviewing yet another VPS from Wishosting, this time its their "KVM SSD Plus LA" plan, which has the following specs:

  • 4 vCPU cores Intel Xeon E5-2650
  • Unlimited CPU cores 2.4GHz Turbo
  • 16GB ECC RAM
  • 80GB SSD
  • Linux/Windows OS
  • Bandwidth 250Mbps
  • Traffic 8TB
  • 1 IPv4
  • Private networking
  • Location - Los Angeles
  • Setup time up to 24 hours
  • Price: $15.99/month

What I love about Wishosting's VPS is they come with no limits on the CPU usage. You can run ANYTHING and make 100% usage of the resources advertised. I think other providers should do the same, they could learn something from Wishosting.

Apart from that, they have extremely friendly and helpful support - when I speak with Michael he's so damn professional in his ticket etiquette - again, other providers should take a page out of his book!

They use a system which is called OpenNebula which is a breath of fresh air after seeing so many SolusVM hosts. I really like the fact that you can basically treat a VPS as a resource pool. This one comes with 4 cores and 16GB of RAM plus 80GB SSD. I could split this into 4 VMs if I wanted to. It's nice to know those options exist.

Anyway, let's have a look at the performance of this KVM.

CPU model:  Intel Xeon E312xx (Sandy Bridge)
Number of cores: 4
CPU frequency:  1999.999 MHz
Total amount of RAM: 16051 MB
Total amount of swap:  MB
System uptime:   4 min,       
I/O speed:  275 MB/s
Bzip 25MB: 6.55s
Download 100MB file: 95.0MB/s

:) :) That I/O is nice, 6 second bzip is also nice. But 95MB/sec looks a lot like gigabit speeds to me, and it's only advertised as 250mbit!

CPU model:  Intel Xeon E312xx (Sandy Bridge)
Number of cores: 4
CPU frequency:  1999.999 MHz
Total amount of RAM: 16051 MB
Total amount of swap:  MB
System uptime:   6 min,       
I/O speed:  506 MB/s
Bzip 25MB: 7.79s
Download 100MB file: 103MB/s

Consistent as we can see here, the I/O jumped the second time round which is typical with these benchmarks.

Here's another "benchmark" you may be interested in:

[2018-02-28 12:02:54] speed 2.5s/60s/15m 126.4 133.3 n/a H/s max: 145.8 H/s
[2018-02-28 12:02:59] speed 2.5s/60s/15m 101.0 131.3 n/a H/s max: 145.8 H/s
[2018-02-28 12:03:04] speed 2.5s/60s/15m 89.6 129.4 n/a H/s max: 145.8 H/s
[2018-02-28 12:03:09] speed 2.5s/60s/15m 101.6 127.5 n/a H/s max: 145.8 H/s

I thought I'd run that for a minute to see what it's like, the CPU supports AES-NI and this is on 3 of the 4 cores :)

I've reviewed plenty of servers in the past, and a few from Wishosting, but this is the first Wishosting server I've had which is located in LA, which has great connectivity to Australia. I'm happy with the way this performs, I could probably easily justify keeping this server as a web server with the 80GB SSD it's insanely fast.

If you're looking for a speedy, beefy KVM with some kickass specs for a reasonable price, I'd recommend this package from Wishosting.