Developer Tools Azure

IT Tools on Ubuntu 24.04 on Azure User Guide

| Product: IT Tools on Ubuntu 24.04 LTS on Azure

Overview

IT Tools is an open-source, self-hosted collection of around 80 handy online utilities for developers and people working in IT: token, UUID and hash generators, encoders and decoders, format converters, a crontab helper, network and subnet calculators, JSON and YAML tools and much more. Every tool runs entirely in your browser as a client-side Vue single-page app, so the data you paste in never leaves the page and there is no external database or service to run.

The cloudimg image serves the built IT Tools app with nginx on port 80, hardened and ready on first boot. Because IT Tools is designed as an open public utility with no authentication of its own, this image is secure by default: nginx gates the whole app behind per-VM HTTP Basic-Auth, and a unique password is generated on the first boot of every instance and written to a root-only file, so no two instances share a credential. A public, unauthenticated health endpoint is exposed at /health. Built from IT Tools v2024.10.22-7ca5933 (GPL-3.0), backed by 24/7 cloudimg support.

What is included:

  • IT Tools v2024.10.22-7ca5933 static app, built from the official source and served from /var/www/it-tools
  • nginx on :80 as the single public listener, gating the app behind per-VM HTTP Basic-Auth
  • A public, unauthenticated health endpoint at /health
  • A first-boot service that generates a unique admin password into a root-only 0600 file
  • The unmodified upstream source archive at /usr/share/it-tools (GPL-3.0 corresponding source)
  • nginx.service + it-tools-firstboot.service as systemd units, enabled on every boot
  • 24/7 cloudimg support

Prerequisites

An active Azure subscription, an SSH key pair, and a VNet plus subnet in the target region. Standard_B2s (2 vCPU / 4 GiB RAM) is a comfortable starting point; IT Tools serves static files, so it is light on resources. NSG inbound: allow 22/tcp from your management network and 80/tcp for the tools. IT Tools serves plain HTTP on port 80; for production, terminate TLS in front of it with your own domain.

Step 1 - Deploy from the Azure Marketplace

Sign in to the Azure Portal, choose Create a resource, search the Marketplace for IT Tools by cloudimg, and select Create. On Basics pick your subscription, resource group, region and size; under Administrator account choose SSH public key and paste your key; under Inbound port rules allow SSH (22) and HTTP (80). Then Review + create and Create.

Step 2 - Deploy from the Azure CLI

az vm create \
  --resource-group <your-rg> \
  --name it-tools \
  --image <marketplace-image-urn> \
  --size Standard_B2s \
  --admin-username azureuser \
  --ssh-key-values ~/.ssh/id_ed25519.pub \
  --vnet-name <your-vnet> --subnet <your-subnet> \
  --public-ip-sku Standard

az vm open-port --resource-group <your-rg> --name it-tools --port 80 --priority 1010

Step 3 - Connect to your VM

ssh azureuser@<vm-public-ip>

Step 4 - Confirm the service is running

IT Tools is served by nginx, and a one-shot first-boot service prepares the per-VM login. Confirm both, and that nginx is the only public listener:

systemctl is-active nginx.service it-tools-firstboot.service
ss -tln | grep ':80 '
test -f /var/lib/cloudimg/it-tools-firstboot.done && echo "first boot complete"

nginx.service reports active and it-tools-firstboot.service reports active, nginx is listening on :80, and the sentinel confirms first boot finished:

active
active
LISTEN 0      511          0.0.0.0:80        0.0.0.0:*
LISTEN 0      511             [::]:80           [::]:*
first boot complete

nginx and it-tools-firstboot services active, nginx listening on port 80

Step 5 - Verify the authentication gate

IT Tools has no login of its own, so nginx gates the whole app behind HTTP Basic-Auth. The public /health endpoint returns 200 without credentials, the app returns 401 without credentials, and 200 with the per-VM login:

