Linux HOWTO

Install GeoIP on debian/ubutnu
First Method (Works 100%)
sudo apt update
sudo apt install dh-dkms module-assistant libtext-csv-xs-perl libmoosex-types-netaddr-ip-perl
sudo module-assistant --verbose --text-mode auto-install xtables-addons
sudo mkdir /usr/share/xt_geoip
sudo /usr/libexec/xtables-addons/xt_geoip_dl
sudo /usr/libexec/xtables-addons/xt_geoip_build -D "/usr/share/xt_geoip"
Second Method (Doesnt work on all Distros)
sudo apt update
sudo apt install xtables-addons-common xtables-addons-dkms libtext-csv-xs-perl libnet-cidr-lite-perl unzip wget
sudo mkdir /usr/share/xt_geoip
sudo /usr/libexec/xtables-addons/xt_geoip_dl
sudo /usr/libexec/xtables-addons/xt_geoip_build -D "/usr/share/xt_geoip"
How to Use
Block Country (Example Country India)
iptables -A INPUT -m geoip --src-cc IN -p tcp -j DROP
Block Multiple Countries
iptables -A INPUT -m geoip --src-cc US,CA,UK -p tcp -j DROP
Let only one country to connect via SSH (Example Country France AND SSH port 22, The order is important)
iptables -A INPUT -m geoip --src-cc FR -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
Install Certbot (Free SSL Provider)
Best Method (without snapd)
sudo apt update
sudo apt install python3 python3-dev python3-venv libaugeas-dev gcc
sudo python3 -m venv /opt/certbot/
sudo /opt/certbot/bin/pip install --upgrade pip
sudo /opt/certbot/bin/pip install certbot
sudo ln -s /opt/certbot/bin/certbot /usr/local/bin/certbot
How to Use
Standalone mode (port 80 must not be used or stop any process using 80 for 1min max)
certbot certonly --standalone
Fix Timezone on linux
Update Timmezone (Example Cairo, Egypt)
sudo timedatectl set-timezone Africa/Cairo
Get Timezone Status
timedatectl status
Install VNC Server
Install XFCE (light weight)
sudo apt install xfce4 xfce4-goodies
Install TightVNC Server
sudo apt install tightvncserver
Enter new VNC password
vncpassword
Run VNC server (default port 5901)
vncserver
Kill VNC server
vncserver -kill :1
Add Security for VNC server (Install geoip and Block connection to vnc server)
sudo iptables -I INPUT -m geoip --src-cc CA -p tcp --dport 5901 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 5901 -j DROP