added compatibilty x2x
This commit is contained in:
@@ -24,6 +24,7 @@ type Config struct {
|
||||
Rooms string
|
||||
IPAddress string
|
||||
ScriptToExecute string
|
||||
SSHPassword string
|
||||
}
|
||||
|
||||
// Exists reports whether the named file or directory exists.
|
||||
@@ -63,6 +64,7 @@ func SetDefaults() error {
|
||||
defaults["Rooms"] = defaultPath + "room.json"
|
||||
defaults["IPAddress"] = "0.0.0.0"
|
||||
defaults["ScriptToExecute"] = ""
|
||||
defaults["SSHPassword"] = ""
|
||||
|
||||
//Paths to search for config file
|
||||
configPaths = append(configPaths, defaultPath)
|
||||
|
||||
@@ -53,7 +53,20 @@ func GetHttp() *http.ServeMux {
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Fprintf(w, configResp.BarrierHostName)
|
||||
fmt.Fprintf(w, configResp.SystemUsername)
|
||||
})
|
||||
|
||||
//Get SSH password of the current machine
|
||||
server.HandleFunc("/SSHPassword", func(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
// Read hostname from config file
|
||||
configResp, err := config.ConfigInit()
|
||||
if err != nil {
|
||||
print(err)
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Fprintf(w, configResp.SSHPassword)
|
||||
})
|
||||
|
||||
server.HandleFunc("/ws_serve", func(writer http.ResponseWriter, request *http.Request) {
|
||||
|
||||
@@ -45,18 +45,18 @@
|
||||
<div class="form-group">
|
||||
<input id="inputRoomID" type="text" class="form-control form-control-lg text-center" placeholder="Enter room ID" required>
|
||||
</div>
|
||||
<h4>Connect to Barrier KVM (Beta)</h4>
|
||||
<p class="help-text">
|
||||
This is a feature is still on beta testing. This feature will ensure that you can share the keyboard
|
||||
and mouse of the server machine.
|
||||
<br>
|
||||
<span class="text-success font-weight-bold"> Note: This only works if the laplace server has barrierc installed and the room name you are connecting
|
||||
too belongs to the server.</span>
|
||||
</p>
|
||||
<h6>Host Name: <span id="hostname"> Not detected </span></h6>
|
||||
<div class="form-group">
|
||||
<input id="barrierIP" type="text" class="form-control form-control-lg text-center" placeholder="IPV6 or IPV4 address">
|
||||
</div>
|
||||
<!-- <h4>Connect to Barrier KVM (Beta)</h4>-->
|
||||
<!-- <p class="help-text">-->
|
||||
<!-- This is a feature is still on beta testing. This feature will ensure that you can share the keyboard-->
|
||||
<!-- and mouse of the server machine.-->
|
||||
<!-- <br>-->
|
||||
<!-- <span class="text-success font-weight-bold"> Note: This only works if the laplace server has barrierc installed and the room name you are connecting-->
|
||||
<!-- too belongs to the server.</span>-->
|
||||
<!-- </p>-->
|
||||
<!-- <h6>Host Name: <span id="hostname"> Not detected </span></h6>-->
|
||||
<!-- <div class="form-group">-->
|
||||
<!-- <input id="barrierIP" type="text" class="form-control form-control-lg text-center" placeholder="IPV6 or IPV4 address">-->
|
||||
<!-- </div>-->
|
||||
<button type="submit" class="btn btn-dark btn-block" value="submit">Join</button>
|
||||
</form>
|
||||
</div>
|
||||
@@ -145,6 +145,18 @@
|
||||
</div>
|
||||
<hr>
|
||||
<div>
|
||||
<h4>Use keyboard and mouse</h4>
|
||||
<p>
|
||||
Ensure you have an SSH client installed on your machine
|
||||
</p>
|
||||
<h4>Run the following command on terminal:</h4>
|
||||
<p>ssh -XC <span id="Username"></span>@<span id="IP"></span> x2x -west -to :0.0</p>
|
||||
<p>Password: <span id="SSHPassword"></span></p>
|
||||
<p class="help-text">
|
||||
Move your mouse to the west, and you should have access to the other computer.
|
||||
</p>
|
||||
|
||||
|
||||
<h6>Status</h6>
|
||||
<table class="table table-borderless table-sm table-meta">
|
||||
<tr>
|
||||
|
||||
@@ -144,6 +144,9 @@ function initUI() {
|
||||
LaplaceVar.ui.videoContainer = document.getElementById('video-container');
|
||||
LaplaceVar.ui.barrierIP = document.getElementById('barrierIP');
|
||||
LaplaceVar.ui.barrierhostname = document.getElementById('hostname');
|
||||
LaplaceVar.ui.serverUsername = document.getElementById('Username');
|
||||
LaplaceVar.ui.serverIP = document.getElementById('IP');
|
||||
LaplaceVar.ui.SSHPassword = document.getElementById('SSHPassword')
|
||||
LaplaceVar.headless = { result :"0"};
|
||||
|
||||
LaplaceVar.ui.joinForm.onsubmit = async e => {
|
||||
@@ -197,7 +200,10 @@ function initUI() {
|
||||
}
|
||||
|
||||
//getting server hostname
|
||||
getServerHostName()
|
||||
getServerIPandHostname()
|
||||
|
||||
//getting SSHPassword
|
||||
getSSHPassword()
|
||||
|
||||
// Getting query string from the URL
|
||||
const queryString = window.location.search;
|
||||
@@ -221,15 +227,29 @@ function initUI() {
|
||||
// This is so that user can
|
||||
// add the host name to connect
|
||||
// to laplace
|
||||
function getServerHostName() {
|
||||
function getServerIPandHostname() {
|
||||
// Source https://stackoverflow.com/questions/247483/http-get-request-in-javascript
|
||||
var xmlHttp = new XMLHttpRequest()
|
||||
xmlHttp.open( "GET", getHttpUrl() + "/hostname", false ); // false for synchronous request
|
||||
xmlHttp.send(null);
|
||||
LaplaceVar.ui.barrierhostname.innerHTML = xmlHttp.responseText
|
||||
//LaplaceVar.ui.barrierhostname.innerHTML = xmlHttp.responseText
|
||||
LaplaceVar.ui.serverUsername.innerHTML = xmlHttp.responseText
|
||||
|
||||
// Server IP address
|
||||
LaplaceVar.ui.serverIP.innerHTML = window.location.hostname
|
||||
//console.log(window.location.href.split('?')[0])
|
||||
}
|
||||
|
||||
function getSSHPassword() {
|
||||
// Source https://stackoverflow.com/questions/247483/http-get-request-in-javascript
|
||||
var xmlHttp = new XMLHttpRequest()
|
||||
xmlHttp.open( "GET", getHttpUrl() + "/SSHPassword", false ); // false for synchronous request
|
||||
xmlHttp.send(null);
|
||||
|
||||
LaplaceVar.ui.SSHPassword.innerHTML = xmlHttp.responseText
|
||||
}
|
||||
|
||||
|
||||
function updateStatusUIStream() {
|
||||
LaplaceVar.status.peers = Object.keys(LaplaceVar.pcs).map(s => s.split('$')[1]);
|
||||
LaplaceVar.status.numConn = LaplaceVar.status.peers.length;
|
||||
@@ -592,6 +612,7 @@ function routeByUrl() {
|
||||
function AddRoomID(roomID) {
|
||||
document.getElementById('inputRoomID').value = roomID
|
||||
}
|
||||
|
||||
function leaveRoom() {
|
||||
window.location.href = getBaseUrl();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user