When I’m developing a website on my PC, I like to be able to test out the design on multiple devices — occasionally sharing it live with people around the world.
Recently, I developed a simple batch script to do two things: start an HTTP server and open up a tunnel to the server so anyone on the internet can access it.
There are a few things you’ll need to have set up before starting your HTTP server:
The main code in this article is made in a DOS batch (
.bat) file, which is only available on PCs.
Python will be used to start the server on your localhost. You can use either Python 2.x or Python 3.x. You’ll also need to make sure it’s added to your PATH when you install it.
There’s only a minor change you’ll need to make to the code if you choose to use a version of Python 2.
To help us understand what’s going on here, we’ll take a look at each line of the code.
As mentioned earlier, we’ll use Python to start up a local HTTP server.
The code above starts a new command prompt window running Python’s
http.server module on port 80. This means the contents of the folder you run this command in will now be served at http://localhost:80.
If you’re using a version of Python 2, all you need to do is replace
We’ll use ngrok to open up a tunnel to the server running on your localhost. This means anyone who visits your auto-generated ngrok URL will see your local server running on Python.
To use this script, you’ll want to save it to a folder in the PATH variable. This means you’ll be able to use it from anywhere on your computer.
To actually use the script, click on the address bar in the File Explorer, type in the name of the script as you saved it — with or without the file extension — and press Enter.
Alternatively, you can open a Command Prompt window, navigate to the folder you’d like to host, and run the script from there.
This simple script can make your life a whole lot easier when it comes to developing a website. With just a few clicks, you can start a server and see how your site looks on a variety of devices.