forked from svrjs/svrjs
136 lines
7.5 KiB
HTML
136 lines
7.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>SVR.JS 3.9.3</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta charset="UTF-8" />
|
|
<style>
|
|
body {
|
|
font-family: FreeSans, Helvetica, Tahoma, Arial, sans-serif;
|
|
text-align: center;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1>Welcome to SVR.JS 3.9.3</h1>
|
|
<br/>
|
|
<img src="/logo.png" style="width: 256px;" />
|
|
<br/>
|
|
<p>If you see this page, that means, that the server is properly working. 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>
|
|
<div style="background-color: #e0e0e0; padding: 5px; text-align: left; display: inline-block;">
|
|
<code>
|
|
{<br/>
|
|
"users": [],<br/>
|
|
"port": 80,<br/>
|
|
"pubport": 80,<br/>
|
|
"page404": "404.html",<br/>
|
|
"timestamp": 1680954429282,<br/>
|
|
"blacklist": [],<br/>
|
|
"nonStandardCodes": [],<br/>
|
|
"enableCompression": true,<br/>
|
|
"customHeaders": {},<br/>
|
|
"enableHTTP2": false,<br/>
|
|
"enableLogging": true,<br/>
|
|
"enableDirectoryListing": true,<br/>
|
|
"enableDirectoryListingWithDefaultHead": false,<br/>
|
|
"serverAdministratorEmail": "[no contact information]",<br/>
|
|
"stackHidden": false,<br/>
|
|
"enableRemoteLogBrowsing": true,<br/>
|
|
"exposeServerVersion": true,<br/>
|
|
"disableServerSideScriptExpose": false,<br/>
|
|
"rewriteMap": [<br/>
|
|
"definingRegex": "/^\\/serverSideScript\\.js(?:$|[#?])/",<br/>
|
|
"replacements": [<br/>
|
|
{<br/>
|
|
"regex": "/^\\/serverSideScript\\.js($|[#?])/",<br/>
|
|
"replacement": "/NONEXISTENT_PAGE$1"<br/>
|
|
}<br/>
|
|
]<br/>
|
|
},<br/>
|
|
{<br/>
|
|
"definingRegex": "/^\\/invoke500\\/\\?/",<br/>
|
|
"replacements": [<br/>
|
|
{<br/>
|
|
"regex": "/\\/invoke500\\/\\?/",<br/>
|
|
"replacement": "/invoke500.svr?"<br/>
|
|
}<br/>
|
|
]<br/>
|
|
},<br/>
|
|
{<br/>
|
|
"definingRegex": "/^\\/invoke500\\/.+\\//",<br/>
|
|
"replacements": [<br/>
|
|
{<br/>
|
|
"regex": "/\\/\\?/",<br/>
|
|
"replacement": "&"<br/>
|
|
},<br/>
|
|
{<br/>
|
|
"regex": "/invoke500\\//",<br/>
|
|
"replacement": "invoke500.svr?"<br/>
|
|
},<br/>
|
|
{<br/>
|
|
"regex": "/\\/(?!invoke500.svr?)/",<br/>
|
|
"replacement": ""<br/>
|
|
}<br/>
|
|
]<br/>
|
|
},<br/>
|
|
{<br/>
|
|
"definingRegex": "/^\\/invoke500\\/.+/",<br/>
|
|
"replacements": [<br/>
|
|
{<br/>
|
|
"regex": "/\\?/",<br/>
|
|
"replacement": "&"<br/>
|
|
},<br/>
|
|
{<br/>
|
|
"regex": "/invoke500\\//",<br/>
|
|
"replacement": "invoke500.svr?"<br/>
|
|
}<br/>
|
|
]<br/>
|
|
},<br/>
|
|
{<br/>
|
|
"definingRegex": "/^\\/invoke500\\//",<br/>
|
|
"replacements": [<br/>
|
|
{<br/>
|
|
"regex": "/\\/invoke500\\//",<br/>
|
|
"replacement": "/invoke500.svr"<br/>
|
|
}<br/>
|
|
]<br/>
|
|
},<br/>
|
|
{<br/>
|
|
"definingRegex": "/^\\/invoke500$/",<br/>
|
|
"replacements": [<br/>
|
|
{<br/>
|
|
"regex": "/\\/invoke500/",<br/>
|
|
"replacement": "/invoke500.svr"<br/>
|
|
}<br/>
|
|
]<br/>
|
|
}<br/> ],<br/>
|
|
"allowStatus": true,<br/>
|
|
"dontCompress": ["/.*\\.ipxe$/","/.*\\.img$/","/.*\\.iso$/"],<br/>
|
|
"enableIPSpoofing": false,<br/>
|
|
"secure": false,<br/>
|
|
"sni": {},<br/>
|
|
"disableNonEncryptedServer": false,<br/>
|
|
"disableToHTTPSRedirect": false<br/>
|
|
}
|
|
</code>
|
|
</div>
|
|
<p>Changes:</p>
|
|
<ul>
|
|
<li>Mitigated security vulnerability: SVR.JS mods and server-side JavaScript not using href or uobject.pathname in some path checks are no longer vulnerable to access control bypass (from SVR.JS configuration).</li>
|
|
</ul>
|
|
<p>Bugs:</p>
|
|
<ul>
|
|
<li>Some very old mods requiring hexstrbase64 will fail to load.</li>
|
|
<li>On first load server-side JavaScript will fail to load when SVR.JS is running on Bun.</li>
|
|
</ul>
|
|
<br/>
|
|
<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">More Information</a>
|
|
<br/>
|
|
<br/>
|
|
<img src="/powered.png" />
|
|
</body>
|
|
</html>
|