add code of connect page
This commit is contained in:
parent
941db4aa36
commit
643ea3efa5
@ -1,5 +1,18 @@
|
|||||||
module.exports = function (req, res) {
|
module.exports = function (req, res) {
|
||||||
|
console.log(123);
|
||||||
const serverAddress = req.query.server;
|
const serverAddress = req.query.server;
|
||||||
|
const encryption = req.query.encrypted === "true";
|
||||||
|
if (req.query.encrypted === undefined || req.query.server === undefined)
|
||||||
|
return res.status(400).send(`<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Error</title>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
</head>
|
||||||
|
<body class="bg text-white">
|
||||||
|
<h1>[400] Error</h1><hr/><p>unuse required params</p>
|
||||||
|
</body>
|
||||||
|
</html>`);
|
||||||
res.send(`<!DOCTYPE html>
|
res.send(`<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
@ -14,6 +27,8 @@ module.exports = function (req, res) {
|
|||||||
<script>
|
<script>
|
||||||
document.getElementById("js-required").innerHTML = "<p>Loading...</p>";
|
document.getElementById("js-required").innerHTML = "<p>Loading...</p>";
|
||||||
</script>
|
</script>
|
||||||
|
<script src="/bootstrap/bootstrap.bundle.min.js" defer></script>
|
||||||
|
<script src="/js/connect/main.js" type="module" defer></script>
|
||||||
</body>
|
</body>
|
||||||
</html>`);
|
</html>`);
|
||||||
}
|
}
|
58
server/frontend/public/js/connect/main.js
Normal file
58
server/frontend/public/js/connect/main.js
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
// load styles
|
||||||
|
document.head.innerHTML += '\\n <link href="/bootstrap/bootstrap.min.css" rel="stylesheet">';
|
||||||
|
document.head.innerHTML += '\\n <link href="/css/main.css" rel="stylesheet">';
|
||||||
|
document.head.innerHTML += '\\n <link href="/font-awesome/css/all.css" rel="stylesheet">';
|
||||||
|
document.head.innerHTML += '\\n <link rel="icon" href="/favicon.png">'
|
||||||
|
|
||||||
|
// load main page
|
||||||
|
document.body.innerHTML = `<nav id="navbar-main" class="navbar navbar-dark bg-dark navbar-expand-lg noselect" style="background-color: #e3f2fd;">
|
||||||
|
<a style="padding-left:10px" class="navbar-brand linked-btn" onclick="fl.go('/');">
|
||||||
|
Подключение...
|
||||||
|
</a>
|
||||||
|
<div class="collapse navbar-collapse noselect" id="navbarNav"><ul class="navbar-nav"><ul class="navbar-nav">
|
||||||
|
<div class="vr"></div>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link translate linked-btn noselect" aria-current="page" onclick="fl.go('/');" id="nav-home-btn"><i class="fas fa-home"></i> Главная</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link translate linked-btn noselect" aria-current="page" onclick="fl.go('/blog');" id="nav-docs-btn"><i class="fab fa-microblog"></i> Мой блог</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link translate linked-btn noselect" aria-current="page" onclick="fl.go('/contacts');" id="nav-docs-btn"><i class="fas fa-address-book"></i> Контакты</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link translate linked-btn noselect" aria-current="page" onclick="fl.go('/projects');" id="nav-docs-btn"><i class="fas fa-folder-open"></i> Проекты</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link translate linked-btn noselect" aria-current="page" onclick="fl.go('/knowledge-base');" id="nav-docs-btn"><i class="fas fa-book"></i> База знаний</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link translate linked-btn noselect" aria-current="page" onclick="fl.goToLocation('https://git.fullgream.tech/fullgream?tab=activity');" id="nav-docs-btn"><i class="fab fa-git-alt"></i> Мой git</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link translate linked-btn noselect" aria-current="page" onclick="fl.go('/price');" id="nav-docs-btn"><i class="fas fa-coins"></i> Услуги</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link translate linked-btn noselect" aria-current="page" onclick="fl.go('/dnd');" id="nav-docs-btn"><i class="fas fa-dice-d20"></i> D&D</a>
|
||||||
|
</li>
|
||||||
|
</ul></div>
|
||||||
|
|
||||||
|
<div class="vr" style="margin-right:5px"></div>
|
||||||
|
<div class="d-flex" style="margin-right:10px" id="navbar-user-menu">
|
||||||
|
<div id="fp-condition-div">
|
||||||
|
<button id="fp-condition" class="btn btn-outline-secondary" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"><i class="fas fa-fingerprint"></i></button>
|
||||||
|
</div>
|
||||||
|
<div class="vr" style="margin-right:5px; margin-left: 5px"></div>
|
||||||
|
<button onclick="fl.go('/auth');" class="btn btn-outline-secondary" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"><i class="fas fa-key"></i> Авторизация</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<div id="fl.area">
|
||||||
|
<div style='margin-top: 30vh'>
|
||||||
|
<center>
|
||||||
|
<h1>Connection to server...</h1>
|
||||||
|
<h3 class="rotate"><i class="fas fa-sync-alt fa-spin"></i></h3>
|
||||||
|
</center>
|
||||||
|
</div>
|
||||||
|
</div>`;
|
||||||
|
|
||||||
|
//document <i class="fas fa-sync-alt"></i>
|
@ -147,7 +147,7 @@ fl.bindLoad("/connect", () => {
|
|||||||
document.getElementById(btn.itemID).onclick = () => {
|
document.getElementById(btn.itemID).onclick = () => {
|
||||||
checkContentWarning(() => {
|
checkContentWarning(() => {
|
||||||
const serverInfo = serversByItemID[btn.itemID].serverItem;
|
const serverInfo = serversByItemID[btn.itemID].serverItem;
|
||||||
window.open(`/connect-area?server=${serverInfo.address}:${serverInfo.port}`);
|
window.open(`/connect-area?server=${serverInfo.address}:${serverInfo.port}&encrypted=${serverInfo.secureMode ? "true" : "false"}`);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
@ -16,10 +16,11 @@ class PacketParseResult {
|
|||||||
}
|
}
|
||||||
|
|
||||||
module.exports = async (bytes) => {
|
module.exports = async (bytes) => {
|
||||||
// console.log("((('", bytes.toString("utf8"), "')))");
|
console.log("((('", bytes.toString("utf8"), "')))");
|
||||||
const packet = bytes.toString("utf8");
|
const packet = bytes.toString("utf8");
|
||||||
|
|
||||||
const isHTTP = packet.match(/(GET|POST|PUT|DELETE|OPTIONS|HEAD|PATCH|TRACE|CONNECT)\s{1,}\/[a-zA-Z0-9_\-\.\/?=&%]{0,}\s{1,}HTTP(S|)\/(1\.0|1\.1|2\.0)(\n|\r)/gmu)?.length > 0 ?? false;
|
const isHTTP = packet.match(/(GET|POST|PUT|DELETE|OPTIONS|HEAD|PATCH|TRACE|CONNECT)\s{1,}\/[a-zA-Z0-9_\-\.\/?=&%:]{0,}\s{1,}HTTP(S|)\/(1\.0|1\.1|2\.0)(\n|\r)/gmu)?.length > 0 ?? false;
|
||||||
|
console.log({ isHTTP });
|
||||||
let isWebSocket = false;
|
let isWebSocket = false;
|
||||||
if (isHTTP) {
|
if (isHTTP) {
|
||||||
const headers = simpleParseHeaders(packet);
|
const headers = simpleParseHeaders(packet);
|
||||||
|
Loading…
Reference in New Issue
Block a user