Deploy Kali Linux 2026.3 Web Terminal (Browser Shell)

Kali shell in your browser: nmap, sqlmap, ffuf, hydra. Password-protected.

Deploy Kali Linux 2026.3 Web Terminal (Browser Shell)

Deploy and Host Kali Linux 2026.3 Web Terminal with Railway

Deploy on Railway

A Kali Linux 2026.3 (kali-rolling) shell you open in any browser, with the command-line tools people reach for first: nmap, sqlmap, ffuf, gobuster, feroxbuster, nuclei, hydra, john, netexec, impacket and searchsploit. The shell runs in tmux, so sessions and long scans survive closed tabs. A generated password protects it, and your home directory sits on a persistent volume. Need Metasploit or the full Kali tool set? Name it in one variable and Railway bakes it into the image.

About Hosting Kali Linux 2026.3 Web Terminal

A web terminal needs a long-running Linux container, a terminal server, real authentication in front of it, TLS, and storage that outlives rebuilds. This community template builds on the official kalilinux/kali-rolling image (pinned by digest) and serves the shell with ttyd. nginx stands in front of ttyd and checks a password that Railway generates at deploy, so the login never shows up in logs. You work as the user kali with sudo, and /home is a Railway volume. Railway's edge provides HTTPS.

Common Use Cases

  • Security training, CTFs and HackTheBox / TryHackMe style labs from any browser, including Chromebooks and managed work laptops
  • Recon and web testing of systems you own or are authorized to test, from a cloud IP instead of your home connection
  • Running long scans and brute-force jobs in tmux and checking back on them later
  • Learning Kali's command-line tools without installing a VM

Dependencies for Kali Linux 2026.3 Web Terminal Hosting

  • A Railway volume mounted at /home (included in the template)
  • Nothing else: no database, no API keys, no external accounts

Deployment Dependencies

Implementation Details

ServiceSourcePurpose
TerminalDockerfile based on kalilinux/kali-rollingnginx basic-auth proxy on port 8080 (public HTTPS domain, /healthz), ttyd on loopback, tmux sessions, user kali with sudo, volume at /home

Plan: light enough for any plan. Measured on Railway: about 0.15 GB of RAM idle with an open tmux session, 0.17 GB during an nmap -sV scan. The default image installs about 1.8 GB of packages. KALI_EXTRA_PACKAGES makes it larger (Metasploit adds about 1.9 GB, kali-linux-headless about 4 GB), and heavy tools such as Metasploit need more RAM than the shell alone.

First login

  1. Open the service's public URL.
  2. Your browser asks for a user name and password. The user name is kali (the USERNAME variable). The password is the generated PASSWORD value on the service's Variables tab.
  3. You land in a tmux session named main. Close the tab at any time and reopen the URL to resume. For a second, independent session, open https://{your-domain}/?arg=work.
  4. sudo -i gives you a root shell.

Tools included

AreaTools
Reconnmap, dnsrecon, subfinder, httpx (httpx-toolkit), theHarvester, whois, dig
Websqlmap, ffuf, gobuster, feroxbuster, dirb, whatweb, wfuzz, nuclei, sslscan
Passwordshydra, john, /usr/share/wordlists (rockyou and others)
Windows / ADnetexec, impacket scripts, smbclient, enum4linux-ng
Referencesearchsploit (exploitdb)
Everydaygit, curl, wget, python3, pip, pipx, build-essential, vim, nano, tmux, htop, jq, socat

More tools: set the KALI_EXTRA_PACKAGES variable to a space-separated list of Kali packages, for example metasploit-framework or kali-linux-headless (Kali's full command-line set). Railway passes the variable to the Docker build, so the next deploy builds an image with those packages and they survive every redeploy. Larger sets make the image bigger and the build slower. Packages you install with sudo apt install in the shell work right away but reset on the next redeploy.

What persists: everything under /home/kali: files, loot, notes, shell history, Python virtualenvs and pipx apps in ~/.local, Go tools in ~/go/bin. Running processes and packages installed with apt reset on every redeploy or restart. tmux keeps sessions alive across browser reconnects, not across container restarts.

Authorized use only

Kali's tools can scan, brute-force and exploit systems. Use them only against systems you own or have written permission to test. Railway's Fair Use Policy and Terms of Service apply to everything that runs in this shell, and scanning or attacking third-party networks from Railway can get your account suspended. Railway containers have no raw-socket access (CAP_NET_RAW), so SYN scans (-sS), UDP scans, OS detection (-O), masscan and packet capture do not work. nmap is set up for TCP connect scans, which work for every user and under sudo, including service and script detection (nmap -sV -sC). ping works with sudo.

Security: the shell is never served without a password. With an empty or short PASSWORD the service refuses to start. nginx checks the password, which the container keeps only as a SHA-512 crypt hash, and rate-limits attempts. It also rejects WebSocket connections from other sites. ttyd listens on 127.0.0.1 only. The password does not appear in logs, process arguments or the shell environment. To change it, edit PASSWORD and redeploy. Browsers cache basic-auth logins until you close them, so use a private window on shared computers.

Scaling: this is a single-user machine on one volume, so keep one replica. Railway scales RAM and CPU vertically up to your plan limit. For a team, deploy one terminal per person.

Pinning and upgrades: the Kali base image is pinned by digest on the FROM line of services/terminal/Dockerfile. Every fresh build runs apt-get full-upgrade, which brings the rolling release up to date. Railway may reuse cached build layers, so change the digest to force a fresh one.

Why Deploy Kali Linux 2026.3 Web Terminal on Railway?

Railway gives the terminal an HTTPS URL, a persistent volume and automatic restarts, with no server to administer. You get a protected Kali shell from one click and pay only for the CPU and memory it uses. This is a community template, not affiliated with OffSec, the Kali Linux project, the ttyd author or Railway. Kali Linux is a trademark of OffSec Services Limited.


Template Content

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
51
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
51