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.
Features
Zero config bootstrap - if no parameters are provided, we'll automatically generate random certificates/access keys.
Runnable as a Docker container, single binary or a cloud Marketplace item.
Supports configuration via environment variables, command line arguments or a config file.
Creates easy access codes in its log by printing a QR code
Web UI
Console UI
REST API
Flow
User starts the server
User gets a QR code in the logs
The QR code contains the URL to the server and the access key
User scans the QR code with the Lantern app
The app is now the MANAGER of the server
The app can now share access to the server with other users by calling a 'create share link' API and sending the resulting link to the user they want to grant access to
The link is in lantern://xxx.xxx.xxx.xxx/yyyyyy format, where
xxx.xxx.xxx.xxx is the server's IP address
yyyyyy is the access key (the key is timestamped and expires after NN minutes)
The user clicks the link and is redirected to the Lantern app
Their app will create a private/public key pair and send the public key to the server together with the access key
The server will verify the access key and store the public key in its VPN 'peer' list
The new user can now connect to the VPN
Notes
The "root" access key is the one that is generated when the server is started.
It's the only key that can be used to manage the server.
It's stored in the server's config file and on the phone that scanned the initial QR
If that key is lost, the server can no longer be managed and the only way to regain access is to delete the config file and start over.