2023-07-29 20:32:17 +02:00
<!DOCTYPE html>
< html >
< head >
2024-08-26 08:36:01 +02:00
< title > SVR.JS 3.15.7< / title >
2023-07-29 20:32:17 +02:00
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" / >
< meta charset = "UTF-8" / >
< style >
2024-05-06 12:30:50 +02:00
html {
background-color: #dfffdf;
color: #000000;
font-family: FreeSans, Helvetica, Tahoma, Verdana, Arial, sans-serif;
margin: 0.75em;
text-align: center;
}
2023-07-29 20:32:17 +02:00
body {
2024-05-06 12:30:50 +02:00
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 {
2023-07-29 20:32:17 +02:00
text-align: center;
2024-05-06 12:30:50 +02:00
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
}
2023-07-29 20:32:17 +02:00
}
< / style >
< / head >
< body >
2024-08-26 08:36:01 +02:00
< h1 > Welcome to SVR.JS 3.15.7< / h1 >
2024-05-06 12:30:50 +02:00
< br / >
< img src = "/logo.png" style = "width: 224px; max-width: 100%;" / >
< br / >
2023-11-12 20:18:43 +01:00
< 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 >
2023-07-29 20:32:17 +02:00
< p > Default < i > config.json< / i > looks like this:< / p >
2024-05-06 12:30:50 +02:00
< 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;" > {
2024-03-03 21:20:09 +01:00
"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"
2023-07-29 20:32:17 +02:00
}
2024-03-03 21:20:09 +01:00
]
},
{
"definingRegex": "/^\\/testdir_rewritten(?:$|[\\/?#])/",
"replacements": [
{
"regex": "/^\\/testdir_rewritten($|[\\/?#])/",
"replacement": "/testdir$1"
}
]
}
],
"allowStatus": true,
"dontCompress": [
"/.*\\.ipxe$/",
2024-04-02 11:24:36 +02:00
"/.*\\.(?: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])$/"
2024-03-03 21:20:09 +01:00
],
"enableIPSpoofing": false,
"secure": false,
"sni": {},
"disableNonEncryptedServer": false,
"disableToHTTPSRedirect": false,
"enableETag": true,
"disableUnusedWorkerTermination": false,
"rewriteDirtyURLs": true,
"errorPages": [],
"useWebRootServerSideScript": true,
"exposeModsInErrorPages": true,
"disableTrailingSlashRedirects": false,
"environmentVariables": {},
2024-08-07 06:23:42 +02:00
"allowDoubleSlashes": false,
"optOutOfStatisticsServer": false
2024-03-03 21:20:09 +01:00
}< / pre >
< / code >
2023-07-29 20:32:17 +02:00
< p > Changes:< / p >
2024-03-03 21:20:09 +01:00
< ul style = "display: inline-block; margin: 0;" >
2024-08-26 08:36:01 +02:00
< li > Fix bug in getting public IP address without crypto support.< / li >
< li > Fix bug in partial content serving functionality.< / li >
< li > Fix bug in the factory reset function.< / li >
< li > Fix bug in the IP address match function.< / li >
< li > Fix bug in the URL parser with href attribute of a parsed URL missing a port number.< / li >
< li > Fix bug with config.json read errors being undefined.< / li >
< li > Fix bugs in the block list.< / li >
< li > Main process crashes no longer display as worker crashes.< / li >
< li > Server crashes now results in exit code of 1 if no exit code is not specified.< / li >
< li > Updated dependencies.< / li >
2023-07-29 20:32:17 +02:00
< / ul >
2024-03-03 21:20:09 +01:00
< p >
2024-05-06 12:30:50 +02:00
< a href = "/tests.html" > Tests< / a > < br / >
< a href = "/licenses/" > Licenses< / a > < br / >
< a href = "/svrjsstatus.svr" > SVR.JS status page< / a > < br / >
2024-03-03 21:20:09 +01:00
< a href = "https://svrjs.org/docs" > SVR.JS documentation< / a >
< / p >
2023-07-29 20:32:17 +02:00
< img src = "/powered.png" / >
< / body >
< / html >