initial commit
This commit is contained in:
commit
15913db41a
14 changed files with 335 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
keys/
|
16
docker-compose.yml
Normal file
16
docker-compose.yml
Normal file
|
@ -0,0 +1,16 @@
|
|||
services:
|
||||
transfer:
|
||||
image: dutchcoders/transfer.sh:latest
|
||||
container_name: transfer
|
||||
ports:
|
||||
- "3880:8080"
|
||||
- "3881:8081"
|
||||
command: ["--provider", "local", "--basedir", "/uploads/", "--web-path", "/web/", "--max-upload-size", "10485760", "--tls-listener", ":8081", "--tls-cert-file", "/fullchain.pem", "--tls-private-key", "/privkey.pem", "--tls-listener-only"]
|
||||
environment:
|
||||
- MAX_UPLOAD_SIZE=10485760
|
||||
volumes:
|
||||
- ./uploads:/uploads
|
||||
- ./tshweb:/web
|
||||
- ./keys/fullchain.pem:/fullchain.pem
|
||||
- ./keys/privkey.pem:/privkey.pem
|
||||
restart: always
|
14
tshweb/404.html
Normal file
14
tshweb/404.html
Normal file
|
@ -0,0 +1,14 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Third Culture Upload</title>
|
||||
<link rel="stylesheet" href="styles/main.css">
|
||||
</head>
|
||||
<body>
|
||||
<br/>
|
||||
<p style="color: red; text-align: center;">Content not found!</p>
|
||||
<p style="color: red; text-align: center;">404</p>
|
||||
</body>
|
||||
</html>
|
31
tshweb/download.audio.html
Normal file
31
tshweb/download.audio.html
Normal file
|
@ -0,0 +1,31 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Third Culture Upload</title>
|
||||
<link rel="stylesheet" href="../styles/main.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<br />
|
||||
<h2 class="page-title">{{.Filename}}</h2>
|
||||
<code>
|
||||
type: <b>{{.ContentType}}</b>
|
||||
size: <b>{{.ContentLength | format "#,###."}}</b> bytes
|
||||
</code>
|
||||
<br />
|
||||
<audio id="audio-player" class="preview-audio" controls preload="auto" data-setup='{}'>
|
||||
<source src="{{.URL}}" type="{{.ContentType}}">
|
||||
</source>
|
||||
</audio>
|
||||
<p class="dwn"><a href="{{.URLGet}}"> download</a></p>
|
||||
<div class="qrcode">
|
||||
<img src="data:image/png;base64,{{.QRCode}}" />
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
27
tshweb/download.html
Normal file
27
tshweb/download.html
Normal file
|
@ -0,0 +1,27 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Third Culture Upload</title>
|
||||
<link rel="stylesheet" href="../styles/main.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<br />
|
||||
<h2 class="page-title">{{.Filename}}</h2>
|
||||
<code>
|
||||
type: <b>{{.ContentType}}</b>
|
||||
size: <b>{{.ContentLength | format "#,###."}}</b> bytes
|
||||
</code>
|
||||
<br />
|
||||
<p class="dwn"><a href="{{.URLGet}}"> download</a></p>
|
||||
<div class="qrcode">
|
||||
<img src="data:image/png;base64,{{.QRCode}}" />
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
27
tshweb/download.image.html
Normal file
27
tshweb/download.image.html
Normal file
|
@ -0,0 +1,27 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Third Culture Upload</title>
|
||||
<link rel="stylesheet" href="../styles/main.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<br />
|
||||
<h2 class="page-title">{{.Filename}}</h2>
|
||||
<code>
|
||||
type: <b>{{.ContentType}}</b>
|
||||
size: <b>{{.ContentLength | format "#,###."}}</b> bytes
|
||||
</code>
|
||||
<br />
|
||||
<div class="preview-image"><img src="{{.URL}}" alt=""></div>
|
||||
<p class="dwn"><a href="{{.URLGet}}"> download</a></p>
|
||||
<div class="qrcode">
|
||||
<img src="data:image/png;base64,{{.QRCode}}" />
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
28
tshweb/download.markdown.html
Normal file
28
tshweb/download.markdown.html
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Third Culture Upload</title>
|
||||
<link rel="stylesheet" href="../styles/main.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<br />
|
||||
<h2 class="page-title">{{.Filename}}</h2>
|
||||
<code>
|
||||
type: <b>{{.ContentType}}</b>
|
||||
size: <b>{{.ContentLength | format "#,###."}}</b> bytes
|
||||
</code>
|
||||
<br />
|
||||
<div class="md-preview">{{.Content}}</div>
|
||||
<p class="dwn"><a href="{{.URLGet}}"> download</a></p>
|
||||
<div class="qrcode">
|
||||
<img src="data:image/png;base64,{{.QRCode}}" />
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
31
tshweb/download.video.html
Normal file
31
tshweb/download.video.html
Normal file
|
@ -0,0 +1,31 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Third Culture Upload</title>
|
||||
<link rel="stylesheet" href="../styles/main.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<br />
|
||||
<h2 class="page-title">{{.Filename}}</h2>
|
||||
<code>
|
||||
type: <b>{{.ContentType}}</b>
|
||||
size: <b>{{.ContentLength | format "#,###."}}</b> bytes
|
||||
</code>
|
||||
<br />
|
||||
<video id="video-player" class="prev-video" controls preload="auto" data-setup='{}'>
|
||||
<source src="{{.URL}}" type="{{.ContentType}}">
|
||||
</source>
|
||||
</video>
|
||||
<p class="dwn"><a href="{{.URLGet}}"> download</a></p>
|
||||
<div class="qrcode">
|
||||
<img src="data:image/png;base64,{{.QRCode}}" />
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
BIN
tshweb/favicon.ico
Normal file
BIN
tshweb/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.1 KiB |
4
tshweb/includes/download-bottom.html
Normal file
4
tshweb/includes/download-bottom.html
Normal file
|
@ -0,0 +1,4 @@
|
|||
<a href="{{.URLGet}}" class="btn-cta btn"> download</i> </a> <br/><br/>
|
||||
<div class="qrcode">
|
||||
<img src="data:image/png;base64,{{.QRCode}}"/>
|
||||
</div>
|
4
tshweb/includes/download-top.html
Normal file
4
tshweb/includes/download-top.html
Normal file
|
@ -0,0 +1,4 @@
|
|||
<br/>
|
||||
<h2 class="page-title">{{.Filename}}</h2>
|
||||
<h4>type: <b>{{.ContentType}}</b></h4>
|
||||
<h4>size: <b>{{.ContentLength | format "#,###."}}</b> bytes</h4>
|
37
tshweb/index.html
Normal file
37
tshweb/index.html
Normal file
|
@ -0,0 +1,37 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Third Culture Upload</title>
|
||||
<link rel="stylesheet" href="styles/main.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1><span class="accent">Third Culture</span> Upload</h1>
|
||||
<form action="https://up.thirdculture.top" method="POST" enctype="multipart/form-data">
|
||||
<label for="fileInput">Choose file:</label>
|
||||
<input type="file" name="file" id="fileInput" required />
|
||||
<br><br>
|
||||
<button type="submit">Upload</button>
|
||||
</form>
|
||||
<p><br></p>
|
||||
<p>Make sure to copy the link in the next page!</p>
|
||||
<p>More info on third culture upload <a href="scripts/info.html">here</a>.</p>
|
||||
<p><br></p>
|
||||
<svg version="1.1" style="fill:none;width:75px;height:75px;" width="50" height="50" viewBox="0 0 50 50" id="svg3" sodipodi:docname="logo.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs id="defs3" />
|
||||
<path style="fill:#000000;stroke:#000000;stroke-width:1.51515px;stroke-linecap:round;stroke-linejoin:round"
|
||||
d="m 0.75757498,49.242423 v 0 V 0.75757498 H 49.242425 V 49.242423 Z" id="path1" />
|
||||
<path style="fill:none;stroke:#a4d1ad;stroke-width:1.51515px;stroke-linecap:round;stroke-linejoin:round"
|
||||
d="m 20.454546,38.636362 v 0 l 9.090908,-9.090909 m -9.090908,0 v 0 l 9.090908,9.090909" id="path2" />
|
||||
<path style="fill:none;stroke:#aea3f0;stroke-width:4.24243px;stroke-linecap:round;stroke-linejoin:round"
|
||||
d="m 6.8181812,40.151514 v 0 L 25,9.8484837 43.181819,40.151514" id="path3" />
|
||||
</svg>
|
||||
</body>
|
||||
|
||||
</html>
|
16
tshweb/scripts/info.html
Normal file
16
tshweb/scripts/info.html
Normal file
|
@ -0,0 +1,16 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Third Culture Upload</title>
|
||||
<link rel="stylesheet" href="../styles/main.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>up.thirdculture.top info</h1>
|
||||
<p>Third culture upload supports uploading through the browser but also using the terminal as well you can find more details on the <a href="https://github.com/dutchcoders/transfer.sh">transfer.sh github</a>. I will include some simple examples here for quick reference.</p>
|
||||
</body>
|
||||
|
||||
</html>
|
99
tshweb/styles/main.css
Normal file
99
tshweb/styles/main.css
Normal file
|
@ -0,0 +1,99 @@
|
|||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
background-color: #121212;
|
||||
color: #e0e0e0;
|
||||
padding: 20px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: #9b4d96;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.preview-image {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.preview-image img {
|
||||
max-width: 600px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.page-title {
|
||||
text-align: center;
|
||||
color: #9b4d96;
|
||||
}
|
||||
|
||||
.accent {
|
||||
color: #7bbc7f;
|
||||
}
|
||||
|
||||
form {
|
||||
background-color: #1e1e1e;
|
||||
padding: 20px;
|
||||
border-radius: 8px;
|
||||
width: 300px;
|
||||
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
label {
|
||||
font-size: 16px;
|
||||
color: #ddd;
|
||||
margin-bottom: 10px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
input[type="file"] {
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
margin: 10px 0;
|
||||
border: 2px solid #9b4d96;
|
||||
background-color: #333;
|
||||
color: #fff;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
input[type="file"]:hover {
|
||||
border-color: #be2b90;
|
||||
}
|
||||
|
||||
button {
|
||||
background-color: #9b4d96;
|
||||
color: #fff;
|
||||
padding: 12px;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
width: 100%;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.3s ease;
|
||||
}
|
||||
|
||||
.dwn {
|
||||
text-align: center;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #be2b90;
|
||||
}
|
||||
|
||||
button:active {
|
||||
background-color: #9b4d96;
|
||||
}
|
||||
|
||||
.qrcode {
|
||||
text-align: center;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue