lantern-headless-client

command module
v1.0.26 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 3, 2025 License: GPL-3.0 Imports: 20 Imported by: 0

README

Lantern

Censorship circumvention tool available for free download on any operating system

cover page

Lantern Headless Client

This is a headless client for Lantern, which is a peer-to-peer censorship circumvention tool. It is designed to be run on a server/nas/router and to be used by a client running on a user's computer. It's targeted at advanced users who are comfortable with the command line.

Installation

All binary releases are available on the releases page and are signed with cosign. You can validate the signature by running cosign verify-blob -key cosign.pub -signature release_file.tar.gz.sig release_file.tar.gz. The public key is available here.

From binary

Download the latest release from the releases page. Extract the tarball and run the binary.

Debian/Ubuntu
echo "deb [trusted=yes] https://apt.fury.io/getlantern/ /" > /etc/apt/sources.list.d/fury.list
apt-get update
apt-get install lantern-headless
RedHat/CentOS
echo -e "[fury]\nname=Gemfury Private Repo\nbaseurl=https://yum.fury.io/getlantern/\nenabled=1\ngpgcheck=0" > /etc/yum.repos.d/fury.repo
yum install lantern-headless
Arch Linux
yay -S lantern-headless-bin
Alpine Linux
echo "https://alpine.fury.io/getlantern/" >> /etc/apk/repositories
apk add lantern-headless
Docker
docker run --name=lantern-headless \
  --volume=./lantern-data/:/data/ \
  --workdir=/ \
  -p 12345:12345 \
  -p 12346:12346 \
  --restart=always \
  --runtime=runc \
  --detach=true \
  getlantern/lantern-headless  \
  --data-path /data start --http-proxy-addr 0.0.0.0:12345 --socks-proxy-addr 0.0.0.0:12346
Scoop

scoop bucket add lantern-headless https://github.com/getlantern/lantern-headless-client-scoop-bucket.git`

scoop install lantern-headless-client
Homebrew
brew tap lantern/cli https://github.com/getlantern/lantern-headless-client-brew-tap.git

brew install lantern/cli/lantern-headless

Usage

lantern-headless-client --help will show you the available options.

Usage: lantern-headless-client [--data-path DATA-PATH] [--log-level LOG-LEVEL] [--json] <command> [<args>]

Options:
  --data-path DATA-PATH
                         Path to store data (config, logs, etc)
  --debug                Enable debug mode
  --raw                  Output logs in raw format
  --quiet                Disable all output
  --auth-url AUTH-URL    Override URL of the authentication server
  --insecure             Whether to skip TLS verification
  --help, -h             display this help and exit
  --version              display version and exit

Commands:
  auth                   Authenticate with Lantern
  start                  Start Lantern

Authentication

The application can be used without authentication, but it will be limited to a certain amount of data transfer.

To use the PRO version of Lantern, you need to authenticate with Lantern's servers. This needs to be done once, and the auth token will be stored in the data directory. The arguments can be passed via the command line, environment variables or entered interactively.

Please note that there is no way to pay for PRO account via the headless client. You need to use the desktop/mobile Lantern client for that.

Sign up
$ lantern-headless-client auth signup --email <email>
Login
$ lantern-headless-client auth login --email <email>
Logout
$ lantern-headless-client auth logout

Starting Lantern

To start Lantern, run lantern-headless-client start.

$ lantern-headless-client start

This will start the HTTP and SOCKS proxies on a random port, and print out the port numbers when it's ready to accept connections.

You can tweak this by supplying custom arguments:

Usage: lantern-headless-client start [--http-proxy-addr HTTP-PROXY-ADDR] [--socks-proxy-addr SOCKS-PROXY-ADDR] [--sticky-config] [--readable-config] [--proxies-yaml PROXIES-YAML] [--device-id DEVICE-ID]

Options:
  --http-proxy-addr HTTP-PROXY-ADDR
                         Address to bind to and use for HTTP the proxy. Defaults to a random port on localhost [default: 127.0.0.1:0]
  --socks-proxy-addr SOCKS-PROXY-ADDR
                         Address to bind to and use for SOCKS the proxy. Defaults to a random port on localhost [default: 127.0.0.1:0]
  --sticky-config        Whether to use a sticky config
  --readable-config      Whether to use a readable config

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL