*not* just another blog ;)

Quick Tip

Quick tips

Installing Sickrage

- Posted in Quick Tip by with comments

Sickrage is an awesome app that will automatically search for and download TV shows from a variety of sources.

Here's a nice simple copy/paste to install Sickrage on a VPS along with all of its dependencies:

sudo apt install -y python-pip python-dev git-core libssl-dev libxslt1-dev libxslt1.1 libxml2-dev libxml2 libssl-dev libffi-dev ;
sudo addgroup --system sickrage ;
sudo adduser --disabled-password --system --home /var/lib/sickrage --gecos "SickRage" --ingroup sickrage sickrage ;
sudo mkdir /opt/sickrage && sudo chown sickrage:sickrage /opt/sickrage && cd /opt/sickrage ;
sudo -u sickrage git clone https://github.com/SickRage/SickRage.git /opt/sickrage ;
sudo cp -v /opt/sickrage/runscripts/init.systemd /etc/systemd/system/sickrage.service ;
sudo chown root:root /etc/systemd/system/sickrage.service ;
sudo chmod 644 /etc/systemd/system/sickrage.service ;
sudo systemctl enable sickrage ;
sudo systemctl start sickrage ;
sudo systemctl status sickrage

This will also make it launch on boot, and adds a systemd script so it can be started like this:

systemctl start sickrage

Or stopped:

systemctl stop sickrage

The script will download the latest version of Sickrage from Github.

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 tinyproxy.

systemctl restart tinyproxy

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.

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.

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 :)

Proxmox allows a lot of powerful options when it comes to shared file systems, but nothing could be simpler than using sshfs and adding the directory to Proxmox as a storage option for backups, VMs and ISOs.

In my case, I have 2 Proxmox servers and a 3rd server running Ubuntu which I would like to store backups on.

I my 2 Proxmox servers which are an i5 and an i7 from SerweryDedyKowane.pl which are both hosted on the same network in Poland, and the backup server is an i5 V-Dedi from Wishosting which is hosted in Canada.

Here's what I did:

First, I set up sshfs to point to the storage on the backup server.

In this example, I have set up sshfs on both Proxmox servers. So, on each Proxmox server there is a folder called /mnt/remotebackup which is where I'd like to store my backups.

In the Proxmox UI, we need to click on Datacenter then click on Storage. From there, we need to Add a Directory.

  • I gave mine the ID of remotebackup
  • For Directory, I put in /mnt/remotebackup which if you're following this example, feel free to change to what you're using.
  • For Content, I have selected VZ Dump Backup File which allows me to store backups there. I have not tried using it to store anything else, but I plan to test that out at some stage.
  • Nodes are set to all, Enabled set with a tick, same with Shared.
  • I have set Max Backups to 5, but you can change that as you wish. This is the number of copies of the backup it will keep before it starts deleting the old ones to make room for new ones.

Now that we have that set up, on BOTH Proxmox servers (In my case, it actually copied across by itself so you may only need to do it once, but if not, do it on all the other Proxmox servers) - we can start using the storage.

To verify that backups will work, I will select a VM, and then go to the Backup tab and click on Backup Now - on this screen make sure that Storage is showing the new storage we made, in my case it's called remotebackups

Go ahead an make a backup, it'll take a little while depending on the size of the VM but it will be stored on the remote server.

Neat eh?

Setting up SSHFS

- Posted in Quick Tip by with comments

Today I will be setting up SSHFS, which will allow me to mount a remote folder as a local folder by using SSH.

In this example, I will be creating a folder called remotestorage which will link to a remote folder on a remote server.

First thing we need to do is install SSHFS:

sudo apt update && apt install -y sshfs

Then we need to create the local mount point, just like this:

sudo mkdir /mnt/remotestorage

Now, we can manually mount the remote folder:

sudo sshfs [email protected]:/ /mnt/remotestorage -o allow_other

Log in as requested, and you should be able to see the contents of your remote folder.

If you want to unmount, we just need to do this:

sudo umount /mnt/remotestorage

It's possible to have it automatically mount when the system starts, but it's a bit of a security risk and I wouldn't recommend it.