mirror of
https://github.com/ION606/sharing.git
synced 2026-05-14 13:46:54 +00:00
FIXME: share.ion606.com broken
This commit is contained in:
@@ -39,3 +39,6 @@ http://{$FILES_DOMAIN}:8550 {
|
||||
reverse_proxy http://lufi:8081
|
||||
}
|
||||
|
||||
http://{$HOMR_DOMAIN} {
|
||||
respond "KFDJSLKFJSLKFJSLKFDJLKDS" 200
|
||||
}
|
||||
|
||||
@@ -7,10 +7,12 @@ services:
|
||||
volumes:
|
||||
- ./Caddyfile:/etc/caddy/Caddyfile:ro,Z
|
||||
- caddy-data:/data
|
||||
- ./public:/var/www/share
|
||||
environment:
|
||||
- PASTE_DOMAIN=${PASTE_DOMAIN}
|
||||
- FILES_DOMAIN=${FILES_DOMAIN}
|
||||
- SHORT_DOMAIN=${SHORT_DOMAIN}
|
||||
- HOME_DOMAIN=${HOME_DOMAIN}
|
||||
- INITIAL_API_KEY=${INITIAL_API_KEY}
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
import { privateNoteUrl, fileDropUrl, homeDomain } from "./links.js";
|
||||
|
||||
const yearEl = document.querySelector("#year"),
|
||||
homeDomainEl = document.querySelector("#home-domain"),
|
||||
noteLink = document.querySelector('[data-link="note"]'),
|
||||
dropLink = document.querySelector('[data-link="drop"]');
|
||||
|
||||
// set the current year
|
||||
if (yearEl) { yearEl.textContent = String(new Date().getFullYear()); }
|
||||
|
||||
// set home domain text
|
||||
if (homeDomainEl) { homeDomainEl.textContent = homeDomain; }
|
||||
|
||||
// wire up links from config
|
||||
if (noteLink) { noteLink.setAttribute("href", privateNoteUrl); }
|
||||
if (dropLink) { dropLink.setAttribute("href", fileDropUrl); }
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>ION606's sharing hub</title>
|
||||
<meta name="description" content="friendly landing page linking to privatenote and lufi.">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="./styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<!-- all comments are lower case -->
|
||||
<header class="site-header">
|
||||
<div class="container">
|
||||
<h1 class="brand"><span aria-hidden="true">✨</span> ion606 hub</h1>
|
||||
<p class="tagline">welcome to my privatenote and lufi instances!</p>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main class="container">
|
||||
<section class="card">
|
||||
<h2>quick links</h2>
|
||||
<p>pick a destination:</p>
|
||||
<nav class="actions">
|
||||
<a class="btn" data-link="note" href="#" rel="noopener">open privatenote</a>
|
||||
<a class="btn secondary" data-link="drop" href="#" rel="noopener">open lufi</a>
|
||||
</nav>
|
||||
<p class="hint">psst: bookmark this page at <strong id="home-domain">share.ion606.com</strong> for next time.</p>
|
||||
</section>
|
||||
|
||||
<section class="card info">
|
||||
<h3>what are these?</h3>
|
||||
<ul class="bullets">
|
||||
<li><strong>privatenote</strong> is an end-to-end encrypted pastebin for sharing text or code snippets securely.</li>
|
||||
<li><strong>lufi</strong> lets you upload and share files; encryption happens before upload for extra privacy.</li>
|
||||
</ul>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<footer class="site-footer">
|
||||
<div class="container">
|
||||
<p><span id="year"></span> · served by caddy · made with ❤️</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script type="module" src="./app.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
export const privateNoteUrl = "https://bin.ion606.com",
|
||||
fileDropUrl = "https://tfiles.ion606.com",
|
||||
homeDomain = "share.ion606.com";
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
:root {
|
||||
--bg: #0b0f14;
|
||||
--panel: #121821;
|
||||
--text: #e6edf3;
|
||||
--muted: #9fb0c0;
|
||||
--accent: #7cc7ff;
|
||||
--accent-2: #8ae3cf;
|
||||
--btn-bg: #1a2330;
|
||||
--btn-border: #2a374a;
|
||||
}
|
||||
|
||||
* { box-sizing: border-box; }
|
||||
|
||||
html, body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background: radial-gradient(1000px 600px at 10% -10%, rgba(124,199,255,.12), transparent 60%),
|
||||
radial-gradient(800px 500px at 110% 10%, rgba(138,227,207,.12), transparent 60%), var(--bg);
|
||||
color: var(--text);
|
||||
font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 880px;
|
||||
margin: 0 auto;
|
||||
padding: 1.25rem;
|
||||
}
|
||||
|
||||
.site-header {
|
||||
padding: 2.5rem 0 1rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.brand {
|
||||
margin: 0 0 .5rem;
|
||||
font-size: clamp(1.6rem, 3vw, 2rem);
|
||||
letter-spacing: .2px;
|
||||
}
|
||||
|
||||
.tagline {
|
||||
margin: 0;
|
||||
color: var(--muted);
|
||||
}
|
||||
|
||||
.card {
|
||||
background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
|
||||
border: 1px solid rgba(255,255,255,.08);
|
||||
border-radius: 16px;
|
||||
padding: 1.25rem;
|
||||
margin: 1rem 0;
|
||||
box-shadow: 0 10px 30px rgba(0,0,0,.25);
|
||||
}
|
||||
|
||||
.card.info { color: var(--muted); }
|
||||
|
||||
.actions {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: .75rem;
|
||||
margin: 1rem 0 0;
|
||||
}
|
||||
|
||||
.btn {
|
||||
display: inline-block;
|
||||
padding: .9rem 1.1rem;
|
||||
border-radius: 12px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--btn-border);
|
||||
color: var(--text);
|
||||
text-decoration: none;
|
||||
font-weight: 600;
|
||||
transition: transform .06s ease, background .2s ease, border-color .2s ease;
|
||||
}
|
||||
|
||||
.btn:hover { transform: translateY(-1px); }
|
||||
.btn:active { transform: translateY(0); }
|
||||
|
||||
.btn.secondary { background: #101723; }
|
||||
|
||||
.hint { color: var(--muted); font-size: .95rem; }
|
||||
|
||||
.bullets { padding-left: 1.1rem; }
|
||||
|
||||
.site-footer {
|
||||
text-align: center;
|
||||
padding: 2rem 0 3rem;
|
||||
color: var(--muted);
|
||||
font-size: .95rem;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user