CLI (Command Line), Tutorials

How to use free protovpn VPN on ubuntu 20.04 using linux CLI?

protonvpn Please note this is going to lock you out from your server and you will need to reboot to connect again. You should know what are you doing. While I am writing this, I am connected to my server using LAN using local IP address 10.0.0.X or 192.168.X.X.For VPS like DigitalOcean or Vultr use …

Plugins, WordPress


# display-posts-news-ticker WordPress plugin to display WordPress posts in a nice news ticker. – display-posts plugin is required to be installed from here: – Telex JS newsticker is used from here (no need to download or install): Change do_shortcode(“[display-posts]”) in index.php if required. Change document.querySelector(“#page_wrapper .top-headers-wrapper”).appendChild(mod.div); in script.js if required. Get the code …


start-fortnox-sync (from Airtable)

– Was made for internal Use. Starts Pricelist sync to Fortnox on the main shops server. Waits for 30 minutes for each pricelist to finish. NOTE: Add airtableToken & main server authorizationLink to make it work. (async function() {   var localMode = typeof addEventListener === “undefined” && typeof input === “undefined” ? true : false; …


update-currency-rates (Airtable)

Finds pricelists on Airtable on all bases by checking 2 tables: Pricelist & (*). (*) tables contains all the currency rates in this format: (Please note that SEK is master currency) Code. Rate —- —- SEK 1.0000000 USD 0.0972745 AED 0.3572467 AFN 8.4328730 ALL 10.0878786 AMD 37.8046774 ANG 0.1755555 AOA 49.2695078 ARS 20.5039556 AUD 0.1440093 …

Apps, Blog


This script will run a simple CORS server for Fortnox API: It will also refresh the API token every 30 minutes and will use it automatically allowing us access to Fortnox API. We do not need to provide Fortnox API token. There should be a token file with client ID & secret with same …


Using multiple PHP versions in OpenLiteSpeed

OpenLiteSpeed (OLS) includes a nice “Compile PHP” option under Tools. We can use it to compile different versions of PHP. So, I compiled 7.4.24 and 8.0.11 and the binaries were saved in the folders /usr/local/lsws/lsphp7 & /usr/local/lsws/lsphp8 respectively. Then I set the default External App to use lsphp7 and created another External App to use …


Laravel gives error 500 without any further log or information if storage permissions are not allowed

I will start with the fact that I hate Laravel. But, still a client wanted to me to deal with an application built on it. First it forced me to upgrade PHP from 7.4 to 8.1. Then it kept giving error 500. I tried to add log options to PHP INI, enabled logging in the …




Helps to renew SSL certificates automatically using certbot. Helps in automatic domain verification too. Also, runs a cron to keep checking SSL renewal automatically at specified time interval.

We need to set reverse proxy for .well-known folder so it can do the verification for us.
For example for openlitespeed go into Virtual Hosts and click a host. Go into External App add the app there with address Then go into context and add URI as /.well-known and select the external app you added.

Should be run with command line arguments.

node certbot-autorenew-cron-v1.js \
server-port=9999 \
server-folder=/mnt/node/letsencrypt \
cron-key= \
cron-interval=86400 \
dry-run=true \

Check also:

Cron will not run until you specify cron-interval option.
Cron key is for running cron manually for example calling
dry-run is equivalent to certbot’s –dry-run.

Help: Coming soon! 😀

An app bundled by ac-bundle-app, published by ac-bundle-module. namespace: certbot-autorenew-cron

Available Methods: start, startUps, workerStartUps, callbacks, build, cron, parseArgv, console, exit, consoleColors, camelCase, properCase, enhance, publish, server, has


How to renew WildCard SSL using LetsEncrypt Certbot updating DNS records automatically without interaction?

As LetsEncrypt does not allow webroot or any other verification method for renewing WildCard SSL certificates like *, for a client I needed to renew LetsEncrypt WildCard SSL automatically without requiring any manual interaction. It is simple but took some time to figure out. The most important certbot parameter here is manual-auth-hook. The client’s domain …