Nostryfied/index.html

209 lines
7.0 KiB
HTML
Raw Normal View History

2023-02-23 00:54:02 +05:30
<!DOCTYPE html>
<html data-theme="light" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Primary Meta Tags -->
<title>Nostryfied</title>
2023-02-24 03:10:48 +05:30
<meta name="title" content="Nostr Backup Service by Nostryfied" />
2023-02-23 00:54:02 +05:30
<meta
name="description"
content="Fetch, backup and broadcast your Nostr events" />
<!-- Favicon -->
<link
rel="shortcut icon"
2023-02-24 03:08:22 +05:30
href="https://res.cloudinary.com/dfquzutga/image/upload/v1677188210/Screenshot_20230224_030530_Canva_2_cwvo5m.jpg"
2023-02-23 00:54:02 +05:30
type="image/x-icon" />
<!-- CSS -->
<link rel="stylesheet" href="style.css" />
<!-- Lightning -->
2023-02-24 02:59:39 +05:30
<meta name="lightning" content="realiefan@ln.tips" />
2023-02-23 00:54:02 +05:30
<!-- PWA -->
<meta name="theme-color" content="#ffffff" />
<link
rel="apple-touch-icon"
href="https://nostr-utils.pages.dev/img/broadcast.png" />
2023-02-24 02:28:32 +05:30
2023-02-24 02:43:26 +05:30
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>How to Optimize Your Website Speed</title>
2023-02-24 02:59:39 +05:30
<meta property="og:title" content="Take you Nostr Backups today with Nostryfied">
<meta property="og:type" content="Broadcast & Export, also Download a Copy of your Data today with just one click">
2023-02-24 02:54:02 +05:30
<meta property="og:image" content="https://res.cloudinary.com/dfquzutga/image/upload/v1677187258/20230224_024801_0000_2_m7hazu.png"> <!-- Replace with the URL of your larger image -->
<meta property="og:url" content="https://nostryfied.online">
2023-02-24 02:43:26 +05:30
<meta property="og:image:width" content="1600" />
2023-02-23 00:54:02 +05:30
</head>
<body>
<main class="container">
<div class="header-space">
2024-01-28 17:28:21 -05:00
<h1>Backup your Nostr Events</h1>
2023-02-23 00:54:02 +05:30
</div>
<div>
<form>
<div>
<form>
2024-01-28 13:51:21 -05:00
<div class="space-between-small">
<p>
2024-01-28 17:28:21 -05:00
From relays
2024-01-28 13:51:21 -05:00
<input
type="text"
2024-01-28 17:28:21 -05:00
class="cool-field"
2024-01-28 13:51:21 -05:00
id="relaySet"
name="relaySet"
2024-01-28 17:30:25 -05:00
placeholder="wss://nos.lol, wss://nostr.mom or leave blank for all" />
2024-01-28 17:28:21 -05:00
</p>
</div>
<div class="space-between-small-left">
<p>
Created from
<input type="date" class="cool-field" id="startDate" name="startDate" min="2020-01-01" value="2020-01-01" />
to
<input type="date" class="cool-field" id="endDate" name="endDate" min="2020-01-01" />
2024-01-28 13:51:21 -05:00
</p>
</div>
<div class="space-between-small">
2023-02-23 00:54:02 +05:30
<p>
2024-01-28 17:28:21 -05:00
By and about
2023-02-23 00:54:02 +05:30
<input
type="text"
id="pubkey"
name="pubkey"
2024-01-28 17:28:21 -05:00
class="cool-field"
2023-02-23 00:54:02 +05:30
onchange="pubkeyOnChange()"
placeholder="Public key (npub or hex)"
required />
</p>
</div>
<div class="space-between-small">
<div class="space-between">
<b>OR</b>
</div>
</div>
<div class="space-between">
<div class="space-between">
<p>
<input type="file" id="file-selector">
</p>
<script>
var fileName = ""
const fileSelector = document.getElementById('file-selector');
fileSelector.addEventListener('change', (event) => {
fileName = event.target.files[0];
$('#fetch-and-broadcast').css('display', 'none')
$('#just-broadcast').css('display', 'inline-block')
});
</script>
</div>
</div>
2023-02-23 00:54:02 +05:30
</form>
</div>
<style>
2024-01-28 17:28:21 -05:00
.cool-field {
2024-01-28 13:51:21 -05:00
font-size: 16px;
padding: 5px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}
2024-01-28 17:28:21 -05:00
.cool-field::placeholder {
2024-01-28 13:51:21 -05:00
color: #999;
}
2023-02-23 00:54:02 +05:30
</style>
2023-02-23 00:54:02 +05:30
<p>
<button
id="fetch-and-broadcast"
onclick="fetchAndBroadcast(); return false;">
Backup & Broadcast
</button>
<button
id="just-broadcast"
onclick="justBroadcast(fileName); return false;"
style="display: none">
Broadcast from File
</button>
2023-02-23 00:54:02 +05:30
<button
id="get-from-extension"
onclick="getFromExtension(); return false;"
style="display: none">
Get from extension
</button>
</p>
</div>
</form>
</div>
<div class="box">
<div class="box-content">
<p id="fetching-status"></p>
<p style="padding-top: 2px">
<progress
type="range"
id="fetching-progress"
name="fetching-progress"
min="0"
max="180"
2023-02-23 00:54:02 +05:30
value="0"
style="visibility: hidden" />
</p>
</div>
<div class="box-content" id="checking-relays-box">
2024-01-28 15:59:28 -05:00
<table id="checking-relays" class="fullwidth">
<tr id="checking-relays-header"></tr>
</table>
</div>
2023-02-23 00:54:02 +05:30
<div class="box-content">
<p id="file-download"></p>
<p id="events-found"></p>
</div>
<div class="box-content">
<p id="broadcasting-status"></p>
<p style="padding-top: 2px">
<progress
type="range"
id="broadcasting-progress"
name="broadcasting-progress"
min="0"
max="180"
2023-02-23 00:54:02 +05:30
value="0"
style="visibility: hidden" />
</p>
</div>
</div>
2024-01-28 17:28:21 -05:00
2023-02-23 00:54:02 +05:30
<footer>
<h5>
<p>Please note that our data export service is a best-effort service and not
a complete backup. While we do our best to ensure that all data is included
in the export, we cannot guarantee that all data will be exported."</p>
</h4>
2023-02-23 00:58:47 +05:30
2023-02-23 00:54:02 +05:30
</footer>
</main>
<script src="https://bundle.run/buffer@6.0.3"></script>
<script src="https://bundle.run/bech32@2.0.0"></script>
<script src="https://nostr-utils.pages.dev/js/jquery-3.6.2.min.js"></script>
<script src="js/nostr-utils.js"></script>
2023-02-23 00:54:02 +05:30
<script src="js/relays.js"></script>
<script src="js/nostr-broadcast.js"></script>
2024-01-28 17:28:21 -05:00
<script>
Date.prototype.toDateInputValue = (function() {
var local = new Date(this);
local.setMinutes(this.getMinutes() - this.getTimezoneOffset());
return local.toJSON().slice(0,10);
});
document.getElementById('endDate').value = new Date().toDateInputValue()
</script>
2023-02-23 00:54:02 +05:30
</body>
</html>