Understanding why some URLs only work on your computer and how to access services from other devices.
What it means: "This computer only"
Also known as: localhost
Who can access it: Only the machine running the service
Example: http://127.0.0.1:5001/
What it means: Your computer's address on the local network
Who can access it: Any device on the same WiFi/network
Example: http://10.0.0.134:5001/
When you type 127.0.0.1, your computer says "talk to myself" - the request never leaves your machine.
Every computer has its own 127.0.0.1, so when your phone tries to access 127.0.0.1, it's trying to talk to itself, not your laptop!
Your router assigns each device a unique IP address (like 10.0.0.134).
Other devices use this address to find and talk to your computer over the network.
ip addr show wlan0 | grep "inet "
Or for all interfaces:
hostname -I
| Home networks usually use: | 192.168.x.x or 10.0.x.x |
| Ignore these: | 127.0.0.1 (localhost) |
For other devices to access your service, it must listen on all interfaces:
app.run(host='0.0.0.0', port=5001)
0.0.0.0 means "listen on ALL network interfaces" (both localhost AND network IP)
app.run(host='127.0.0.1', port=5001)
This will ONLY work from the same computer - other devices cannot connect!
| Kismet Web UI |
On laptop: http://127.0.0.1:2501From phone: http://10.0.0.134:2501
|
| Live RF Sensors |
On laptop: http://127.0.0.1:5001From phone: http://10.0.0.134:5001
|
| BirdNET |
On laptop: http://127.0.0.1:PORTFrom phone: http://10.0.0.134:PORT
|
curl http://127.0.0.1:PORT0.0.0.0, not just 127.0.0.1sudo ss -tlnp | grep 5001
Look for 0.0.0.0:5001 (accessible from network) vs 127.0.0.1:5001 (local only)
Your local IP can change after rebooting or reconnecting to WiFi.
Always re-check with: hostname -I
| 127.0.0.1 | This computer only (loopback) |
| 0.0.0.0 | Listen on ALL interfaces (for servers) |
| 10.0.0.x / 192.168.x.x | Your real network address (shareable) |