curl -s -o /dev/null -w 'health: %{http_code}\n' http://127.0.0.1/health
curl -s -o /dev/null -w 'unauth: %{http_code}\n' http://127.0.0.1/
sudo bash -c 'U=$(grep ^IT_TOOLS_USERNAME= /var/lib/cloudimg/it-tools-credentials.txt | cut -d= -f2-); P=$(grep ^IT_TOOLS_PASSWORD= /var/lib/cloudimg/it-tools-credentials.txt | cut -d= -f2-); curl -s -o /dev/null -w "auth: %{http_code}\n" -u "$U:$P" http://127.0.0.1/'

You see health: 200, unauth: 401 and auth: 200 - proof the app is reachable only with the per-VM credential:

health: 200
unauth: 401
auth: 200

The public health endpoint returns 200, the app returns 401 without credentials and 200 with the per-VM login

Step 6 - Read your per-VM login

The unique per-VM credential (username admin) is written to a root-only file on first boot:

sudo stat -c 'file mode: %a  owner: %U:%G' /var/lib/cloudimg/it-tools-credentials.txt
sudo cat /var/lib/cloudimg/it-tools-credentials.txt

Example output (your password is unique to this VM):

file mode: 600  owner: root:root
# IT-Tools 2024.10.22 on Ubuntu 24.04 (cloudimg Azure Marketplace image)
# Per-VM HTTP Basic-Auth credentials - UNIQUE to this VM, minted at first boot.

IT_TOOLS_URL=http://<vm-public-ip>/
IT_TOOLS_USERNAME=admin
IT_TOOLS_PASSWORD=6a84b312d11946e711ba7889ce701de5

The per-VM credentials file, mode 0600 root:root, with the generated admin password

Step 7 - Open IT Tools

Browse to http://<vm-public-ip>/ in any modern browser. Your browser prompts for the HTTP Basic-Auth login: enter admin and the password from Step 6. IT Tools opens on its home page, showing every tool grouped by category (Crypto, Converter, Web, Network, Text, Data, Development and more) in a searchable grid.

The IT Tools home page showing the searchable grid of tools grouped by category

Step 8 - Generate a token

Open Token generator from the Crypto group (or search for it at the top). Choose which character sets to include (uppercase, lowercase, numbers, symbols) and the length, and IT Tools generates a random token on the spot. Click the copy icon to put it on your clipboard. Everything is computed in your browser - no token ever leaves the page.

The Token generator producing a random token with the character-set and length options

Step 9 - Generate UUIDs

Open UUID generator. IT Tools generates a valid RFC-4122 UUID (v4 by default) immediately; change the version or the quantity to produce a batch, and copy the result. This is handy for seeding test data or generating identifiers without a database round-trip.

The UUID generator showing a freshly generated version 4 UUID

Step 10 - Hash text

Open Hash text from the Crypto group. Type or paste any text and IT Tools computes its MD5, SHA-1, SHA-256, SHA-512 and other digests live as you type, with a selectable output encoding (hex, base64, and more). For example, hashing hello gives the SHA-256 digest 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 - the well-known value, computed entirely client-side.

The Hash text tool showing MD5, SHA-1, SHA-256 and SHA-512 digests of the entered text

Maintenance

  • Data: IT Tools is client-side; every tool computes in your browser and nothing is stored server-side. There is no database to back up.
  • Change the login: the per-VM password lives in the nginx htpasswd file. To set your own, run sudo htpasswd -B /etc/nginx/.it-tools-htpasswd admin and follow the prompts, then sudo systemctl reload nginx.
  • Source code: the unmodified upstream source for this GPL-3.0 release ships on disk at /usr/share/it-tools/it-tools-v2024.10.22-7ca5933-source.tar.gz.
  • TLS: IT Tools serves plain HTTP on port 80; front it with TLS (for example certbot) and your own domain before production use.
  • Restart: sudo systemctl restart nginx.service if you need to bounce the web server.
  • Security patches: unattended-upgrades remains enabled so the OS continues to receive security updates automatically.

Support

cloudimg provides 24/7 expert support for this image. Contact support@cloudimg.co.uk.

IT Tools is open-source software released under the GNU General Public License v3.0 (GPL-3.0). cloudimg is not affiliated with, endorsed by, or sponsored by the IT Tools project or its author. This image packages the open-source IT Tools software for convenient deployment on Microsoft Azure. All trademarks are the property of their respective holders.