Lantern Server Manager is a tool for managing your own Lantern servers. It will allow you to easily set up a server, configure it, and allow to share access to it with your friends.
When running inside Docker container, we don't want to use random ports, so we need to specify the ports we want to use. We also can't use automatic TLS certificate provisioning with Let's Encrypt, so you need to provider key/cert params.
docker run -d \
--name lantern-server-manager \
-e NO_FIREWALLD=true \
-e NO_SYSTEMD=true \
-p 8080:8080 \
-p 1234:1234 \
-v /path/to/config:/config \
getlantern/lantern-server-manager -d /config --vpn-port 1234 --api-port 8080 --cert /config/cert.pem --key /config/key.pem
ssh root@xxxxxxxx sudo journalctl -u lantern-server-manager
gcloud compute firewall-rules create allow-all-to-instance \
--direction=INGRESS \
--priority=1000 \
--network=lanternet \
--action=ALLOW \
--rules=all \
--target-tags=allow-all-traffic \
--source-ranges=0.0.0.0/0
gcloud compute instances add-tags instance-20250414-160036 --tags=allow-all-traffic --zone=us-west1-c
gcloud compute instances add-tags instance-20250414-160036 --tags=allow-all-traffic --zone=us-west1-c sudo journalctl -u lantern-server-manager
ssh ec2-user@xxxxxxxx sudo journalctl -u lantern-server-manager
export API_KEY=your_access_keycurl -vk https://xxx.xxx.xxx.xxx:yyyy/api/v1/connect-config?token=$API_KEYcreateShareLink API. This will generate a link that you can send to the user you want to share access with. Each link has a unique name associated with that user.curl -vk https://xxx.xxx.xxx.xxx:yyyy/api/v1/share-link/unique-user-name?token=$API_KEYlantern://xxx.xxx.xxx.xxx/yyyyyy where xxx.xxx.xxx.xxx is the server's IP address and yyyyyy is the access key. The access key is timestamped and expires after NN minutes./connect-config request but will use the access key from the link instead of the root access key.cloud-init.service's Before=sysinit.target ordering to break the boot cycle
with firewalld, without allowing networking to start before the firewall.
Other network-stage ordering is retained; the override is not shipped in RPMs.
These servers must not depend on cloud-init's network-stage disk/filesystem
setup completing before system initialization. Custom images that need that
behavior require a different firewall/boot design. A full unit override is
necessary because systemd drop-ins cannot reset ordering dependencies.
Recheck /etc/systemd/system/cloud-init.service against the vendor unit when
upgrading cloud-init; existing local overrides are preserved by packaging.lantern-box, but the package and systemd unit are
named sing-box-extensions. Its service reads /etc/lantern-box/config.json;
the manager synchronizes that file from its data directory on startup and
whenever the VPN configuration changes.Content type
Image
Digest
sha256:e4bff7d12…
Size
69.1 MB
Last updated
19 days ago
docker pull getlantern/lantern-server-manager