index.php (4026B)
1 <!DOCTYPE html>
2 <html lang="en">
3
4 <head>
5 <meta charset="UTF-8">
6 <meta http-equiv="X-UA-Compatible" content="IE=edge">
7 <meta name="viewport" content="width=device-width, initial-scale=1.0">
8 <link rel=stylesheet type=text/css href=/assets/css/simple.min.css />
9 <link rel=icon href=/assets/img/favicon.ico>
10 <link rel=icon type=img/png sizes=128x128 href=/assets/img/favicon_128.png>
11 <link rel=icon type=img/png sizes=64x64 href=/assets/img/favicon_64.png>
12 <link rel=icon type=img/png sizes=32x32 href=/assets/img/favicon_32.png>
13 <link rel=icon type=img/png sizes=16x16 href=/assets/img/favicon_16.png>
14 <title>pastesrv</title>
15 </head>
16
17 <body>
18
19 <header>
20 <h1>pastesrv</h1>
21 <a class="button" href="/">
22 Home
23 </a>
24 <a class="button" href="#about">
25 About
26 </a>
27 <a class="button" href="#how">
28 How
29 </a>
30 <a class="button" href="https://src.jayvii.de/pub/pastesrv">
31 Source
32 </a>
33 </header>
34
35 <?php
36
37 /* Load Configuration */
38 include("config/config.php");
39
40 /* If auth is successfull, show uploader or process file */
41 if (hash("sha256", $_GET["auth"]) === $auth_hash) {
42
43 ?>
44
45 <!-- Uploader -->
46 <section id="paste">
47 <h2>Paste Text or Upload file</h2>
48 <p>
49 You may also upload a file here directly or paste text in the textbox
50 below instead.
51 </p>
52 <form
53 action="<?php echo "/?auth=" . $_GET["auth"] . "#paste"; ?>"
54 target="_self"
55 method="post"
56 enctype="multipart/form-data"
57 >
58 <input
59 name="file"
60 type="file"
61 style="width:100%;"
62 class="button"
63 >
64 <textarea
65 name="text"
66 style="width:100%;"
67 autofocus
68 placeholder="Insert Text you want to paste"
69 wrap="soft"
70 ></textarea>
71 <input type="submit" value="Paste!">
72 </form>
73
74 <?php
75
76 /* Process file if available */
77 if (!is_null($_FILES["file"]["tmp_name"]) || $_POST["text"] != "") {
78
79 /* Create Hash Name */
80 $hash = hash("sha256", time() . $salt);
81 $pasted = false;
82
83 /* Process if file was uploaded */
84 if (!is_null($_FILES["file"]["tmp_name"])) {
85
86 /* Move file to designated place */
87 $pasted = move_uploaded_file(
88 $_FILES["file"]["tmp_name"],
89 "./" . $hash
90 );
91
92 }
93
94 /* Process if text was given */
95 if ($_POST["text"] != "") {
96 $pasted = file_put_contents(
97 "./" . $hash,
98 $_POST["text"]
99 );
100 $pasted = $pasted > 0;
101 }
102
103 if ($pasted) {
104
105 ?>
106
107 <p>
108 Your file is available at:<br>
109 <a href="<?php echo $hash; ?>" target="_blank">
110 <?php echo $_SERVER["SERVER_NAME"] . "/" . $hash; ?>
111 </a>
112 </p>
113
114 <?php
115
116 } /* Pasting was successful */
117
118 } /* File was uploaded or text input was given */
119
120 } /* Auth is correct */
121
122 ?>
123
124 <!-- About Section -->
125 <section id="about">
126 <h2>About pastesrv</h2>
127 <p>
128 Super simple selfhosted paste server, based around minimal and basic
129 tools, which you can selfhost within seconds without much effort.
130 </p>
131 </section>
132
133 <!-- How To Use -->
134 <section id="how">
135 <h2>How to use</h2>
136 <p>
137 The original functionality is described in a blogpost on
138 <a
139 href="https://www.codemadness.org/paste-service.html"
140 target="_blank"
141 >
142 codemadness.org
143 </a>
144 </p>
145 <p>
146 Using the
147 <code>
148 <a
149 href="https://src.jayvii.de/pub/pastesrv/file/pastesrv.sh.html"
150 target="_blank"
151 >
152 pastesrv.sh
153 </a>
154 </code>
155 function, you can pipe any content to the paste service through SSH.
156 </p>
157 </section>
158
159 </body>
160
161 </html>