index

Server in the cloud-literally

· 2min

You’ve probably heard of servers in the cloud (giant data centers on the ground). What I wanted to do it the opposite (a laptop in clouds).

It’s actually surprisingly simple to setup a temporary web server anywhere for free. First, create your content (likely starting with an index.html file) then start a static local server.

In python this can be done with:

python3 -m http.server 8080

The conceptually challenging part is setting up a reverse proxy to capture public traffic and route it to your local server. However, this is also super easy with a CLI from Cloudflare. Simply:

cloudflared tunnel --url http://localhost:8080

And that’s all it takes! You can ask a friend on the ground to connect to the public URL provided by cloudflared and witness blazing fast speeds.

Webpage screenshot
Webpage screenshot

Okay, maybe almost a full second of latency for a <1 kB webpage isn’t great, but the traffic does have to follow several jumps.

                     Visitor


 https://[randomly generated].trycloudflare.com


                  Reverse Proxy
                       │  (tunnel)

Laptop on airplane Wi-Fi :8080  ←  the server!

I used traceroute (from the laptop on the plane) on the cloudflare public URL (reverse proxy to the server also on the laptop) and received this log:

64 hops max, 40 byte packets
 1  172.19.0.1 (172.19.0.1)  5.809 ms  5.152 ms  5.307 ms
 2  * * *
 3  * * *
 4  * * *
 5  10.92.108.2 (10.92.108.2)  1187.343 ms
    10.92.108.3 (10.92.108.3)  706.981 ms  586.904 ms
 6  10.95.15.45 (10.95.15.45)  940.461 ms  603.732 ms  623.739 ms
 7  * * *
 8  206.53.175.20 (206.53.175.20)  818.075 ms  694.616 ms  1230.285 ms
 9  172.68.32.28 (172.68.32.28)  818.005 ms
    172.68.32.12 (172.68.32.12)  1024.153 ms  819.715 ms
10  104.16.231.132 (104.16.231.132)  715.128 ms  761.500 ms  714.614 ms

I’m not a networking expert, but after examining the ip addresses and latency times, I think this is the path:

hopipinfo
1172.19.0.1plane wifi gateway
2-4* * *(no replies)
5-610.x.x.xsatellite node
8206.53.175.20Cloudflare (IX-Denver)
9172.68.x.xCloudflare anycast
10104.16.231.132Edge proxy

The most exciting part about this is the possible satellite links. The latency I observed matches that of Geosynchronous (GEO) satellites and makes sense based on what is known about airline wifi connectivity. In particular, Southwest has partnered with Viasat (Press Release) which, as the name suggests, is a satellite internet provider. Also, Viasat is known for deploying GEO communication satellites (although recent statements suggest an intent to expand into Non-Geostationary Satellite Orbit (NGSO) and even Low Earth Orbit (LEO)).

Maybe plane wifi really does require a lot to keep running (idk if it’s $8 worth but still).