No description
Find a file
Elle Mouton c2eb98db38
multi: add PermissionsManager
In this commit, a new PermissionsManager is added. It handles all the
active permissions that Lit has access to. This moves us away from using
global variables for permission lists. This change might seem overkill
on its own but hugely simplifies the permission management once we add
lnd subserver permissions.
2022-09-01 13:04:06 +02:00
.github chore: exclude dependabot version updates 2022-08-03 22:14:46 -04:00
.vscode chore: fix vscode linting with wrong TS version 2021-01-27 11:11:24 -05:00
app app/src: run make protos and update sampleData 2022-08-25 10:00:16 +02:00
cmd cmd/litcli: use macaroon instead of ui password 2022-06-07 11:46:02 +02:00
doc docs: Match and pass /litrpc.* locations in nginx 2022-01-04 19:58:29 -05:00
itest multi: add PermissionsManager 2022-09-01 13:04:06 +02:00
litrpc litrpc+session: add CreatedAt member to Session 2022-08-18 18:37:44 +02:00
make make: use latest git tag for version in release 2020-11-02 13:18:17 +01:00
proto multi: bump all dependencies to latest versions 2022-06-24 16:18:14 +02:00
scripts itest: copy integration test framework from lnd 2022-02-08 15:33:16 +01:00
session multi: add deadline for first connection of new LNC conn 2022-08-23 09:31:18 +02:00
.dockerignore cmd: rename binary to litd 2020-07-21 22:10:33 +02:00
.gitattributes chore: fix generated code being included in language stats 2020-12-11 18:00:16 -05:00
.gitignore itest+make: add remote mode integration test 2022-02-08 15:33:19 +01:00
.prettierrc docs: reformat readme markdown 2020-06-13 00:39:59 -04:00
config.go multi: add deadline for first connection of new LNC conn 2022-08-23 09:31:18 +02:00
dev.Dockerfile build: update NodeJS to v16 in CI builds 2022-04-04 09:50:46 -04:00
Dockerfile docker: fix build by removing unused python install 2022-04-21 18:32:22 +02:00
go.mod go.mod: use new LNC tag 2022-08-25 10:44:38 +02:00
go.sum go.mod: use new LNC tag 2022-08-25 10:44:38 +02:00
gzip.go multi: rename golang and make files to lightning-terminal 2020-07-21 22:06:15 +02:00
LICENSE docs: add MIT license 2021-07-16 18:27:27 -04:00
log.go log: register mailbox logger 2022-03-21 14:18:40 +02:00
Makefile terminal+make: encode and print LiT version 2022-02-17 16:35:56 +01:00
README.md version+README: prepare for release of v0.7.1-alpha 2022-08-25 10:01:59 +02:00
release.sh cmd/litcli: add litcli for session functions 2021-11-24 13:44:26 -05:00
rpc_proxy.go multi: add PermissionsManager 2022-09-01 13:04:06 +02:00
session_rpcserver.go multi: add PermissionsManager 2022-09-01 13:04:06 +02:00
subserver_permissions.go multi: add PermissionsManager 2022-09-01 13:04:06 +02:00
terminal.go multi: add PermissionsManager 2022-09-01 13:04:06 +02:00
tools.go tools+session: run make fmt 2022-01-19 14:29:30 +01:00
version.go version+README: prepare for release of v0.7.1-alpha 2022-08-25 10:01:59 +02:00

Lightning Terminal (LiT)

CI

Lightning Terminal (LiT) is a browser-based interface for managing channel liquidity.

screenshot

Features

  • Visualize your channels and balances
  • Perform submarine swaps via the Lightning Loop service
  • Classify channels according to your node's operating mode
  • Run a single binary that integrates loopd, poold and faraday daemons all in one
  • Access a preview release of the Pool UI
  • Use Pool to earn sats by opening channels to those needing inbound liquidity

Installation

Download the latest binaries from the releases page.

Additionally, you can find detailed instructions on the docs.lightning.engineering page.

Execution

Run Lightning Terminal with a local lnd instance:

⛰  ./litd --uipassword=UP48lm4Vjqxy<change_this_or_you_will_get_robbed>

Visit https://localhost:8443 to access Terminal.

Note that a password with a minimum of 8 characters is required to run Lightning Terminal. In a production environment, it's recommended that you store this password as an environment variable to avoid it being recorded in the command history.

To use LiT with a remote lnd instance please follow these instructions. If you would like to replace your existing LND instance with the one integrated within LiT please see configuring Terminal.

LND

Note that LiT requires lnd to be built with all of its subservers and requires running at least v0.11.0. Download the latest official release binary or build lnd from source by following the installation instructions. If you choose to build lnd from source, use the following command to enable all the relevant subservers:

⛰  make install tags="signrpc walletrpc chainrpc invoicesrpc"

Interaction

If you plan to run LiT on a remote machine but access the web-interface from your computer you may not want to deal with self-signed certificate browser warnings. To avoid these warnings configure the HTTP server to use a certificate from Let's Encrypt. View the Let's Encrypt Configuration doc for instructions on how to configure this.

Upgrading

If you used command line arguments with previous versions then you don't need to change anything when upgrading.

To upgrade from v0.1.1-alpha or earlier simply create a lit.conf file in your LiT directory. The default location LiT uses depends on your operating system:

  • MacOS: ~/Library/Application Support/Lit/lit.conf
  • Linux: ~/.lit/lit.conf
  • Windows: ~/AppData/Roaming/Lit/lit.conf

