1
0
Fork 0
dwelling-upload/web/index.jade.mod.go

44 lines
4.2 KiB
Go

// Code generated by "jade.go"; DO NOT EDIT.
package web
import (
"html"
"io"
"strconv"
)
const (
index__0 = `<!DOCTYPE html><html lang="en"><head><title>Arav's dwelling / Upload</title><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="theme-color" content="#cd2682"/><meta name="description" content="File upload service for ya."/><link rel="icon" href="/assets/img/favicon.svg" sizes="any" type="image/svg+xml"/><link href="/assets/css/main.css" rel="stylesheet"/></head><body><header><svg id="logo" viewBox="0 -25 216 40"><text class="logo">Arav's dwelling</text><text class="under" y="11">Welcome to my sacred place, wanderer</text></svg><nav><a href="`
index__1 = `" title="Arav&#39;s dwelling">Back to main website</a><h1>Upload</h1></nav></header><section id="rules" class="center"><h2>Rules</h2><ul><li>Max. file size is `
index__2 = `.</li><li>It will be kept for `
index__3 = ` hours.</li><li>Anything you upload should comply with Russian Federation's law. Generally speaking, anything illegal, like CP, extremist literature etc., is forbidden.</li></ul></section><section id="used-space" class="center"><h2>Free space</h2><div><span>`
index__4 = `</span><progress value="`
index__5 = `" max="`
index__6 = `"></progress><span>`
index__7 = `</span></div><div>`
index__8 = `</div></section><section id="upload" class="center"><h2>Upload</h2><form action="/" method="POST" enctype="multipart/form-data"><input type="file" name="file"/><button type="submit">Upload</button></form></section><section class="center"><p>You can use cURL to upload a file: <code>curl -F 'file=@somefile.ext' https://upload.arav.top</code></p><p>Over I2P: <code>curl --proxy 127.0.0.1:4444 -F 'file=@somefile.ext' http://upload.arav.i2p</code></p><p>A resulted link looks like this: <code>/f/base64rawURL(sha256)/filename.ext</code>.</p><p>filename.ext is mandatory. It is a name the file will be retrieved with.</p></section><section class="center"><h2>Delete</h2><form action="/delete" method="POST"><input type="text" name="hash" placeholder="File hash goes here" minlength="43" maxlength="43" size="43" required=""/><button type="submit">Delete</button></form></section><section class="center"><p>You can delete a file using cURL: <code>curl -XDELETE https://upload.arav.top/&lt;hash&gt;</code></p><p>Over I2P: <code>curl --proxy 127.0.0.1:4444 -XDELETE http://upload.arav.i2p/&lt;hash&gt;</code></p></section><section><h2>Privacy statements</h2><p>I WILL cooperate with law enforcements and provide them with logs, guess I shouldn't clarify why. Abuses should be sent to <a href="mailto:admin@arav.top">admin@arav.top</a>.</p><p>Upload logs include: access time, IP-address, name of a file it was uploaded with, a SHA-256 hash of the file, download name*, size of the file in bytes, User-Agent.</p><p>Each download and deletion are also being logged and include: access time, IP-address, name of a file it was requested with, download name*, User-Agent.</p><p>*Download name is a salted SHA-256 hash of the file encoded using base64 raw URL encoding. The hash is being salted to make useless any attempt of bruteforcing.</p></section><footer>2022 Arav &lt;<a href="mailto:me@arav.top">me@arav.top</a>&gt;</footer></body></html>`
)
func Index(mainSite string, storageCapacity, storageUsed int64, keepForHours int, fileMaxSize, storageUsedStr, storageCapacityStr, storageAvailableStr string, wr io.Writer) {
buffer := &WriterAsBuffer{wr}
buffer.WriteString(index__0)
buffer.WriteString(html.EscapeString(mainSite))
buffer.WriteString(index__1)
buffer.WriteString(html.EscapeString(fileMaxSize))
buffer.WriteString(index__2)
buffer.WriteString(html.EscapeString(strconv.FormatInt(int64(keepForHours), 10)))
buffer.WriteString(index__3)
buffer.WriteString(html.EscapeString(storageUsedStr))
buffer.WriteString(index__4)
buffer.WriteString(html.EscapeString(strconv.FormatInt(storageUsed, 10)))
buffer.WriteString(index__5)
buffer.WriteString(html.EscapeString(strconv.FormatInt(storageCapacity, 10)))
buffer.WriteString(index__6)
buffer.WriteString(html.EscapeString(storageCapacityStr))
buffer.WriteString(index__7)
buffer.WriteString(html.EscapeString(storageAvailableStr))
buffer.WriteString(index__8)
}