Approve the connection request on your remote signer device
+
Your DMs will load automatically once approved
+
+
+
+ ๐ก What's a bunker?
+
A bunker is a remote signer that keeps your private keys secure. Your keys never leave the bunker - all signing happens remotely via encrypted Nostr messages.
+
+
+
+
+
+
+
๐ฌ DM Dashboard
+
+
+
+
+
+
+
+
+
+
Conversations
+
+
+
+
+
+
+ Loading DMs...
+
+
+
+
+
+
+
๐ฌ
+
Select a conversation
+
Choose a contact from the sidebar to view messages
+
+
+
+
+
+
+
Contact
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/dashboard/icon.png b/public/dashboard/icon.png
new file mode 100644
index 0000000..7c8ee17
Binary files /dev/null and b/public/dashboard/icon.png differ
diff --git a/public/dashboard/index.html b/public/dashboard/index.html
new file mode 100644
index 0000000..5c2b457
--- /dev/null
+++ b/public/dashboard/index.html
@@ -0,0 +1,2650 @@
+
+
+
+
+
+
+ Nostr DM Dashboard
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
๐ฌ Nostr Dashboard
+
Connect with your Nostr bunker to access your DMs
+
+
+
+
+
+
+
+
+
+
+
+
Waiting for approval from your remote signer...
+
Check your bunker device to approve this connection
Approve the connection request on your remote signer device
+
Your DMs will load automatically once approved
+
+
+
+ ๐ก What's a bunker?
+
A bunker is a remote signer that keeps your private keys secure. Your keys never leave the bunker - all signing happens remotely via encrypted Nostr messages.
+
+
+
+
+
+
+
Dashboard
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Conversations
+
+
+
+
+
+
+
+ Loading DMs...
+
+
+
+
+
+
+
๐ฌ
+
Select a conversation
+
Choose a contact from the sidebar to view messages
+
+
+
+
+
+
+
Contact
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/public/dashboard/sw.js b/public/dashboard/sw.js
new file mode 100644
index 0000000..ebc32a0
--- /dev/null
+++ b/public/dashboard/sw.js
@@ -0,0 +1,43 @@
+// sw.js - Save this file in the same directory as your HTML
+const CACHE_NAME = 'nostr-dm-v1';
+const urlsToCache = [
+ '/',
+ '/index.html'
+];
+
+self.addEventListener('install', event => {
+ event.waitUntil(
+ caches.open(CACHE_NAME)
+ .then(cache => cache.addAll(urlsToCache))
+ );
+});
+
+self.addEventListener('fetch', event => {
+ event.respondWith(
+ caches.match(event.request)
+ .then(response => response || fetch(event.request))
+ );
+});
+
+self.addEventListener('notificationclick', event => {
+ event.notification.close();
+ event.waitUntil(
+ clients.openWindow('/')
+ );
+});
+
+self.addEventListener('push', event => {
+ const data = event.data ? event.data.json() : {};
+ const title = data.title || 'New Nostr DM';
+ const options = {
+ body: data.body || 'You have a new message',
+ icon: 'data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'192\' height=\'192\' viewBox=\'0 0 192 192\'%3E%3Crect width=\'192\' height=\'192\' fill=\'%23fdad01\' rx=\'24\'/%3E%3Ctext x=\'50%25\' y=\'50%25\' font-size=\'90\' fill=\'%23000\' text-anchor=\'middle\' dominant-baseline=\'middle\'%3E๐ฌ%3C/text%3E%3C/svg%3E',
+ badge: 'data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'96\' height=\'96\' viewBox=\'0 0 96 96\'%3E%3Ccircle cx=\'48\' cy=\'48\' r=\'48\' fill=\'%23fdad01\'/%3E%3Ctext x=\'50%25\' y=\'50%25\' font-size=\'50\' text-anchor=\'middle\' dominant-baseline=\'middle\'%3E๐ฌ%3C/text%3E%3C/svg%3E',
+ vibrate: [200, 100, 200],
+ tag: 'nostr-dm'
+ };
+
+ event.waitUntil(
+ self.registration.showNotification(title, options)
+ );
+});
\ No newline at end of file
diff --git a/public/images/BTCforPlebsDarkMode.png b/public/images/BTCforPlebsDarkMode.png
new file mode 100644
index 0000000..ee546a4
Binary files /dev/null and b/public/images/BTCforPlebsDarkMode.png differ
diff --git a/public/index.html b/public/index.html
index 2fd4174..d59f384 100644
--- a/public/index.html
+++ b/public/index.html
@@ -11,16 +11,17 @@
-
+
-
+
-
-
+
+
+
@@ -43,8 +44,9 @@
- Cashu Web App โณ
+ Cashu Wallet Web App โณ
+ Nutstash Wallet Web App โณCashu Mint โณMacadamia (iOS) โช๏ธ Minibits (Android) โช๏ธ
diff --git a/public/nip-49decrypt/connection-test.txt b/public/nip-49decrypt/connection-test.txt
new file mode 100644
index 0000000..ed53c21
--- /dev/null
+++ b/public/nip-49decrypt/connection-test.txt
@@ -0,0 +1 @@
+pong
\ No newline at end of file
diff --git a/public/nip-49decrypt/connectivity-ping.txt b/public/nip-49decrypt/connectivity-ping.txt
deleted file mode 100644
index 8e55469..0000000
--- a/public/nip-49decrypt/connectivity-ping.txt
+++ /dev/null
@@ -1 +0,0 @@
-pong
diff --git a/public/nip-49decrypt/index.html b/public/nip-49decrypt/index.html
index 6cd9d56..152a0b9 100644
--- a/public/nip-49decrypt/index.html
+++ b/public/nip-49decrypt/index.html
@@ -560,7 +560,7 @@
Decrypt your ncryptsec
No telemetry, no calls home, no external dependencies. Take your device offline, paste your encrypted key and password to extract the 32-byte secret HEX and its bech32 nsec.
-
YOU DEVICE IS CONNECTED TO THE INTERNET. This window will activate once no internet connection is detected.
+
YOUR DEVICE IS CONNECTED TO THE INTERNET. This window will activate once no internet connection is detected.