forked from svrjs/svrjs
165 lines
5.1 KiB
HTML
165 lines
5.1 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>SVR.JS 3.15.0</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta charset="UTF-8" />
|
|
<style>
|
|
html {
|
|
background-color: #dfffdf;
|
|
color: #000000;
|
|
font-family: FreeSans, Helvetica, Tahoma, Verdana, Arial, sans-serif;
|
|
margin: 0.75em;
|
|
text-align: center;
|
|
}
|
|
|
|
body {
|
|
background-color: #ffffff;
|
|
padding: 0.5em 0.5em 0.1em;
|
|
margin: 0.5em auto;
|
|
width: 90%;
|
|
max-width: 800px;
|
|
-webkit-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.15);
|
|
-moz-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.15);
|
|
box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.15)
|
|
}
|
|
|
|
h1 {
|
|
text-align: center;
|
|
font-size: 2.25em;
|
|
margin: 0.3em 0 0.5em
|
|
}
|
|
|
|
pre,
|
|
code {
|
|
background-color: #dfffdf;
|
|
-webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
|
|
-moz-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
|
|
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
|
|
display: block;
|
|
padding: 0.2em;
|
|
font-family: "DejaVu Sans Mono", "Bitstream Vera Sans Mono", Hack, Menlo, Consolas, Monaco, monospace;
|
|
font-size: 0.85em;
|
|
margin: auto;
|
|
width: 95%;
|
|
}
|
|
|
|
@media screen and (prefers-color-scheme: dark) {
|
|
html {
|
|
background-color: #002000;
|
|
color: #ffffff
|
|
}
|
|
|
|
body {
|
|
background-color: #000f00;
|
|
-webkit-box-shadow: 0 5px 10px 0 rgba(127, 127, 127, 0.15);
|
|
-moz-box-shadow: 0 5px 10px 0 rgba(127, 127, 127, 0.15);
|
|
box-shadow: 0 5px 10px 0 rgba(127, 127, 127, 0.15)
|
|
}
|
|
|
|
pre,
|
|
code {
|
|
background-color: #002000;
|
|
-webkit-box-shadow: 0 2px 4px 0 rgba(127, 127, 127, 0.1);
|
|
-moz-box-shadow: 0 2px 4px 0 rgba(127, 127, 127, 0.1);
|
|
box-shadow: 0 2px 4px 0 rgba(127, 127, 127, 0.1)
|
|
}
|
|
|
|
a {
|
|
color: #ffffff
|
|
}
|
|
|
|
a:hover {
|
|
color: #00ff00
|
|
}
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1>Welcome to SVR.JS 3.15.0</h1>
|
|
<br />
|
|
<img src="/logo.png" style="width: 224px; max-width: 100%;" />
|
|
<br />
|
|
<p>If you see this page that means that the server is working properly. You can further configure the server and replace <i>index.html</i> and <i>tests.html</i> pages with custom ones.</p>
|
|
<p>Default <i>config.json</i> looks like this:</p>
|
|
<code style="padding: 5px; text-align: left; display: block; display: inline-block;">
|
|
<pre style="margin: 0.2em; white-space: pre-wrap; overflow-wrap: break-word; word-wrap: break-word; word-break: break-all; word-break: break-word; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none;">{
|
|
"users": [],
|
|
"port": 80,
|
|
"pubport": 80,
|
|
"page404": "404.html",
|
|
"timestamp": 1709477722479,
|
|
"blacklist": [],
|
|
"nonStandardCodes": [],
|
|
"enableCompression": true,
|
|
"customHeaders": {},
|
|
"enableHTTP2": false,
|
|
"enableLogging": true,
|
|
"enableDirectoryListing": true,
|
|
"enableDirectoryListingWithDefaultHead": false,
|
|
"serverAdministratorEmail": "[no contact information]",
|
|
"stackHidden": false,
|
|
"enableRemoteLogBrowsing": false,
|
|
"exposeServerVersion": true,
|
|
"disableServerSideScriptExpose": true,
|
|
"rewriteMap": [
|
|
{
|
|
"definingRegex": "/^\\/serverSideScript\\.js(?:$|[#?])/",
|
|
"replacements": [
|
|
{
|
|
"regex": "/^\\/serverSideScript\\.js($|[#?])/",
|
|
"replacement": "/NONEXISTENT_PAGE$1"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"definingRegex": "/^\\/testdir_rewritten(?:$|[\\/?#])/",
|
|
"replacements": [
|
|
{
|
|
"regex": "/^\\/testdir_rewritten($|[\\/?#])/",
|
|
"replacement": "/testdir$1"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"allowStatus": true,
|
|
"dontCompress": [
|
|
"/.*\\.ipxe$/",
|
|
"/.*\\.(?:jpe?g|png|bmp|tiff|jfif|gif|webp)$/",
|
|
"/.*\\.(?:[id]mg|iso|flp)$/",
|
|
"/.*\\.(?:zip|rar|bz2|[gb7x]z|lzma|tar)$/",
|
|
"/.*\\.(?:mp[34]|mov|wm[av]|avi|webm|og[gv]|mk[va])$/"
|
|
],
|
|
"enableIPSpoofing": false,
|
|
"secure": false,
|
|
"sni": {},
|
|
"disableNonEncryptedServer": false,
|
|
"disableToHTTPSRedirect": false,
|
|
"enableETag": true,
|
|
"disableUnusedWorkerTermination": false,
|
|
"rewriteDirtyURLs": true,
|
|
"errorPages": [],
|
|
"useWebRootServerSideScript": true,
|
|
"exposeModsInErrorPages": true,
|
|
"disableTrailingSlashRedirects": false,
|
|
"environmentVariables": {},
|
|
"allowDoubleSlashes": false
|
|
}</pre>
|
|
</code>
|
|
<p>Changes:</p>
|
|
<ul style="display: inline-block; margin: 0;">
|
|
<li>Changed URL parser from wrapper over WHATWG URL parser to custom regex-based URL parser.</li>
|
|
<li>Optimized server code.</li>
|
|
<li>Redesigned default error pages.</li>
|
|
<li>Removed blocking file system calls from the directory listing function.</li>
|
|
<li>Replaced <i>path.extname()</i> function with regex-based function.</li>
|
|
</ul>
|
|
<p>
|
|
<a href="/tests.html">Tests</a><br />
|
|
<a href="/licenses/">Licenses</a><br />
|
|
<a href="/svrjsstatus.svr">SVR.JS status page</a><br />
|
|
<a href="https://svrjs.org/docs">SVR.JS documentation</a>
|
|
</p>
|
|
<img src="/powered.png" />
|
|
</body>
|
|
</html>
|