A direct route
Your node asks your router to forward one TCP port, over UPnP, NAT-PMP or PCP, and Lantern's apps connect straight to it. Lantern checks it can reach your node before sending anyone. On a server, open the port in its firewall instead.
By Lantern
Lamplighter turns a computer you already have into a way around censorship. Run it at home or on a server, and Lantern sends people in censored countries to the open internet through it.
Lamplighter is lantern-box, the same server Lantern runs around the world, set up to take its instructions from Lantern. Nothing to configure. It registers itself, gets fresh credentials every hour, and starts helping.
Your node asks your router to forward one TCP port, over UPnP, NAT-PMP or PCP, and Lantern's apps connect straight to it. Lantern checks it can reach your node before sending anyone. On a server, open the port in its firewall instead.
It also runs Lantern's Unbounded volunteer, which carries encrypted traffic over WebRTC between people in censored countries and Lantern's servers. It needs no open port, so it works on any network.
When you stop the node, it removes its port forward and tells Lantern to stop sending people to it.
One command, then it starts on its own every time the computer does.
With Homebrew, on Apple silicon or Intel. Homebrew on Linux works the same way.
brew install getlantern/tap/lantern-box
brew services start lantern-boxbrew services info lantern-boxtail -f $(brew --prefix)/var/log/lantern-node.logbrew services stop lantern-boxDebian, Ubuntu, Fedora, RHEL 8 and later, openSUSE, or any Linux with systemd 235 or later, on amd64 or arm64. That includes a Raspberry Pi on a 64-bit OS.
curl -fsSL https://lamplighter.lantern.io/install.sh | shIt installs the latest release's package, checks it against the release's checksums, and starts the lantern-node service as an unprivileged user. Run it again to upgrade. To pass settings, set them first:
curl -fsSL https://lamplighter.lantern.io/install.sh |
LANTERN_NODE_ARGS="--bandwidth-limit 10mbit" shsystemctl status lantern-nodejournalctl -u lantern-node -fsudo systemctl disable --now lantern-nodeOn Linux, amd64. Host networking lets the node find your router and be reached on its port.
docker run -d --name lantern-node --restart unless-stopped --network host \
--stop-timeout 70 -v lantern-node:/var/lib/lantern-node \
--entrypoint /usr/local/bin/lantern-box \
getlantern/lantern-box:latest serve --register --state-dir /var/lib/lantern-nodedocker ps -f name=lantern-nodedocker logs -f lantern-nodedocker stop lantern-nodeHow you pass them depends on how you installed the node:
LANTERN_NODE_ARGS set, as above. It saves exactly those flags, replacing any from before, and restarts the node with the same identity and port. To clear them, use LANTERN_NODE_ARGS="". Rerunning it without LANTERN_NODE_ARGS at all, as to upgrade, keeps the saved flags.docker stop lantern-node && docker rm lantern-node, then the docker run command again with your flags at the end. The lantern-node volume keeps its identity and port.etc/lantern-node.args under Homebrew's prefix (brew --prefix shows it), then run brew services restart lantern-box. If you installed before version 0.0.209, run brew upgrade lantern-box once first.--bandwidth-limit | Caps the volunteer relay's traffic in each direction, such as 10mbit or 2MB/s. |
|---|---|
--max-peers | How many people the volunteer relay serves at once. |
--port | Listen on this port instead of a random one. |
--no-port-mapping | Don't ask the router to forward the port, if you forward it yourself. |
There's no sign-up. Install it on a computer in a country without internet censorship, and it starts helping right away. Lamplighter helps from the outside in, so it doesn't run in censored countries.
People who connect straight to your node browse through your connection, so the sites they visit see your IP address, and their Lantern app learns it too. The volunteer relay is different: its traffic leaves through Lantern's servers.
--bandwidth-limit caps the volunteer relay. Direct connections aren't capped yet, so on a metered connection, keep an eye on your usage.
Like every Lantern volunteer, your node sees the IP addresses of the people it helps. For direct connections it also sees which sites they visit, though not what's on secure (HTTPS) pages.
Each node picks its own port the first time it runs and keeps it, so nodes can't be found by scanning for a well-known port. The node's log shows which one it chose.
Everything that runs on your computer is in getlantern/lantern-box, under the GPL. The installer is one short script you can read first.