Move all the configuration settings specific to LiT from lnd.conf to lit.conf and remove any previous LiT-specific customizations from the configuration settings in lnd.conf. Note that any section headers ([ Example ]) in lit.conf should be removed or changed to comments (# Example).

Usage

Read the walkthrough document to learn more about how to use LiT.

Troubleshooting

If you encounter any issues please see our troubleshooting guide.

Build from source

If youd prefer to compile from source code please follow these instructions.

Compatibility

Lightning Terminal is backwards compatible with lnd back to version v0.14.3-beta.

LiT LND
v0.7.1-alpha v0.14.3-beta
v0.7.0-alpha v0.14.3-beta
v0.6.7-alpha v0.13.3-beta
v0.6.6-alpha v0.13.3-beta
v0.6.5-alpha v0.13.3-beta
v0.6.4-alpha v0.13.3-beta
v0.6.3-alpha v0.13.3-beta
v0.6.2-alpha v0.13.3-beta
v0.6.1-alpha v0.13.3-beta
v0.6.0-alpha v0.13.3-beta
v0.5.2-alpha v0.12.0-beta
v0.5.1-alpha v0.12.0-beta
v0.5.0-alpha v0.12.0-beta
v0.4.1-alpha v0.11.1-beta
v0.4.0-alpha v0.11.1-beta
v0.3.4-alpha v0.11.1-beta
v0.3.3-alpha v0.11.1-beta
v0.3.2-alpha v0.11.1-beta
v0.3.1-alpha v0.11.1-beta
v0.3.0-alpha v0.11.1-beta
v0.2.0-alpha v0.11.0-beta

LiT offers two main operating modes, one in which lnd is running inside the LiT process (called "lnd integrated mode", set by lnd-mode=integrated config option) and one in which lnd is running in a standalone process on the same or remote machine (called "lnd remote mode", set by lnd-mode=remote config option).

In addition to those main modes, the individual bundled daemons (Faraday, Loop and Pool) can be toggled to be integrated or remote as well. This offers a large number of possible configuration combinations, of which not all are fully supported due to technical reasons.

The following table shows the supported combinations:

lnd-mode=integrated lnd-mode=remote
faraday-mode=integrated X X
loop-mode=integrated X X
pool-mode=integrated X X
faraday-mode=remote X
loop-mode=remote X
pool-mode=remote X
lnd running in "stateless init" mode X

Daemon Versions packaged with LiT

LiT LND Loop Faraday Pool
v0.7.1-alpha v0.15.0-beta v0.19.1-beta v0.2.8-alpha v0.5.7-alpha
v0.7.0-alpha v0.15.0-beta v0.19.1-beta v0.2.8-alpha v0.5.7-alpha
v0.6.7-alpha v0.14.3-beta v0.18.0-beta v0.2.7-alpha v0.5.6-alpha
v0.6.6-alpha v0.14.3-beta v0.18.0-beta v0.2.7-alpha v0.5.6-alpha
v0.6.5-alpha v0.14.2-beta v0.15.1-beta v0.2.7-alpha v0.5.5-alpha
v0.6.4-alpha v0.14.2-beta v0.15.1-beta v0.2.7-alpha v0.5.4-alpha
v0.6.3-alpha v0.14.2-beta v0.15.1-beta v0.2.7-alpha v0.5.4-alpha
v0.6.2-alpha v0.14.1-beta v0.15.1-beta v0.2.7-alpha v0.5.4-alpha
v0.6.1-alpha v0.14.1-beta v0.15.1-beta v0.2.7-alpha v0.5.2-alpha
v0.5.3-alpha v0.13.3-beta v0.14.1-beta v0.2.6-alpha v0.5.0-alpha
v0.5.2-alpha v0.13.3-beta v0.14.1-beta v0.2.6-alpha v0.5.0-alpha
v0.5.1-alpha v0.13.0-beta v0.14.1-beta v0.2.6-alpha v0.5.0-alpha
v0.5.0-alpha v0.13.0-beta v0.14.1-beta v0.2.6-alpha v0.5.0-alpha
v0.4.1-alpha v0.12.1-beta v0.11.4-beta v0.2.3-alpha v0.4.4-alpha
v0.4.0-alpha v0.12.0-beta v0.11.2-beta v0.2.3-alpha v0.4.3-alpha
v0.3.4-alpha v0.11.1-beta v0.11.2-beta v0.2.2-alpha v0.3.4-alpha
v0.3.3-alpha v0.11.1-beta v0.11.2-beta v0.2.2-alpha v0.3.4-alpha
v0.3.2-alpha v0.11.1-beta v0.11.1-beta v0.2.2-alpha v0.3.4-alpha
v0.3.1-alpha v0.11.1-beta v0.11.1-beta v0.2.2-alpha v0.3.3-alpha
v0.3.0-alpha v0.11.1-beta v0.11.0-beta v0.2.2-alpha v0.3.2-alpha
v0.2.0-alpha v0.11.1-beta v0.10.0-beta v0.2.1-alpha n/a
v0.1.1-alpha v0.11.0-beta v0.8.1-beta v0.2.0-alpha n/a
v0.1.0-alpha v0.10.3-beta v0.6.5-beta v0.2.0-alpha n/a