Sweeps the build-time dependency tree, which is where most of what `yarn audit` reports actually lives. This takes the frontend from 419 findings across 42 packages down to 16 across 9. Most of it is lockfile-only. `yarn upgrade` does not re-resolve transitive entries in yarn 1, so the affected entries were dropped from yarn.lock and reinstalled, which picks the newest version each parent's existing range already allows. That covers the four open dependabot PRs (shell-quote, websocket-driver, @babel/core and @babel/plugin-transform-modules-systemjs) along with @babel/helpers, ajv, async, brace-expansion, form-data, glob, js-yaml, json5, nanoid, terser and ws. Re-resolving express to 4.22.2 pulls patched body-parser, cookie, path-to-regexp and qs with it, and clears the stale minimatch 3.0.4 and semver 7.0.0 pins at the same time. browserslist and caniuse-lite had to move too. @babel/core 7.29 emits 'opera_mobile' as a compilation target and the pinned @babel/helper-compilation-targets 7.17.7 rejects it, which broke the production build until the whole toolchain was aligned. storybook goes to 7.6.24 and webpack to 5.109.2, both direct devDependencies pinned to vulnerable versions. The `resolutions` additions are for packages whose parent pins a range with no patched version in it. Each was verified against a build: - svgo 2.8.3 removes the svgo 1.x subtree that @svgr/plugin-svgo drags in. react-scripts sets `svgo: false`, so that plugin never runs, and the production bundle is byte for byte identical with and without it. - resolve-url-loader 5.0.0 is the only way to drop postcss 7. The emitted CSS is unchanged, same content hash. - @tootallnate/once, esbuild, nth-check, serialize-javascript, tar and uuid are straightforward version forces. What is left is either unfixable or would break the build: - protoc-gen-js pulls got, http-cache-semantics, adm-zip and decompress through the unmaintained `download` package. decompress has no published fix. None of it runs outside `yarn protos`. - webpack-dev-server 5 drops the onBeforeSetupMiddleware and onAfterSetupMiddleware hooks that react-scripts 5.0.1 calls directly, so forcing it would break `yarn start`. - ip and lodash.pick have no patched version published. - react-router needs v7, which is a separate migration. |
||
|---|---|---|
| .gemini | ||
| .github | ||
| .vscode | ||
| accounts | ||
| app | ||
| autopilotserver | ||
| autopilotserverrpc | ||
| cmd | ||
| db | ||
| docs | ||
| firewall | ||
| firewalldb | ||
| itest | ||
| litrpc | ||
| macaroons | ||
| make | ||
| perms | ||
| proto | ||
| queue | ||
| rpcmiddleware | ||
| rules | ||
| scripts | ||
| session | ||
| status | ||
| subservers | ||
| tools | ||
| .custom-gcl.yml | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .golangci.yml | ||
| .prettierrc | ||
| app.go | ||
| app_noui.go | ||
| config.go | ||
| config_dev.go | ||
| config_prod.go | ||
| config_test.go | ||
| deps.go | ||
| dev.Dockerfile | ||
| Dockerfile | ||
| go.mod | ||
| go.sum | ||
| gzip.go | ||
| LICENSE | ||
| lnd_connection.go | ||
| lnd_ready.go | ||
| lnd_ready_test.go | ||
| log.go | ||
| Makefile | ||
| migration_prompt.go | ||
| migration_prompt_test.go | ||
| README.md | ||
| rpc_proxy.go | ||
| session_rpcserver.go | ||
| sqlc.yaml | ||
| terminal.go | ||
| version.go | ||
Lightning Terminal (LiT)
Lightning Terminal (LiT) is a browser-based interface for managing channel liquidity.
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,pooldandfaradaydaemons 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 you’d prefer to compile from source code please follow these instructions.
Note for FreeBSD users: the Makefile requires GNU Make. Install it with
pkg install gmake and use gmake in place of make (for example,
gmake install).
Component Compatibility
This section describes version and mode compatibility across Lightning Terminal (LiT) and its component daemons.
LND Version Compatibility
LiT can operate in two modes: integrated and
remote. Version compatibility between LiT and lnd
matters only when running in remote mode. The lnd version bundled in
integrated mode is always compatible.
Each LiT release should specify the minimum compatible lnd version in its
GitHub release
notes. If a
release does not document compatibility, the required information is available
in the archived compatibility table in
docs/compatibility.md.
Compatibility With Additional Daemons
LiT also bundles several additional daemons: Faraday, Loop, Pool and Taproot Assets. Each can be configured as integrated, remote or disabled. This creates many possible configurations, and not all combinations are supported due to technical constraints.
The following table lists supported combinations:
lnd-mode=integrated |
lnd-mode=remote |
|
|---|---|---|
faraday-mode=integrated |
X | X |
loop-mode=integrated |
X | X |
pool-mode=integrated |
X | X |
taproot-assets-mode=integrated |
X | X |
faraday-mode=remote |
X | |
loop-mode=remote |
X | |
pool-mode=remote |
X | |
taproot-assets-mode=remote |
X | |
faraday-mode=disable |
X | X |
loop-mode=disable |
X | X |
pool-mode=disable |
X | X |
taproot-assets-mode=disable |
X | X |
lnd running in "stateless init" mode |
X |
NOTE: Taproot Assets Channel functionality is only available when both lnd
and tapd are running in the same process (by setting both
lnd-mode=integrated and taproot-assets-mode=integrated). Remote mode support
will be added in the future.
