Update k8s/games/minecraft/deployments.yaml
All checks were successful
Check with kubeconform / lint (push) Successful in 12s
All checks were successful
Check with kubeconform / lint (push) Successful in 12s
This commit is contained in:
@@ -22,6 +22,7 @@ data:
|
|||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
|
|
||||||
|
# Кастомная страница для ошибки 502
|
||||||
error_page 502 /502.html;
|
error_page 502 /502.html;
|
||||||
location = /502.html {
|
location = /502.html {
|
||||||
internal;
|
internal;
|
||||||
@@ -36,45 +37,50 @@ data:
|
|||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
|
||||||
|
# Добавляем заголовок с именем пользователя как meta тег
|
||||||
sub_filter '<head>' '<head><meta name="remote-user" content="$http_x_authentik_username">';
|
sub_filter '<head>' '<head><meta name="remote-user" content="$http_x_authentik_username">';
|
||||||
|
|
||||||
sub_filter 'Minecraft Dynamic Map' "Hexor's MC server";
|
sub_filter 'Minecraft Dynamic Map' "Hexor's MC server";
|
||||||
|
|
||||||
|
# JavaScript для получения имени пользователя и редиректа
|
||||||
sub_filter '</body>' '<script>
|
sub_filter '</body>' '<script>
|
||||||
function getUsername(){
|
function getUsername(){
|
||||||
var headers=document.querySelectorAll("meta");
|
var headers=document.querySelectorAll("meta");
|
||||||
for(var i=0;i<headers.length;i++){
|
for(var i=0;i<headers.length;i++){
|
||||||
if(headers[i].getAttribute("name")==="remote-user"){
|
if(headers[i].getAttribute("name")==="remote-user"){
|
||||||
var user=headers[i].getAttribute("content");
|
var user=headers[i].getAttribute("content");
|
||||||
console.log("Found username in meta:",user);
|
console.log("Found username in meta:",user);
|
||||||
return user;
|
return user;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
return "web-user";
|
||||||
}
|
}
|
||||||
return "web-user";
|
var username=getUsername();
|
||||||
}
|
console.log("Final username:",username);
|
||||||
var username=getUsername();
|
console.log("Current URL:",window.location.href);
|
||||||
console.log("Final username:",username);
|
var urlParams=new URLSearchParams(window.location.search);
|
||||||
console.log("Current URL:",window.location.href);
|
console.log("Existing chatname param:",urlParams.get("chatname"));
|
||||||
var urlParams=new URLSearchParams(window.location.search);
|
if(username && username!=="web-user" && !urlParams.has("chatname")){
|
||||||
console.log("Existing chatname param:",urlParams.get("chatname"));
|
urlParams.set("chatname",username);
|
||||||
if(username && username!=="web-user" && !urlParams.has("chatname")){
|
var newUrl=window.location.pathname+"?"+urlParams.toString();
|
||||||
urlParams.set("chatname",username);
|
console.log("Redirecting to:",newUrl);
|
||||||
var newUrl=window.location.pathname+"?"+urlParams.toString();
|
window.location.href=newUrl;
|
||||||
console.log("Redirecting to:",newUrl);
|
}
|
||||||
window.location.href=newUrl;
|
document.addEventListener("DOMContentLoaded",function(){
|
||||||
}
|
var userBlock=document.createElement("div");
|
||||||
document.addEventListener("DOMContentLoaded",function(){
|
userBlock.style.cssText="background-color: #CEC6CB; color: black; padding: 8px; text-align: center; font-size: medium; border-radius: 4px; position: absolute; top: 10px; right: 10px; max-width: 200px;";
|
||||||
var userBlock=document.createElement("div");
|
userBlock.innerHTML="Logged in as: <b>"+username+"</b>";
|
||||||
userBlock.style.cssText="background-color: #CEC6CB; color: black; padding: 8px; text-align: center; font-size: medium; border-radius: 4px; position: absolute; top: 10px; right: 10px; max-width: 200px;";
|
document.body.appendChild(userBlock);
|
||||||
userBlock.innerHTML="Logged in as: <b>"+username+"</b>";
|
});
|
||||||
document.body.appendChild(userBlock);
|
</script></body>';
|
||||||
});
|
|
||||||
</script>';
|
|
||||||
|
|
||||||
|
# Блок с информацией о сервере
|
||||||
sub_filter '</body>' '<p style="background-color: #CEC6CB; color: black; padding: 10px 10px; text-align: center; font-size: large; text-decoration: none; display: inline-block; border-radius: 4px; position: absolute; top: 10px; left: 150px;">Get <a href="https://github.com/PrismLauncher/PrismLauncher/releases/tag/8.4" >Prism Launcher</a> and <a href="/clients/1.12.2.zip" >client.zip</a> for this server. Server address <b>minecraft.hexor.cy:30565</b><br><br><a href="#" onclick="showInstallModal(); return false;" style="color: black; text-decoration: underline;">Windows Install Script</a></p></body>';
|
sub_filter '</body>' '<p style="background-color: #CEC6CB; color: black; padding: 10px 10px; text-align: center; font-size: large; text-decoration: none; display: inline-block; border-radius: 4px; position: absolute; top: 10px; left: 150px;">Get <a href="https://github.com/PrismLauncher/PrismLauncher/releases/tag/8.4" >Prism Launcher</a> and <a href="/clients/1.12.2.zip" >client.zip</a> for this server. Server address <b>minecraft.hexor.cy:30565</b><br><br><a href="#" onclick="showInstallModal(); return false;" style="color: black; text-decoration: underline;">Windows Install Script</a></p></body>';
|
||||||
|
|
||||||
|
# Модальное окно
|
||||||
sub_filter '</body>' '<div id="installModal" style="display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.5);"><div style="background-color: #CEC6CB; margin: 15% auto; padding: 10px; border-radius: 4px; width: 70%; max-width: 500px; text-align: center; color: black; font-size: large;"><h3 style="margin-top: 0; color: black;">Windows Installation</h3><p style="color: black;">Copy and paste this command into PowerShell (run as Administrator):</p><textarea id="scriptCommand" readonly style="width: 90%; height: 60px; font-family: monospace; padding: 8px; border: 1px solid #888; border-radius: 4px; resize: none; background-color: white; color: black;">iwr -useb https://minecraft.hexor.cy/clients/win-install.ps1 | iex</textarea><br><br><button id="copyButton" onclick="copyToClipboard()" style="background-color: #CEC6CB; color: black; padding: 10px 15px; border: 1px solid #888; border-radius: 4px; cursor: pointer; margin-right: 10px; font-size: large; text-decoration: none;">Copy</button><button onclick="closeInstallModal()" style="background-color: #CEC6CB; color: black; padding: 10px 15px; border: 1px solid #888; border-radius: 4px; cursor: pointer; font-size: large; text-decoration: none;">Close</button></div></div></body>';
|
sub_filter '</body>' '<div id="installModal" style="display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.5);"><div style="background-color: #CEC6CB; margin: 15% auto; padding: 10px; border-radius: 4px; width: 70%; max-width: 500px; text-align: center; color: black; font-size: large;"><h3 style="margin-top: 0; color: black;">Windows Installation</h3><p style="color: black;">Copy and paste this command into PowerShell (run as Administrator):</p><textarea id="scriptCommand" readonly style="width: 90%; height: 60px; font-family: monospace; padding: 8px; border: 1px solid #888; border-radius: 4px; resize: none; background-color: white; color: black;">iwr -useb https://minecraft.hexor.cy/clients/win-install.ps1 | iex</textarea><br><br><button id="copyButton" onclick="copyToClipboard()" style="background-color: #CEC6CB; color: black; padding: 10px 15px; border: 1px solid #888; border-radius: 4px; cursor: pointer; margin-right: 10px; font-size: large; text-decoration: none;">Copy</button><button onclick="closeInstallModal()" style="background-color: #CEC6CB; color: black; padding: 10px 15px; border: 1px solid #888; border-radius: 4px; cursor: pointer; font-size: large; text-decoration: none;">Close</button></div></div></body>';
|
||||||
|
|
||||||
|
# JavaScript для модального окна
|
||||||
sub_filter '</body>' '<script>function showInstallModal() { document.getElementById("installModal").style.display = "block"; } function closeInstallModal() { document.getElementById("installModal").style.display = "none"; } function copyToClipboard() { var textarea = document.getElementById("scriptCommand"); textarea.select(); textarea.setSelectionRange(0, 99999); if (document.execCommand("copy")) { var button = document.getElementById("copyButton"); button.style.borderColor = "#4CAF50"; setTimeout(function() { button.style.borderColor = "#888"; }, 2000); } } window.onclick = function(event) { var modal = document.getElementById("installModal"); if (event.target == modal) { closeInstallModal(); } }</script></body>';
|
sub_filter '</body>' '<script>function showInstallModal() { document.getElementById("installModal").style.display = "block"; } function closeInstallModal() { document.getElementById("installModal").style.display = "none"; } function copyToClipboard() { var textarea = document.getElementById("scriptCommand"); textarea.select(); textarea.setSelectionRange(0, 99999); if (document.execCommand("copy")) { var button = document.getElementById("copyButton"); button.style.borderColor = "#4CAF50"; setTimeout(function() { button.style.borderColor = "#888"; }, 2000); } } window.onclick = function(event) { var modal = document.getElementById("installModal"); if (event.target == modal) { closeInstallModal(); } }</script></body>';
|
||||||
sub_filter_once off;
|
sub_filter_once off;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user