Why PrivateBin?
+End‑to‑end encrypted pastes. Paste content is encrypted in your browser before upload — the server never sees plain text.
+diff --git a/Caddyfile b/Caddyfile index 74d2937..7c4ad3a 100644 --- a/Caddyfile +++ b/Caddyfile @@ -39,6 +39,7 @@ http://{$FILES_DOMAIN}:8550 { reverse_proxy http://lufi:8081 } -http://{$HOMR_DOMAIN} { - respond "KFDJSLKFJSLKFJSLKFDJLKDS" 200 +http://{$HOME_DOMAIN}:8550 { + root * /var/www/share + file_server } diff --git a/docker-compose.yml b/docker-compose.yml index 79ace23..09cefcf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,7 +7,7 @@ services: volumes: - ./Caddyfile:/etc/caddy/Caddyfile:ro,Z - caddy-data:/data - - ./public:/var/www/share + - ./public:/var/www/share:ro,Z environment: - PASTE_DOMAIN=${PASTE_DOMAIN} - FILES_DOMAIN=${FILES_DOMAIN} diff --git a/public/app.js b/public/app.js index 40589b0..d90d845 100644 --- a/public/app.js +++ b/public/app.js @@ -1,17 +1,27 @@ -import { privateNoteUrl, fileDropUrl, homeDomain } from "./links.js"; +import { privateNoteUrl, fileDropUrl, homeDomain, github } 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"]'); + homeDomainEl = document.querySelector("#home-domain"), + noteLink = document.querySelector('[data-link="note"]'), + dropLink = document.querySelector('[data-link="drop"]'), + githubLink = document.querySelector('[data-link="github"]'); // set the current year if (yearEl) { yearEl.textContent = String(new Date().getFullYear()); } -// set home domain text -if (homeDomainEl) { homeDomainEl.textContent = homeDomain; } +// set home domain text and href +if (homeDomainEl) { + homeDomainEl.textContent = homeDomain.replace(/^https?:\/\//, ""); + homeDomainEl.setAttribute("href", homeDomain); + homeDomainEl.setAttribute("target", "_blank"); + homeDomainEl.setAttribute("rel", "noopener"); +} // wire up links from config if (noteLink) { noteLink.setAttribute("href", privateNoteUrl); } if (dropLink) { dropLink.setAttribute("href", fileDropUrl); } +if (githubLink) { + githubLink.setAttribute("href", github); + githubLink.textContent = github; +} diff --git a/public/index.html b/public/index.html index 3753773..26f0072 100644 --- a/public/index.html +++ b/public/index.html @@ -3,45 +3,60 @@
-welcome to my privatenote and lufi instances!
+Self‑hosted privacy tools: encrypted notes & secure file drops
+pick a destination:
+Quick links to your self‑hosted services. Nothing stored here — just shortcuts to PrivateBin (end‑to‑end encrypted notes) and LUFI (client‑side encrypted file sharing).
+ -psst: bookmark this page at share.ion606.com for next time.
+ +End‑to‑end encrypted pastes. Paste content is encrypted in your browser before upload — the server never sees plain text.
+Client‑side encrypted file sharing with configurable expiry. Share large files securely without third‑party hosting.
+