mirror of
https://github.com/linuxserver/gclient.git
synced 2026-02-20 02:54:19 +08:00
add subfolder support
This commit is contained in:
parent
6772097d74
commit
51a0c65bd0
5
app.js
5
app.js
@ -1,6 +1,7 @@
|
||||
// LinuxServer Guacamole Client
|
||||
|
||||
//// Application Variables ////
|
||||
var baseurl = process.env.SUBFOLDER || '/';
|
||||
var crypto = require('crypto');
|
||||
var ejs = require('ejs');
|
||||
var express = require('express');
|
||||
@ -23,7 +24,7 @@ var clientOptions = {
|
||||
}
|
||||
};
|
||||
// Spinup the Guac websocket proxy on port 3000 if guacd is running
|
||||
var guacServer = new GuacamoleLite({server: http,path:'/guaclite'},{host:'127.0.0.1',port:4822},clientOptions);
|
||||
var guacServer = new GuacamoleLite({server: http,path:baseurl +'guaclite'},{host:'127.0.0.1',port:4822},clientOptions);
|
||||
// Function needed to encrypt the token string for guacamole connections
|
||||
var encrypt = (value) => {
|
||||
var iv = crypto.randomBytes(16);
|
||||
@ -71,7 +72,7 @@ app.get("/", function (req, res) {
|
||||
}
|
||||
});
|
||||
}
|
||||
res.render(__dirname + '/rdp.ejs', {token : connectionstring});
|
||||
res.render(__dirname + '/rdp.ejs', {token : connectionstring, baseurl: baseurl});
|
||||
});
|
||||
//// Web File Browser ////
|
||||
app.use(bodyParser.urlencoded({ extended: true }));
|
||||
|
||||
@ -57,8 +57,9 @@ $('#nav-trigger').change(function () {
|
||||
var display = document.getElementById("display");
|
||||
// Instantiate client, using an HTTP tunnel for communications.
|
||||
var connectionstring = $('#connectionstring').val();
|
||||
var baseurl = $('#baseurl').val();
|
||||
var guac = new Guacamole.Client(
|
||||
new Guacamole.WebSocketTunnel(wsprotocol + '//' + host + ':' + port + '/guaclite?token=' + connectionstring + '&width=' + $(document).width() + '&height=' + $(document).height())
|
||||
new Guacamole.WebSocketTunnel(wsprotocol + '//' + host + ':' + port + baseurl + 'guaclite?token=' + connectionstring + '&width=' + $(document).width() + '&height=' + $(document).height())
|
||||
);
|
||||
// Show current client clipboard
|
||||
guac.onclipboard = function clientClipboardReceived(stream, mimetype) {
|
||||
|
||||
51
rdp.ejs
51
rdp.ejs
@ -6,25 +6,25 @@
|
||||
<meta name="description" content="LinuxServer Guacamole Client">
|
||||
<meta name="author" content="thelamer">
|
||||
<title>Guacamole Client</title>
|
||||
<link href="/public/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="/public/vendor/font-awesome/css/fontawesome.min.css" rel="stylesheet" type="text/css">
|
||||
<link href="/public/css/vdi.css" rel="stylesheet" type="text/css">
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="/public/favicon/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="/public/favicon/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/public/favicon/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="/public/favicon/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/public/favicon/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="/public/favicon/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="/public/favicon/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/public/favicon/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/public/favicon/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/public/favicon/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/public/favicon/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="/public/favicon/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/public/favicon/favicon-16x16.png">
|
||||
<link rel="manifest" href="/public/favicon/manifest.json">
|
||||
<link href="<%= baseurl %>public/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="<%= baseurl %>public/vendor/font-awesome/css/fontawesome.min.css" rel="stylesheet" type="text/css">
|
||||
<link href="<%= baseurl %>public/css/vdi.css" rel="stylesheet" type="text/css">
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="<%= baseurl %>public/favicon/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="<%= baseurl %>public/favicon/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="<%= baseurl %>public/favicon/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="<%= baseurl %>public/favicon/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="<%= baseurl %>public/favicon/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="<%= baseurl %>public/favicon/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="<%= baseurl %>public/favicon/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="<%= baseurl %>public/favicon/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="<%= baseurl %>public/favicon/apple-icon-180x180.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="<%= baseurl %>public/favicon/android-icon-192x192.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="<%= baseurl %>public/favicon/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="96x96" href="<%= baseurl %>public/favicon/favicon-96x96.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="<%= baseurl %>public/favicon/favicon-16x16.png">
|
||||
<link rel="manifest" href="<%= baseurl %>public/favicon/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="/public/favicon/ms-icon-144x144.png">
|
||||
<meta name="msapplication-TileImage" content="<%= baseurl %>public/favicon/ms-icon-144x144.png">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
</head>
|
||||
<body style="overflow:hidden;">
|
||||
@ -72,16 +72,17 @@
|
||||
<div class="site-wrap" onmouseover="this.focus();" tabindex="0" style="outline:none;">
|
||||
<div id="display" style="width:100%;height:100vh;overflow:hidden;position:absolute;left:0;top:0;"></div>
|
||||
</div>
|
||||
<!-- Storage for encoded connection string -->
|
||||
<!-- Storage for encoded connection string and baseurl -->
|
||||
<input type="hidden" id="connectionstring" value="<%- token -%>" />
|
||||
<input type="hidden" id="baseurl" value="<%- baseurl -%>" />
|
||||
<!-- Guacamole -->
|
||||
<script type="text/javascript" src="/public/vendor/guac/js/guac.min.js"></script>
|
||||
<script type="text/javascript" src="<%= baseurl %>public/vendor/guac/js/guac.min.js"></script>
|
||||
<!-- Helpers -->
|
||||
<script type="text/javascript" src="/public/vendor/jquery/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="/public/vendor/popper/popper.min.js"></script>
|
||||
<script type="text/javascript" src="/public/vendor/bootstrap/js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="/public/vendor/shortcut/js/shortcut.js"></script>
|
||||
<script type="text/javascript" src="<%= baseurl %>public/vendor/jquery/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="<%= baseurl %>public/vendor/popper/popper.min.js"></script>
|
||||
<script type="text/javascript" src="<%= baseurl %>public/vendor/bootstrap/js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="<%= baseurl %>public/vendor/shortcut/js/shortcut.js"></script>
|
||||
<!-- Client side -->
|
||||
<script type="text/javascript" src="/public/js/rdp.js"></script>
|
||||
<script type="text/javascript" src="<%= baseurl %>public/js/rdp.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user