-
Notifications
You must be signed in to change notification settings - Fork 12
/
index.html
147 lines (145 loc) · 6.57 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>nostrogen - a simple nostr vanity address generator</title>
<link rel="icon" type="image/png" href="favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="favicon-16x16.png" sizes="16x16" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.2/css/all.min.css">
<link rel="stylesheet" href="style.css">
<script src="https://unpkg.com/nostr-tools/lib/nostr.bundle.js"></script>
</head>
<body>
<h1>nostrogen</h1>
<h4>a simple nostr vanity address generator</h4>
<div class="nospace">
<div class="progress">
<div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</div>
<div class="container">
<div class="form-group">
<div class="row">
<div class="col-12 col-md-6">
<div class="d-flex justify-content-center justify-content-md-start pb-3">characters not allowed: b, i, o, 1</div>
</div>
<div class="col-12 col-md-6">
<div class="d-flex justify-content-center justify-content-md-end">
<div class="form-check mx-3 px-2">
<input class="form-check-input" type="radio" name="prefixRadio" id="prefixRadio" checked>
<label class="form-check-label" for="prefixRadio">
Prefix
</label>
</div>
<div class="form-check pb-3 px-3">
<input class="form-check-input" type="radio" name="suffixRadio" id="suffixRadio">
<label class="form-check-label" for="suffixRadio">
Suffix
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="wordsOfInterestCheck">
<label class="form-check-label" for="wordsOfInterestCheck">
words of interest
</label>
</div>
</div>
</div>
</div>
<div class="input-group shadow">
<input type="text" class="form-control form-control-lg" placeholder="prefix" id="prefix" data-inputmask-mask="[9-]AAA-999">
<button class="browse btn btn-primary" type="button" onclick="generate()">generate</button>
</div>
</div>
</div>
<div class="container mt-4">
<div class="pb-3 d-flex justify-content-center justify-content-md-start">
your keys will be generated below:
</div>
<div class="form-group">
<div class="input-group shadow mb-3">
<div class="form-floating flex-grow-1">
<input type="text" class="form-control" name="code1" placeholder="npub" id="npub">
<label for="code1">npub</label>
</div>
<button class="browse btn btn-primary" type="button" title="copy" onclick="copy('npub')">🤙</button>
</div>
<div class="input-group shadow mb-3">
<div class="form-floating flex-grow-1">
<input type="text" class="form-control" name="code1" placeholder="nsec" id="nsec">
<label>nsec</label>
</div>
<button class="browse btn btn-primary" type="button" title="copy" onclick="copy('nsec')">🤙</button>
</div>
<div class="input-group shadow mb-3">
<div class="form-floating flex-grow-1">
<input type="text" class="form-control" name="code1" placeholder="public key" id="public">
<label>public key</label>
</div>
<button class="browse btn btn-primary" type="button" title="copy" onclick="copy('public')">🤙</button>
</div>
<div class="input-group shadow mb-3">
<div class="form-floating flex-grow-1">
<input type="text" class="form-control" name="code1" placeholder="private key" id="private">
<label>private key</label>
</div>
<button class="browse btn btn-primary" type="button" title="copy" onclick="copy('private')">🤙</button>
</div>
<div class="d-flex justify-content-between">
<div>
<span id="counter">0</span> keys generated
</div>
<div>
took <span id="time">0</span> seconds to compute
</div>
</div>
</div>
</div>
<div id="wordsOfInterestContainer" class="container mt-4" style="display:none">
these keys may be of interest to you:
<div class="row">
<div class="col-sm-12 table-responsive small">
<table class="table">
<thead>
<tr>
<th scope="col">word</th>
<th scope="col">npub</th>
<th scope="col">private key</th>
</tr>
</thead>
<tbody id="tableOfInterest">
</tbody>
</table>
</div>
</div>
</div>
<div class="container mt-4 text-center">
<div class="row">
<div class="col-sm-6">
<div class="card">
<div class="card-body">
<h5 class="card-title">open source & completely free</h5>
<p class="card-text">the nostrogen codebase has been made open source and completely free to facilitate collaboration and guarantee a more robust and secure final outcome</p>
<a href="https://github.com/tonyinit/nostrogen" class="btn btn-primary">view on github</a>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="card">
<div class="card-body">
<h5 class="card-title">safe, single-page application</h5>
<p class="card-text">this single-page application only generates addresses locally on your computer, but feel free to download the source and run the app offline</p>
<a href="./faq.html" class="btn btn-primary">read the faq</a>
</div>
</div>
</div>
</div>
</div>
<div class="d-flex justify-content-center mt-4">
<a href="https://getalby.com/p/hitony" class="donate-link" target="_blank">⚡️[email protected]</a>
</div>
<script src="nostrogen.js"></script>
</body>
</html>