Skip to content

Commit a06c48f

Browse files
authored
Merge pull request #78 from lightninglabs/rename-app
app: rename client app to Lightning Terminal (LiT)
2 parents b5b5c6a + 2d10473 commit a06c48f

File tree

10 files changed

+72
-65
lines changed

10 files changed

+72
-65
lines changed

Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ VOLUME /root/.lnd
4343
EXPOSE 8443 10009 9735
4444

4545
# Copy the binaries and entrypoint from the builder image.
46-
COPY --from=builder /go/bin/lightning-terminal /bin/
46+
COPY --from=builder /go/bin/litd /bin/
4747
COPY --from=builder /go/bin/lncli /bin/
4848
COPY --from=builder /go/bin/frcli /bin/
4949
COPY --from=builder /go/bin/loop /bin/
@@ -55,4 +55,4 @@ RUN apk add --no-cache \
5555
ca-certificates
5656

5757
# Specify the start command and entrypoint as the lightning-terminal daemon.
58-
ENTRYPOINT ["lightning-terminal"]
58+
ENTRYPOINT ["litd"]

README.md

+50-50
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# Shushtar
1+
# Lightning Terminal (LiT)
22

3-
![CI](https://github.com/lightninglabs/shushtar/workflows/CI/badge.svg)
3+
![CI](https://github.com/lightninglabs/lightning-terminal/workflows/CI/badge.svg)
44

55
![screenshot](./app/src/assets/images/screenshot.png)
66

7-
Shushtar is a browser-based interface for managing the off-chain liquidity of your `lnd`
8-
Lightning Network node. It presents a visual representation of your channels and balances,
9-
while allowing you to perform submarine swaps via the
7+
Lightning Terminal (LiT) is a browser-based interface for managing the off-chain liquidity
8+
of your `lnd` Lightning Network node. It presents a visual representation of your channels
9+
and balances, while allowing you to perform submarine swaps via the
1010
[Lightning Loop](https://lightning.engineering/loop) service using a graphical interface.
1111
With a bird's eye view of all of your open channels, you can instantly see which ones need
1212
your immediate attention.
@@ -24,61 +24,61 @@ You can configure the UI to classify channels according to your node's operating
2424

2525
## Architecture
2626

27-
Shushtar is packaged as a single binary which contains the
27+
LiT is packaged as a single binary which contains the
2828
[`lnd`](https://github.com/lightningnetwork/lnd),
2929
[`loopd`](https://github.com/lightninglabs/loop) and
3030
[`faraday`](https://github.com/lightninglabs/faraday) daemons all in one. It also contains
3131
an HTTP server to serve the web assets (html/js/css) and a GRPC proxy to forward web
3232
requests from the browser to the appropriate GRPC server. This deployment strategy was
3333
chosen as it greatly simplifies the operational overhead of installation, configuration
3434
and maintenance that would be necessary to run each of these servers independently. You
35-
only need to download one executable and run one command to get Shushtar up and running.
36-
We include the CLI binaries `lncli`, `loop` and `frcli` for convenience in the
37-
downloadable archives as well.
35+
only need to download one executable and run one command to get LiT up and running. We
36+
include the CLI binaries `lncli`, `loop` and `frcli` for convenience in the downloadable
37+
archives as well.
3838

3939
## Installation
4040

41-
There are two options for installing Shushtar: download the published binaries for your
41+
There are two options for installing LiT: download the published binaries for your
4242
platform, or compile from source code.
4343

4444
#### Download Binaries
4545

46-
Shushtar binaries for many platforms are made available on the GitHub
47-
[Releases](https://github.com/lightninglabs/shushtar/releases) page in this repo. There
48-
you can download the latest version and extract the archive into a directory on your
49-
computer.
46+
LiT binaries for many platforms are made available on the GitHub
47+
[Releases](https://github.com/lightninglabs/lightning-terminal/releases) page in this
48+
repo. There you can download the latest version and extract the archive into a directory
49+
on your computer.
5050

5151
#### Compile from Source Code
5252

5353
To compile from source code, you'll need to have some prerequisite developer tooling
5454
installed on your machine.
5555

56-
- **Go**: Shushtar's backend web server is written in Go. Instructions for installing Go
57-
for your operating system can be found on the
56+
- **Go**: LiT's backend web server is written in Go. Instructions for installing Go for
57+
your operating system can be found on the
5858
[golang install](https://golang.org/doc/install) page. The minimum version supported is
5959
Go v1.13.
60-
- **NodeJS**: Shushtar's frontend is written in TypeScript and built on top of the React
61-
JS web framework. To bundle the assets into Javascript & CSS compatible with web
62-
browsers, NodeJS is required. It can be downloaded and installed by following the
63-
instructions on the [NodeJS download](https://nodejs.org/en/download/) page.
60+
- **NodeJS**: LiT's frontend is written in TypeScript and built on top of the React JS web
61+
framework. To bundle the assets into Javascript & CSS compatible with web browsers,
62+
NodeJS is required. It can be downloaded and installed by following the instructions on
63+
the [NodeJS download](https://nodejs.org/en/download/) page.
6464
- **Yarn**: a popular package manager for NodeJS application dependencies. Installation
6565
information can be found on the
6666
[Yarn Installation](https://classic.yarnpkg.com/en/docs/install) page.
6767

68-
Once you have the necessary prerequisites, Shushtar can be compiled by running the
69-
following commands:
68+
Once you have the necessary prerequisites, LiT can be compiled by running the following
69+
commands:
7070

7171
```
72-
git clone https://github.com/lightninglabs/shushtar.git
73-
cd shushtar
72+
git clone https://github.com/lightninglabs/lightning-terminal.git
73+
cd lightning-terminal
7474
make && make install
7575
```
7676

77-
This will produce the `shushtar` executable and add it to your `GOPATH`.
77+
This will produce the `litd` executable and add it to your `GOPATH`.
7878

7979
## Configuration
8080

81-
Shushtar only has a few configuration parameters itself.
81+
LiT only has a few configuration parameters itself.
8282

8383
#### Required
8484

@@ -94,18 +94,18 @@ provided by [LetsEncrypt](https://letsencrypt.org/). This is recommended if you
9494
access the website from a remote computer and do not want to deal with the browser warning
9595
you about the self-signed certificate. You just need to specify the domain name you wish
9696
to use, and make sure port 80 is open in your in your firewall. LetsEncrypt requires this
97-
to verify that you own the domain name. Shushtar will listen on port 80 to handle the
97+
to verify that you own the domain name. LiT will listen on port 80 to handle the
9898
verification requests.
9999

100-
On some linux-based platforms, you may need to run Shushtar with superuser privileges
101-
since port 80 is a system port. You can permit the
100+
On some linux-based platforms, you may need to run LiT with superuser privileges since
101+
port 80 is a system port. You can permit the
102102
[`CAP_NET_BIND_SERVICE`](https://www.man7.org/linux/man-pages/man7/capabilities.7.html)
103-
capability using `setcap 'CAP_NET_BIND_SERVICE=+eip' /path/to/shushtar` to allow binding
104-
on port 80 without needing to run the daemon as root.
103+
capability using `setcap 'CAP_NET_BIND_SERVICE=+eip' /path/to/litd` to allow binding on
104+
port 80 without needing to run the daemon as root.
105105

106-
> Note: Shushtar only serves content over **HTTPS**. If you do not use `letsencrypt`,
107-
> Shushtar will use the self-signed certificate that is auto-generated by `lnd` to encrypt
108-
> the browser-to-server communication. Web browsers will display a warning when using the
106+
> Note: LiT only serves content over **HTTPS**. If you do not use `letsencrypt`, LiT will
107+
> use the self-signed certificate that is auto-generated by `lnd` to encrypt the
108+
> browser-to-server communication. Web browsers will display a warning when using the
109109
> self-signed certificate.
110110
111111
```
@@ -121,19 +121,19 @@ Application Options:
121121
certificate (default: /Users/jamal/Library/Application Support/Lnd/letsencrypt)
122122
```
123123

124-
In addition to the Shushtar specific parameters, you must also provide configuration to
125-
the `lnd`, `loop` and `faraday` daemons. For `lnd`, each flag must be prefixed with `lnd.`
124+
In addition to the LiT specific parameters, you must also provide configuration to the
125+
`lnd`, `loop` and `faraday` daemons. For `lnd`, each flag must be prefixed with `lnd.`
126126
(ex: `lnd.lnddir=~/.lnd`). Please see the
127127
[sample-lnd.conf](https://github.com/lightningnetwork/lnd/blob/master/sample-lnd.conf)
128128
file for more details on the available parameters. Note that `loopd` and `faraday` will
129129
automatically connect to the in-process `lnd` node, so you do not need to provide them
130130
with any additional parameters unless you want to override them. If you do override them,
131131
be sure to add the `loop.` and `faraday.` prefixes.
132132

133-
Here is an example command to start `shushtar` on testnet with a local `bitcoind` node:
133+
Here is an example command to start `litd` on testnet with a local `bitcoind` node:
134134

135135
```
136-
$ ./shushtar \
136+
$ ./litd \
137137
--httpslisten=0.0.0.0:443 \
138138
--uipassword=My$trongP@ssword \
139139
--letsencrypt \
@@ -208,7 +208,7 @@ The default location for the `lnd.conf` file will depend on your operating syste
208208
### Upgrade Existing Nodes
209209

210210
If you already have existing `lnd`, `loop`, or `faraday` nodes, you can easily upgrade
211-
them to the Shushtar single executable while keeping all of your past data.
211+
them to the LiT single executable while keeping all of your past data.
212212

213213
For `lnd`:
214214

@@ -230,7 +230,7 @@ For `lnd`:
230230
```
231231

232232
- if you use command line arguments for configuration, add the `lnd.` prefix to each
233-
argument to `shushtar`
233+
argument to `litd`
234234

235235
Before:
236236

@@ -241,13 +241,13 @@ For `lnd`:
241241
After:
242242

243243
```
244-
$ shushtar lnd.lnddir=~/.lnd --lnd.alias=merchant ...
244+
$ litd lnd.lnddir=~/.lnd --lnd.alias=merchant ...
245245
```
246246

247247
For `loop`:
248248

249249
- if you use an `loop.conf` file for configurations, copy the parameters into the
250-
`lnd.conf` file that `shushtar` uses, and add the `loop.` prefix to each of the
250+
`lnd.conf` file that `litd` uses, and add the `loop.` prefix to each of the
251251
configuration parameters.
252252

253253
Before: (in `loop.conf`)
@@ -265,7 +265,7 @@ For `loop`:
265265
```
266266

267267
- if you use command line arguments for configuration, add the `loop.` prefix to each
268-
argument to `shushtar`
268+
argument to `litd`
269269

270270
Before:
271271

@@ -276,14 +276,14 @@ For `loop`:
276276
After:
277277

278278
```
279-
$ shushtar --loop.loopoutmaxparts=5 --loop.debuglevel=debug ...
279+
$ litd --loop.loopoutmaxparts=5 --loop.debuglevel=debug ...
280280
```
281281

282282
For `faraday`:
283283

284284
- the standalone `faraday` daemon does not load configuration from a file, but you can now
285-
store the parameters into the `lnd.conf` file that `shushtar` uses. Just add the
286-
`faraday.` prefix to each of the configuration parameters.
285+
store the parameters into the `lnd.conf` file that `litd` uses. Just add the `faraday.`
286+
prefix to each of the configuration parameters.
287287

288288
Before: (from command line)
289289

@@ -299,7 +299,7 @@ For `faraday`:
299299
```
300300

301301
- if you use command line arguments for configuration, add the `faraday.` prefix to each
302-
argument to `shushtar`
302+
argument to `litd`
303303

304304
Before:
305305

@@ -310,7 +310,7 @@ For `faraday`:
310310
After:
311311

312312
```
313-
$ shushtar --faraday.min_monitored=48h --faraday.debuglevel=debug...
313+
$ litd --faraday.min_monitored=48h --faraday.debuglevel=debug...
314314
```
315315

316316
### Troubleshooting
@@ -320,8 +320,8 @@ If there are errors relating to one of the embedded servers, then you should ope
320320
in their respective GitHub repos ([lnd](https://github.com/lightningnetwork/lnd/issues),
321321
[loop](https://github.com/lightninglabs/loop/issues),
322322
[faraday](https://github.com/lightninglabs/faraday/issues). If the issue is related to the
323-
web app, then you should open an [issue](https://github.com/lightninglabs/shushtar/issues)
324-
here in this repo.
323+
web app, then you should open an
324+
[issue](https://github.com/lightninglabs/lightning-terminal/issues) here in this repo.
325325

326326
#### Server
327327

app/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
2-
"name": "shushtar",
2+
"name": "lightning-terminal",
33
"version": "0.0.1",
4-
"description": "Dashboard for LND and Loop",
5-
"repository": "https://github.com/lightninglabs/shushtar",
4+
"description": "Lightning Terminal",
5+
"repository": "https://github.com/lightninglabs/lightning-terminal",
66
"private": true,
77
"scripts": {
88
"start": "BROWSER=none react-scripts start",

app/public/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
crossorigin="anonymous"
5555
/>
5656
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
57-
<title>Lightning Dashboard</title>
57+
<title>Lightning Terminal</title>
5858
</head>
5959
<body>
6060
<noscript>You need to enable JavaScript to run this app.</noscript>

app/src/__tests__/App.spec.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ describe('App Component', () => {
1212
// ensure init is called in the store so the UI is displayed
1313
Object.defineProperty(config, 'IS_TEST', { get: () => false });
1414
const { findByText } = renderApp();
15-
expect(await findByText('Shushtar')).toBeInTheDocument();
15+
expect(await findByText('Lightning')).toBeInTheDocument();
16+
expect(await findByText('Terminal')).toBeInTheDocument();
1617
expect(await findByText('logo.svg')).toBeInTheDocument();
1718
// revert IS_DEV
1819
Object.defineProperty(config, 'IS_TEST', { get: () => true });

app/src/__tests__/Routes.spec.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ describe('Routes Component', () => {
1212

1313
it('should display the Auth page by default', async () => {
1414
const { findByText, store } = await render();
15-
expect(await findByText('Shushtar')).toBeInTheDocument();
15+
expect(await findByText('Lightning')).toBeInTheDocument();
16+
expect(await findByText('Terminal')).toBeInTheDocument();
1617
expect(store.router.location.pathname).toBe('/');
1718
});
1819

app/src/__tests__/components/auth/AuthPage.spec.tsx

+6-3
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ describe('AuthPage ', () => {
2121

2222
it('should display the title', () => {
2323
const { getByText } = render();
24-
expect(getByText('Shushtar')).toBeInTheDocument();
24+
expect(getByText('Lightning')).toBeInTheDocument();
25+
expect(getByText('Terminal')).toBeInTheDocument();
2526
});
2627

2728
it('should display the password field', () => {
@@ -36,9 +37,11 @@ describe('AuthPage ', () => {
3637

3738
it('should display nothing when the store is not initialized', () => {
3839
const { getByText, queryByText } = render();
39-
expect(getByText('Shushtar')).toBeInTheDocument();
40+
expect(getByText('Lightning')).toBeInTheDocument();
41+
expect(getByText('Terminal')).toBeInTheDocument();
4042
store.initialized = false;
41-
expect(queryByText('Shushtar')).not.toBeInTheDocument();
43+
expect(queryByText('Lightning')).not.toBeInTheDocument();
44+
expect(queryByText('Terminal')).not.toBeInTheDocument();
4245
});
4346

4447
it('should display an error when submitting an empty password', async () => {

app/src/__tests__/components/loop/LoopPage.spec.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ describe('LoopPage component', () => {
3131

3232
it('should display the page title', () => {
3333
const { getByText } = render();
34-
expect(getByText('Lightning Loop')).toBeInTheDocument();
34+
expect(getByText('Lightning Terminal')).toBeInTheDocument();
3535
});
3636

3737
it('should display the network badge', () => {

app/src/components/auth/AuthPage.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ const AuthPage: React.FC = () => {
8282
<Background gradient>
8383
<Wrapper>
8484
<Logo />
85-
<Title>{l('title')}</Title>
85+
<Title>{l('lightning')}</Title>
86+
<Title>{l('terminal')}</Title>
8687
<Subtitle>{l('subtitle')}</Subtitle>
8788
<Form onSubmit={handleSubmit}>
8889
<Input

app/src/i18n/locales/en-US.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
"enums.BalanceMode.receive": "Receiving",
66
"enums.BalanceMode.send": "Sending",
77
"enums.BalanceMode.routing": "Routing",
8-
"cmps.auth.AuthPage.title": "Shushtar",
8+
"cmps.auth.AuthPage.lightning": "Lightning",
9+
"cmps.auth.AuthPage.terminal": "Terminal",
910
"cmps.auth.AuthPage.subtitle": "Efficiently manage Lightning node liquidity",
1011
"cmps.auth.AuthPage.passLabel": "Enter your password in the field above",
1112
"cmps.auth.AuthPage.submitBtn": "Submit",
@@ -33,7 +34,7 @@
3334
"cmps.loop.SelectedChannels.useAnyChannel": "Automatic channel selection",
3435
"cmps.loop.LoopActions.loopMinimumNote": "Minimum Loop amount is {{min}}",
3536
"cmps.loop.LoopActions.loopInNote": "Currently, multiple channel Loop In is supported only with a single peer.",
36-
"cmps.loop.LoopPage.pageTitle": "Lightning Loop",
37+
"cmps.loop.LoopPage.pageTitle": "Lightning Terminal",
3738
"cmps.loop.LoopHistory.emptyMsg": "After performing swaps, you will see ongoing loops and history here.",
3839
"cmps.loop.LoopTiles.history": "Loop History",
3940
"cmps.loop.LoopTiles.inbound": "Total Inbound Liquidity",

0 commit comments

Comments
 (0)