43 lines
3.6 KiB
Go
43 lines
3.6 KiB
Go
// Code generated by "jade.go"; DO NOT EDIT.
|
|
|
|
package web
|
|
|
|
import (
|
|
"io"
|
|
)
|
|
|
|
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></html><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's dwelling">Back to main website</a></nav></header></body><h1>Upload</h1><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><p class="center">You can use cURL to upload a file: <code>curl -F 'file=@somefile.ext' https://upload.arav.top</code></p><p class="center">Over I2P: <code>curl --proxy 127.0.0.1:4444 -F 'file=@somefile.ext' http://upload.arav.i2p</code></p><p class="center">A resulted link looks like this: <code>/f/base64rawURL(sha256)/filename.ext</code>.</p><p class="center">filename.ext is mandatory. It is a name the file will be retrieved with.</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 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 <<a href="mailto:me@arav.top">me@arav.top</a>></footer>`
|
|
)
|
|
|
|
func Index(mainSite string, fileMaxSize, storageCapacity, storageUsed, keepForHours int, storageUsedStr, storageCapacityStr, storageAvailableStr string, wr io.Writer) {
|
|
buffer := &WriterAsBuffer{wr}
|
|
|
|
buffer.WriteString(index__0)
|
|
WriteEscString(mainSite, buffer)
|
|
buffer.WriteString(index__1)
|
|
WriteInt(int64(fileMaxSize), buffer)
|
|
buffer.WriteString(index__2)
|
|
WriteInt(int64(keepForHours), buffer)
|
|
buffer.WriteString(index__3)
|
|
WriteEscString(storageUsedStr, buffer)
|
|
buffer.WriteString(index__4)
|
|
WriteInt(int64(storageUsed), buffer)
|
|
buffer.WriteString(index__5)
|
|
WriteInt(int64(storageCapacity), buffer)
|
|
buffer.WriteString(index__6)
|
|
WriteEscString(storageCapacityStr, buffer)
|
|
buffer.WriteString(index__7)
|
|
WriteEscString(storageAvailableStr, buffer)
|
|
buffer.WriteString(index__8)
|
|
|
|
}
|