this repo has no description
at main 92 lines 4.4 kB view raw
1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="description" content="MBD PDS - A free AT Protocol Personal Data Server for Bluesky, hosted on UpCloud and maintained by @madebydanny.uk"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 7 <title>MBD PDS - rose.madebydanny.uk</title> 8 <link rel="icon" id="favicon" href="/media/seo/icon.png" type="image/png" /> 9 <meta property="og:title" content="MBD PDS - rose.madebydanny.uk"> 10 <meta property="og:description" id="og-description" content="This is an AT Protocol Personal Data Server (PDS) hosted on UpCloud maintained by @madebydanny.uk"> 11 <meta property="og:type" content="website"> 12 <meta property="og:url" content="https://rose.madebydanny.uk/"> 13 <meta property="og:image" id="og-image" content="/media/seo/banner.png"> 14 <link rel="preconnect" href="https://fonts.googleapis.com"> 15 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 16 <link href="https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap" rel="stylesheet"> 17 <link rel="stylesheet" href="/css/index.css" /> 18 </head> 19 <body> 20 <div id="announcement" class="announcement" role="region" aria-label="Site announcement"> 21 <p><strong>What's new:</strong> No more invite codes!</p> 22 <div class="controls"> 23 <button class="dismiss" id="dismissAnnouncement" aria-label="Dismiss announcement">Dismiss</button> 24 </div> 25 </div> 26 <main> 27 <h1>MBD PDS - rose.madebydanny.uk</h1> 28 <div class="button-row"> 29 <a href="/join/index.html" class="btn">Join / Migrate</a> 30 <a href="/account" class="btn">Login</a> 31 <a href="/about/terms.html" class="btn">Terms of Service</a> 32 <a href="/about/privacy.html" class="btn">Privacy Policy</a> 33 </div> 34 <p>This is an AT Protocol Personal Data Server <i>(PDS)</i> hosted on <a href="https://upcloud.com" target="_blank">UpCloud</a> maintained by <a href="https://madebydanny.uk/followonbsky?did=danielmorrisey.com" target="_blank">@daielmorrisey.com</a></p> 35 36 <h2>About</h2> 37 <p>The MBD PDS is a free-to-use, publicly available Bluesky PDS <i>(Personal Data Server)</i> that <b>anyone can use</b>. Hosted on an Upcloud server in New York and maintained by <a href="https://madebydanny.uk/followonbsky?did=danielmorrisey.com" target="_blank">@madebydanny.uk</a>, we are committed to providing the best Bluesky experience.</p> 38 39 <h3>Links</h3> 40 <ul> 41 <li><a href="https://pdsls.dev/firehose?instance=wss%3A%2F%2Frose.madebydanny.uk" target="_blank">PDS Firehose</a></li> 42 <li><a href="/status.html">View Server Status</a></li> 43 <li><a href="https://pdsmoover.com/moover">MOOve<i>(Migrate)</i></a></li> 44 <li><a href="/about/privacy.html">Privacy Policy</a></li> 45 <li><a href="/about/terms.html">Terms of Service</a></li> 46 <li><a href="/account">Manage Account</a></li> 47 </ul> 48 49 <h2>Developer Info</h2> 50 <p><b>API</b> - Most API routes are under <code>/xrpc/</code></p> 51 <h3>Supported handles</h3> 52 <ul> 53 <li>.rose.madebydanny.uk</li> 54 </ul> 55 </main> 56 57 <footer> 58 <p>&copy; 2024-2025 Made by Danny UK, <i>by <a href="https://madebydanny.uk/followonbsky?did=danielmorrisey.com">Daniel Morrisey</a></i> - Powered by Resend and Upcloud</p> 59 </footer> 60 <script> 61 (function(){ 62 var key = 'mbd_pds_announcement_dismissed_at'; 63 var banner = document.getElementById('announcement'); 64 var btn = document.getElementById('dismissAnnouncement'); 65 if (!banner || !btn) return; 66 67 function hide() { banner.style.display = 'none'; } 68 69 try { 70 var ts = localStorage.getItem(key); 71 if (ts) { 72 var then = parseInt(ts, 10) || 0; 73 var now = Date.now(); 74 // 24 hours in ms 75 if (now - then < 24 * 60 * 60 * 1000) { 76 hide(); 77 } 78 } 79 } catch (e) { 80 // localStorage may be unavailable; silently continue 81 } 82 83 btn.addEventListener('click', function(){ 84 try { 85 localStorage.setItem(key, String(Date.now())); 86 } catch (e) {} 87 hide(); 88 }); 89 })(); 90 </script> 91 </body> 92</html>