// ─────────────────────────────────────────────
-// drop. — anonymous P2P chat & file share
// Single-file Deno server · WebRTC + SSE
// run: deno run --allow-net main.ts
// ─────────────────────────────────────────────
const PORT = Number(Deno.env.get("PORT")) ?? 8080;
const SESSION_TTL_MS = 60 * 60 * 1000; // 1 hour
const CHUNK_SIZE = 16 * 1024; // 16KB DataChannel chunks
+const NAME = ".env";
// ── Types ────────────────────────────────────
// ── Start ────────────────────────────────────
-console.log(`drop. running → http://localhost:${PORT}`);
+console.log(`${NAME} running → http://localhost:${PORT}`);
Deno.serve(
{ port: PORT },
(req, info) => handler(req, (info.remoteAddr as Deno.NetAddr).hostname),
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
-<title>drop.</title>
+<title>${NAME}</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300&family=DM+Sans:ital,opsz,wght@0,9..40,200;0,9..40,300;0,9..40,400;1,9..40,200&display=swap');
<!-- Landing -->
<div id="screen-land" class="screen active">
- <div class="wordmark">drop.</div>
+ <div class="wordmark">${NAME}</div>
<div class="tagline">anonymous · ephemeral · peer-to-peer</div>
<div class="land-actions">
<button class="btn btn-primary" onclick="App.createSession()">new session</button>
<div id="screen-chat" class="screen">
<div class="drop-overlay" id="drop-overlay"><div class="drop-hint">drop files to send</div></div>
<div class="chat-header">
- <div class="chat-wordmark">drop.</div>
+ <div class="chat-wordmark">${NAME}</div>
<div class="chat-meta">
<div class="session-pill" id="header-code" onclick="App.copyCode()" title="click to copy"></div>
<div class="status-dot"></div>