diff --git a/user_config_README.md b/user_config_README.md
index 2db88a4f..392e5398 100644
--- a/user_config_README.md
+++ b/user_config_README.md
@@ -17,7 +17,11 @@ If an absolute path (`wtv-url:/`, `file://` url, or `http(s)://` url) is not pas
```
"post_debug": true
```
-If you would like to see debug information about realtime bytes received from a client POST request, set `post_debug` to true.
+If you would like to see debug information about realtime bytes received from a client POST request, set `post_debug` to `true`.
+```
+ "allow_guests": false
+```
+If you would like to require registration, disabling guest mode, you can set `allow_guests` to `false`. Default is `true`;
```
"post_percentages": [ 0, 25, 50, 100]
```
diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-head-waiter/login-stage-two.js b/zefie_wtvp_minisrv/ServiceVault/wtv-head-waiter/login-stage-two.js
index e8e7df13..8c0a72ac 100644
--- a/zefie_wtvp_minisrv/ServiceVault/wtv-head-waiter/login-stage-two.js
+++ b/zefie_wtvp_minisrv/ServiceVault/wtv-head-waiter/login-stage-two.js
@@ -18,7 +18,6 @@ if (socket.ssid !== null) {
if (challenge_response.toString(CryptoJS.enc.Base64) == client_challenge_response) {
console.log(" * wtv-challenge-response success for " + filterSSID(socket.ssid));
wtvsec_login.PrepareTicket();
- if (!ssid_sessions[socket.ssid].getSessionData("registered") && !request_headers.query.guest_login) gourl = "wtv-register:/splash";
} else {
console.log(" * wtv-challenge-response FAILED for " + filterSSID(socket.ssid));
@@ -32,12 +31,14 @@ if (socket.ssid !== null) {
}
}
+if (!ssid_sessions[socket.ssid].getSessionData("registered") && (!request_headers.query.guest_login || !minisrv_config.config.allow_guests)) gourl = "wtv-register:/splash";
+
if (gourl) {
headers = `200 OK
Connection: Close
wtv-open-isp-disabled: false
`;
- if (!ssid_sessions[socket.ssid].getSessionData("registered") && !request_headers.query.guest_login) {
+ if (!ssid_sessions[socket.ssid].getSessionData("registered") && (!request_headers.query.guest_login || !minisrv_config.config.allow_guests)) {
headers += `wtv-encrypted: true
wtv-ticket: ${wtvsec_login.ticket_b64}
${getServiceString('wtv-register')}
@@ -51,7 +52,7 @@ Content-type: text/html`;
data = '';
}
else {
- if (request_headers.query.guest_login) {
+ if (request_headers.query.guest_login && minisrv_config.config.allow_guests) {
var namerand = Math.floor(Math.random() * 100000);
var nickname = (minisrv_config.config.service_name + '_' + namerand)
var human_name = nickname;
diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-register/ValidateWelcome.js b/zefie_wtvp_minisrv/ServiceVault/wtv-register/ValidateWelcome.js
index 7b4abf46..4279e69a 100644
--- a/zefie_wtvp_minisrv/ServiceVault/wtv-register/ValidateWelcome.js
+++ b/zefie_wtvp_minisrv/ServiceVault/wtv-register/ValidateWelcome.js
@@ -1,4 +1,4 @@
-if (request_headers.query.noreg) {
+if (request_headers.query.noreg && minisrv_config.config.allow_guests) {
headers = `300 Moved
Connection: Close
wtv-noback-all: wtv-register:
diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-register/register.js b/zefie_wtvp_minisrv/ServiceVault/wtv-register/register.js
index 7517c23b..cb93f026 100644
--- a/zefie_wtvp_minisrv/ServiceVault/wtv-register/register.js
+++ b/zefie_wtvp_minisrv/ServiceVault/wtv-register/register.js
@@ -59,11 +59,13 @@ The next screens will lead you through a quick setup process for using this serv
var namerand = Math.floor(Math.random() * 100000);
var nickname = (minisrv_config.config.service_name + '_' + namerand)
var human_name = nickname;
- data += `
+data += `