Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width,initial-scale=1"> | |
| <title>ARTEMIS Server</title> | |
| <style> | |
| *{margin:0;padding:0;box-sizing:border-box} | |
| body{background:#06090f;color:#c9d1d9;font-family:'Segoe UI',system-ui,sans-serif; | |
| min-height:100vh;padding:40px 20px;display:flex;flex-direction:column;align-items:center} | |
| .title{font-size:2.2rem;font-weight:800;letter-spacing:.08em;margin-bottom:8px;text-align:center; | |
| background:linear-gradient(90deg,#58a6ff,#7ee8fa); | |
| -webkit-background-clip:text;-webkit-text-fill-color:transparent} | |
| .sub{color:#8b949e;font-size:.95rem;margin-bottom:40px;text-align:center;max-width:580px;line-height:1.6} | |
| .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); | |
| gap:18px;width:100%;max-width:900px;margin-bottom:32px} | |
| .card{background:#0d1117;border:1px solid #1e3a5f;border-radius:8px;padding:22px} | |
| .card h3{color:#58a6ff;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px} | |
| .card p,.card li{font-size:.87rem;color:#8b949e;line-height:1.7} | |
| ul{padding-left:16px} | |
| code{background:#161b22;color:#e3b341;padding:2px 6px;border-radius:3px;font-size:.82rem} | |
| .flow{font-family:'Cascadia Code',monospace;font-size:.8rem;background:#0d1117; | |
| border:1px solid #1e3a5f;border-radius:6px;padding:20px;max-width:900px;width:100%;margin-bottom:24px} | |
| pre{white-space:pre;color:#c9d1d9} | |
| .badge{display:inline-block;background:#1e3a5f;color:#58a6ff;border-radius:4px; | |
| padding:2px 8px;font-size:.74rem;margin:2px} | |
| .dl{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;justify-content:center} | |
| .btn{background:linear-gradient(135deg,#1e3a5f,#0d2137);border:1px solid #58a6ff; | |
| color:#58a6ff;padding:10px 22px;border-radius:6px;font-size:.88rem;cursor:pointer; | |
| text-decoration:none;letter-spacing:.04em} | |
| </style> | |
| </head> | |
| <body> | |
| <div class="title">ARTEMIS SERVER</div> | |
| <div class="sub">A portable HTTP file server with an integrated Cloudflare tunnel. | |
| One binary. Zero config. Serve any directory to the internet in seconds, | |
| from any machine — no port forwarding, no firewall rules, no domain required.</div> | |
| <div class="grid"> | |
| <div class="card"> | |
| <h3>How It Works</h3> | |
| <p>Starts a local HTTP file server, then launches <code>cloudflared</code> in tunnel mode. | |
| Cloudflare assigns a random <code>*.trycloudflare.com</code> URL that proxies straight to your machine. | |
| Anyone with the link can access your files instantly.</p> | |
| </div> | |
| <div class="card"> | |
| <h3>Features</h3> | |
| <ul> | |
| <li>Single binary — no runtime, no installer</li> | |
| <li>ARM64 + ARM builds for Android / Termux</li> | |
| <li>Custom MIME types (video/mp4, audio/ogg)</li> | |
| <li>Optional log file output</li> | |
| <li>HTTP/2 and QUIC tunnel protocols</li> | |
| <li>Graceful shutdown on Ctrl+C</li> | |
| </ul> | |
| </div> | |
| <div class="card"> | |
| <h3>Stack</h3> | |
| <p> | |
| <span class="badge">Go</span> | |
| <span class="badge">net/http</span> | |
| <span class="badge">Cloudflared</span> | |
| <span class="badge">ARM64</span> | |
| <span class="badge">Termux</span> | |
| <span class="badge">Windows</span> | |
| </p> | |
| <br> | |
| <p>Built as a companion to the ARTEMIS ecosystem — | |
| used to serve files from an Android device over a Cloudflare tunnel | |
| without exposing any local ports.</p> | |
| </div> | |
| </div> | |
| <div class="flow"> | |
| <div style="color:#58a6ff;margin-bottom:10px;font-size:.78rem;letter-spacing:.08em">ARCHITECTURE</div> | |
| <pre> | |
| Your Machine | |
| +-----------------------+ | |
| | artemis-server | | |
| | | Cloudflare Edge | |
| | http.FileServer +------> *.trycloudflare.com ------> Anyone on the internet | |
| | :8080 | (tunnel) | |
| | | | |
| | cloudflared tunnel | | |
| +-----------------------+ | |
| $ ./artemis-server --dir /path/to/files --port 8080 | |
| Serving /path/to/files on http://0.0.0.0:8080 | |
| Tunnel URL: https://random-words-here.trycloudflare.com | |
| </pre> | |
| </div> | |
| <div class="grid"> | |
| <div class="card"> | |
| <h3>Usage</h3> | |
| <p> | |
| <code>./artemis-server</code> — serve current dir on :8080<br><br> | |
| <code>./artemis-server --dir ~/files --port 9000</code><br><br> | |
| <code>./artemis-server --protocol quic --log server.log</code> | |
| </p> | |
| </div> | |
| <div class="card"> | |
| <h3>Termux / Android</h3> | |
| <p>The ARM64 binary runs natively in Termux with no root required. | |
| Pair with <code>cloudflared</code> to instantly share files from your phone | |
| to any device in the world. No app, no account, no subscription.</p> | |
| </div> | |
| </div> | |
| <div style="margin-top:32px;color:#484f58;font-size:.8rem"> | |
| Part of the ARTEMIS ecosystem · ftrtemis | |
| </div> | |
| </body> | |
| </html> |