2021-08-14 22:48:39 +00:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="en">
|
|
|
|
<head>
|
|
|
|
<title>Satdress - Federated Lightning Address Server</title>
|
|
|
|
<meta charset="utf-8" />
|
|
|
|
<link rel="icon" type="image/png" href="https://i.imgur.com/4yaPtA2.png" />
|
2021-08-28 12:13:32 +00:00
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
2022-01-19 22:52:15 +00:00
|
|
|
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=PT+Sans" />
|
2021-08-25 10:00:16 +00:00
|
|
|
<link rel="stylesheet" href="/static/style.css" />
|
2021-08-14 22:48:39 +00:00
|
|
|
</head>
|
|
|
|
<body>
|
2021-08-14 23:52:16 +00:00
|
|
|
<main id="main">
|
2021-08-27 02:59:29 +00:00
|
|
|
<div class="title">{{ siteName }}</div>
|
2021-08-14 23:52:16 +00:00
|
|
|
<div class="tagline">Federated Lightning Address Server</div>
|
2021-08-15 14:40:01 +00:00
|
|
|
<div class="owner">
|
2021-08-28 12:13:32 +00:00
|
|
|
<a class="owner-button" :href="siteOwnerURL" target="_blank">
|
2021-08-15 14:40:01 +00:00
|
|
|
Brought to you by <span class="owner-name">{{ siteOwnerName }}</span>
|
|
|
|
</a>
|
|
|
|
</div>
|
2021-08-14 23:52:16 +00:00
|
|
|
<div class="card">
|
2021-08-28 12:13:32 +00:00
|
|
|
<div class="description">
|
|
|
|
Use the form below to connect your own node to a
|
|
|
|
<b>Lightning Address</b>.
|
|
|
|
</div>
|
2021-08-14 23:52:16 +00:00
|
|
|
<form action="/grab" method="post">
|
2021-08-20 12:32:45 +00:00
|
|
|
<div class="field">
|
2021-08-27 02:57:36 +00:00
|
|
|
<div class="row">
|
2022-01-18 23:50:47 +00:00
|
|
|
<label for="name"> {{usernameInfo}} </label>
|
2021-08-20 12:32:45 +00:00
|
|
|
</div>
|
2021-08-27 02:57:36 +00:00
|
|
|
<div class="domain-wrapper">
|
2021-08-28 12:13:32 +00:00
|
|
|
<input class="input" name="name" id="name" />
|
2022-01-19 22:52:15 +00:00
|
|
|
<span v-if="domains.length == 1">@{{ domains[0] }}</span>
|
|
|
|
<span v-if="domains.length > 1">@</span>
|
2022-01-18 23:50:47 +00:00
|
|
|
<select name="domain" id="domain" id="domain" v-if="domains.length > 1">
|
|
|
|
<option v-for="domain in domains" :value="domain">{{ domain }}</option>
|
|
|
|
</select>
|
2021-08-14 23:52:16 +00:00
|
|
|
</div>
|
2021-08-20 12:32:45 +00:00
|
|
|
</div>
|
|
|
|
<div class="field">
|
2021-08-28 12:13:32 +00:00
|
|
|
<label for="kind"> Node Backend Type </label>
|
2021-08-20 12:32:45 +00:00
|
|
|
<select name="kind" id="kind" id="kind" v-model="kind">
|
2021-08-28 12:50:17 +00:00
|
|
|
<option disabled value="">Please select one:</option>
|
2021-08-14 23:52:16 +00:00
|
|
|
<option value="lnd">LND</option>
|
2021-09-14 00:27:04 +00:00
|
|
|
<option value="eclair">Eclair</option>
|
2022-03-16 00:16:02 +00:00
|
|
|
<option value="sparko">Sparko (c-lightning)</option>
|
|
|
|
<option value="commando">Commando (c-lightning)</option>
|
2021-08-14 23:52:16 +00:00
|
|
|
<option value="lnpay">LNPay</option>
|
|
|
|
<option value="lnbits">LNbits</option>
|
|
|
|
</select>
|
2021-08-20 12:32:45 +00:00
|
|
|
</div>
|
2021-08-14 23:52:16 +00:00
|
|
|
<div v-if="kind == 'lnd'">
|
2021-08-20 12:32:45 +00:00
|
|
|
<div class="field">
|
2021-09-14 00:27:04 +00:00
|
|
|
<label for="host">
|
|
|
|
LND REST Host (Protocol + IP/Domain + Port)
|
|
|
|
</label>
|
2021-09-06 11:09:31 +00:00
|
|
|
<input
|
2021-09-14 00:27:04 +00:00
|
|
|
class="input full-width"
|
|
|
|
name="host"
|
|
|
|
id="host"
|
|
|
|
placeholder="http://mylndonionztxrvxtzrs.onion:8080"
|
2021-09-06 11:09:31 +00:00
|
|
|
/>
|
2021-08-20 12:32:45 +00:00
|
|
|
</div>
|
|
|
|
<div class="field">
|
2021-09-14 00:27:04 +00:00
|
|
|
<label for="macaroon"> Invoice Macaroon (base64 encoded) </label>
|
2021-09-06 11:09:31 +00:00
|
|
|
<input
|
2021-09-14 00:27:04 +00:00
|
|
|
class="input full-width"
|
|
|
|
name="key"
|
|
|
|
id="macaroon"
|
2021-09-06 11:09:31 +00:00
|
|
|
placeholder="V2UgYWxsIGxvdmUgQGZpYXRqYWYhCg=="
|
|
|
|
/>
|
2021-08-20 12:32:45 +00:00
|
|
|
</div>
|
2021-08-14 23:52:16 +00:00
|
|
|
</div>
|
|
|
|
<div v-if="kind == 'sparko' || kind == 'lnbits'">
|
2021-08-20 12:32:45 +00:00
|
|
|
<div class="field">
|
2021-09-14 00:27:04 +00:00
|
|
|
<label for="host"> Host (Protocol + IP or Domain + Port) </label>
|
|
|
|
<input
|
|
|
|
class="input full-width"
|
|
|
|
name="host"
|
|
|
|
id="host"
|
|
|
|
placeholder="http://10.147.17.32:9737"
|
|
|
|
/>
|
2021-08-20 12:32:45 +00:00
|
|
|
</div>
|
|
|
|
<div class="field">
|
2021-08-28 12:13:32 +00:00
|
|
|
<label for="key"> Key </label>
|
|
|
|
<input class="input full-width" name="key" id="key" />
|
2021-08-20 12:32:45 +00:00
|
|
|
</div>
|
2021-08-14 23:52:16 +00:00
|
|
|
</div>
|
2021-09-14 00:27:04 +00:00
|
|
|
<div v-if="kind == 'eclair'">
|
|
|
|
<div class="field">
|
|
|
|
<label for="host"> Host (Protocol + IP or Domain + Port) </label>
|
|
|
|
<input
|
|
|
|
class="input full-width"
|
|
|
|
name="host"
|
|
|
|
id="host"
|
|
|
|
placeholder="http://myeclair.com"
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<p>
|
|
|
|
Don't input your Eclair password here nor expose your Eclair
|
|
|
|
node carelessly. Follow
|
|
|
|
<a
|
|
|
|
href="https://gist.github.com/fiatjaf/8e74740d30763713154de15562e08789#file-exposing-eclair-md"
|
|
|
|
>these instructions</a
|
|
|
|
>
|
|
|
|
instead (or do something better).
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
2021-08-14 23:52:16 +00:00
|
|
|
<div v-if="kind == 'lnpay'">
|
2021-08-20 12:32:45 +00:00
|
|
|
<div class="field">
|
2021-08-28 12:13:32 +00:00
|
|
|
<label for="pak"> Public Access Key (pak) </label>
|
|
|
|
<input class="input full-width" name="pak" id="pak" />
|
2021-08-20 12:32:45 +00:00
|
|
|
</div>
|
|
|
|
<div class="field">
|
2021-08-28 12:13:32 +00:00
|
|
|
<label for="waki"> Wallet Invoice Key (waki) </label>
|
|
|
|
<input class="input full-width" name="waki" id="waki" />
|
2021-08-20 12:32:45 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2021-08-27 02:57:36 +00:00
|
|
|
<div class="field">
|
|
|
|
<label style="float: right">
|
|
|
|
This is a new Lightning Address
|
2021-08-28 12:13:32 +00:00
|
|
|
<input type="checkbox" v-model="isNew" />
|
2021-08-27 02:57:36 +00:00
|
|
|
</label>
|
|
|
|
</div>
|
2022-03-16 00:16:02 +00:00
|
|
|
<div v-if="kind == 'commando'">
|
|
|
|
<div class="field">
|
|
|
|
<label for="nodeid">Node ID (pubkey)</label>
|
|
|
|
<input
|
|
|
|
class="input full-width"
|
|
|
|
name="nodeid"
|
|
|
|
id="nodeid"
|
|
|
|
placeholder="02c16cca44562b590dd279c942200bdccfd4f990c3a69fad620c10ef2f8228eaff"
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
<div class="field">
|
|
|
|
<label for="host">Node IP + Port</label>
|
|
|
|
<input
|
|
|
|
class="input full-width"
|
|
|
|
name="host"
|
|
|
|
id="host"
|
|
|
|
placeholder="10.147.17.32:9735"
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
<div class="field">
|
|
|
|
<label for="rune">Rune</label>
|
|
|
|
<input class="input full-width" name="rune" id="rune" />
|
|
|
|
</div>
|
|
|
|
</div>
|
2021-08-27 02:57:36 +00:00
|
|
|
<br />
|
2021-08-20 12:32:45 +00:00
|
|
|
<div class="field" v-if="!isNew">
|
2021-08-28 12:13:32 +00:00
|
|
|
<label for="pin"> Secret PIN </label>
|
|
|
|
<input class="input full-width" name="pin" id="pin" />
|
2021-08-14 23:52:16 +00:00
|
|
|
</div>
|
|
|
|
<button class="submit">Submit</button>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<div class="resources">
|
2021-08-15 14:40:01 +00:00
|
|
|
<a
|
|
|
|
class="resource-button"
|
|
|
|
href="https://github.com/andrerfneves/lightning-address#readme"
|
2021-08-28 12:13:32 +00:00
|
|
|
target="_blank"
|
|
|
|
>
|
2021-08-14 23:52:16 +00:00
|
|
|
Lightning Address Documentation
|
|
|
|
</a>
|
2021-08-15 14:40:01 +00:00
|
|
|
<a
|
|
|
|
class="resource-button"
|
|
|
|
target="_blank"
|
2021-08-28 12:13:32 +00:00
|
|
|
href="https://github.com/fiatjaf/satdress"
|
|
|
|
>
|
2021-08-15 14:40:01 +00:00
|
|
|
Host this server on your domain!
|
|
|
|
</a>
|
2021-08-14 23:52:16 +00:00
|
|
|
</div>
|
|
|
|
</main>
|
2021-08-28 12:13:32 +00:00
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/3.2.2/vue.global.prod.min.js"></script>
|
2021-08-14 23:52:16 +00:00
|
|
|
<script>
|
2021-08-25 10:00:16 +00:00
|
|
|
const initial = {} // REPLACED WITH SERVER DATA //
|
2021-08-14 22:48:39 +00:00
|
|
|
|
2021-08-15 14:40:01 +00:00
|
|
|
const Main = {
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
kind: 'lnd',
|
2021-08-20 12:32:45 +00:00
|
|
|
isNew: true,
|
2021-08-28 12:13:32 +00:00
|
|
|
...initial
|
2021-08-15 14:40:01 +00:00
|
|
|
}
|
2021-08-28 12:50:17 +00:00
|
|
|
},
|
|
|
|
|
|
|
|
mounted() {
|
|
|
|
this.kind = ''
|
2021-08-15 14:40:01 +00:00
|
|
|
}
|
2021-08-28 12:13:32 +00:00
|
|
|
}
|
2021-08-14 22:48:39 +00:00
|
|
|
|
2021-08-28 12:13:32 +00:00
|
|
|
Vue.createApp(Main).mount('#main')
|
2021-08-14 23:52:16 +00:00
|
|
|
</script>
|
|
|
|
</body>
|
|
|
|
</html>
|