GLASSDECKUPLINK
← network globe

Uplink

Feed the network, and you can pull the whole network back — every GLASSDECK feeder's traffic as one Beast stream, far past what your own antenna hears.

Read this first

Do not point Uplink at the instance that feeds your aggregators. readsb merges everything it receives — antenna and network alike — into one picture, and forwards that whole picture to every aggregator you feed. Add Uplink to your feeding instance and your site starts telling adsb.lol, airplanes.live and the rest that it received aircraft it never heard, from places it cannot see.

That is indistinguishable from a spoofed receiver. Aggregators discard the data and may ban the site. It would be your feeder that pays for it, and the mistake is one line in the wrong config file.

Measured, not assumed: a decoder with no antenna, fed only by Uplink, forwarded 253,602 bytes of other people's traffic to a test aggregator in 99 seconds.

The safe shape

Run Uplink in a separate instance that feeds nobody — no aggregator connectors, network input only. Below is the exact shape we run ourselves on the hub. A second container on the same Pi is fine.

Who can pull

Any feeder that has sent data to the network within the last 7 days. Nothing to apply for and nothing to renew — the same act that earns access keeps it. Stop feeding and it lapses on its own; start again and it comes back. One live pull per feeder, so the network's outbound load stays bounded by the number of people contributing to it.

Not feeding yet? Install the dashboard and join with one command — see the repo.

Pulling on the feeder itself

nothing to authorise

Traffic arriving from an address that recently fed is recognised automatically. Add this connector to a separate decoder:

feed.debeers-labs.xyz,30005,beast_in

Pulling somewhere else

one command, from the machine that will pull

Feeding from a Pi but consuming on a home server, desktop or VPS? Prove the feeder is yours from that machine — the address it arrives from is the one authorised:

curl -X POST https://globe.debeers-labs.xyz/api/uplink \
  -H 'Content-Type: application/json' \
  -d "{\"uuid\":\"$(sudo cat /opt/adsb/glassdeck/UUID)\"}"

Your UUID lives at /opt/adsb/glassdeck/UUID on the feeder. Treat it like a password — it is the only thing proving the feeder is yours.

If your UUID gets out

pasted a config somewhere? shared a screenshot?

Retire it and mint a new one. Run this on the feeder:

sudo python3 /opt/adsb/glassdeck/gd_install.py --rotate

Your coverage on the globe, your place in the network and your Uplink access all move to the new id — you do not start over. The old id stops working immediately, and anyone holding a copy of it gets nothing.

Rotating needs the old id and the feeder's own address, so someone who has only your UUID cannot rotate it out from under you. Any machines you registered under the old id carry across; there is nothing to re-run.

A working recipe

This is our own combine node, trimmed. It decodes and shows the network's traffic and feeds absolutely nothing outward:

services:
  uplink:
    image: ghcr.io/sdr-enthusiasts/docker-adsb-ultrafeeder:latest
    container_name: uplink
    restart: unless-stopped
    ports:
      - "8090:80"          # its own map, nothing to do with your feeder's
    environment:
      - TZ=UTC
      - READSB_NET_ENABLE=true
      - READSB_NET_ONLY=true
      - READSB_LAT=-25.0   # anywhere; it is only the map's centre
      - READSB_LON=134.0
      # the combined feed spans the planet, and readsb's default 300 nm
      # position check would throw away nearly all of it
      - READSB_MAX_RANGE=20000
      - READSB_NET_CONNECTOR=feed.debeers-labs.xyz,30005,beast_in
      - MLATHUB_DISABLE=true
      - UPDATE_TAR1090=true
    tmpfs:
      - /run:exec,size=256M
      - /tmp:size=64M

Note there is no beast_reduce_plus_out anywhere in it. That absence is the whole point — add one and you are back in the warning at the top of this page.

Check your Uplink

Paste your feeder's UUID to see what the network thinks of it. Nothing is stored and no one else's feeder is visible:

network globe classic map feeder dashboard contact