Deployment guide

IT Tools

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.

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

What you get:

  • 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 SecureAnyCloud support

Prerequisites

You need an active Azure subscription, an SSH key pair, and a VNet and subnet in the target region. Standard_B2s (2 vCPU / 4 GiB RAM) is a comfortable starting point, because IT Tools serves static files and is light on resources. For NSG inbound rules, 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 SecureAnyCloud, and select Create. On the Basics tab, 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 select Review + create, and then Create.

Step 2 - Deploy from the Azure CLI

To deploy with the Azure CLI instead of the portal, run the following commands:

# Accept the Marketplace terms once per subscription (required before the first CLI deploy)
az vm image terms accept --urn sac1647283583153:it-tools-ubuntu-24-04:default:latest
az vm create \
  --resource-group <your-rg> \
  --name it-tools \
  --image sac1647283583153:it-tools-ubuntu-24-04:default:latest \
  --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

Connect to your VM over SSH as the administrator user you chose at deployment:

ssh azureuser@<vm-public-ip>

Step 4 - Confirm the service is running

nginx serves IT Tools, and a one-shot first-boot service prepares the per-VM login. Confirm that both are running 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/sac/data/it-tools-firstboot.done && echo "first boot complete"

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

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

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/sac/data/it-tools-credentials.txt | cut -d= -f2-); P=$(grep ^IT_TOOLS_PASSWORD= /var/lib/sac/data/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/'

The output shows health: 200, unauth: 401 and auth: 200, which confirms that the app is reachable only with the per-VM credential:

health: 200 unauth: 401 auth: 200

Step 6 - Read your per-VM login

First boot writes the unique per-VM credential (username admin) to a root-only file. Read it with:

sudo stat -c 'file mode: %a owner: %U:%G' /var/lib/sac/data/it-tools-credentials.txt
sudo cat /var/lib/sac/data/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 (sac 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=<set-at-first-boot>

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.

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. Select the copy icon to put the token on your clipboard. Your browser computes everything, so no token ever leaves the page.

Step 9 - Generate UUIDs

Open UUID generator. IT Tools immediately generates a valid RFC-4122 UUID (v4 by default). 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.

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.

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, follow the prompts, and then run sudo systemctl reload nginx.
  • Source code: the unmodified upstream source for this GPL-3.0 release is 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. Before you run it in production, front it with TLS (for example, certbot) and your own domain.
  • Restart: run sudo systemctl restart nginx.service to restart the web server.
  • Security patches: unattended-upgrades stays enabled, so the OS continues to receive security updates automatically.

Support

SecureAnyCloud provides 24/7 expert support for this image. Contact sales@secureanycloud.com.

IT Tools is open-source software released under the GNU General Public License v3.0 (GPL-3.0). SecureAnyCloud 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.

Deploy on Azure

Launch IT Tools on Ubuntu 24.04 LTS on Azure with 24/7 support from SecureAnyCloud.

View this image

Need Help?

Our support team is available 24/7.

sales@secureanycloud.com

Deploy on Azure