added compatibilty x2x
This commit is contained in:
@@ -24,6 +24,7 @@ type Config struct {
|
|||||||
Rooms string
|
Rooms string
|
||||||
IPAddress string
|
IPAddress string
|
||||||
ScriptToExecute string
|
ScriptToExecute string
|
||||||
|
SSHPassword string
|
||||||
}
|
}
|
||||||
|
|
||||||
// Exists reports whether the named file or directory exists.
|
// Exists reports whether the named file or directory exists.
|
||||||
@@ -63,6 +64,7 @@ func SetDefaults() error {
|
|||||||
defaults["Rooms"] = defaultPath + "room.json"
|
defaults["Rooms"] = defaultPath + "room.json"
|
||||||
defaults["IPAddress"] = "0.0.0.0"
|
defaults["IPAddress"] = "0.0.0.0"
|
||||||
defaults["ScriptToExecute"] = ""
|
defaults["ScriptToExecute"] = ""
|
||||||
|
defaults["SSHPassword"] = ""
|
||||||
|
|
||||||
//Paths to search for config file
|
//Paths to search for config file
|
||||||
configPaths = append(configPaths, defaultPath)
|
configPaths = append(configPaths, defaultPath)
|
||||||
|
|||||||
@@ -53,7 +53,20 @@ func GetHttp() *http.ServeMux {
|
|||||||
return
|
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) {
|
server.HandleFunc("/ws_serve", func(writer http.ResponseWriter, request *http.Request) {
|
||||||
|
|||||||
@@ -45,18 +45,18 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<input id="inputRoomID" type="text" class="form-control form-control-lg text-center" placeholder="Enter room ID" required>
|
<input id="inputRoomID" type="text" class="form-control form-control-lg text-center" placeholder="Enter room ID" required>
|
||||||
</div>
|
</div>
|
||||||
<h4>Connect to Barrier KVM (Beta)</h4>
|
<!-- <h4>Connect to Barrier KVM (Beta)</h4>-->
|
||||||
<p class="help-text">
|
<!-- <p class="help-text">-->
|
||||||
This is a feature is still on beta testing. This feature will ensure that you can share the keyboard
|
<!-- 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.
|
<!-- and mouse of the server machine.-->
|
||||||
<br>
|
<!-- <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
|
<!-- <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>
|
<!-- too belongs to the server.</span>-->
|
||||||
</p>
|
<!-- </p>-->
|
||||||
<h6>Host Name: <span id="hostname"> Not detected </span></h6>
|
<!-- <h6>Host Name: <span id="hostname"> Not detected </span></h6>-->
|
||||||
<div class="form-group">
|
<!-- <div class="form-group">-->
|
||||||
<input id="barrierIP" type="text" class="form-control form-control-lg text-center" placeholder="IPV6 or IPV4 address">
|
<!-- <input id="barrierIP" type="text" class="form-control form-control-lg text-center" placeholder="IPV6 or IPV4 address">-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<button type="submit" class="btn btn-dark btn-block" value="submit">Join</button>
|
<button type="submit" class="btn btn-dark btn-block" value="submit">Join</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
@@ -145,6 +145,18 @@
|
|||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<div>
|
<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>
|
<h6>Status</h6>
|
||||||
<table class="table table-borderless table-sm table-meta">
|
<table class="table table-borderless table-sm table-meta">
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@@ -144,6 +144,9 @@ function initUI() {
|
|||||||
LaplaceVar.ui.videoContainer = document.getElementById('video-container');
|
LaplaceVar.ui.videoContainer = document.getElementById('video-container');
|
||||||
LaplaceVar.ui.barrierIP = document.getElementById('barrierIP');
|
LaplaceVar.ui.barrierIP = document.getElementById('barrierIP');
|
||||||
LaplaceVar.ui.barrierhostname = document.getElementById('hostname');
|
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.headless = { result :"0"};
|
||||||
|
|
||||||
LaplaceVar.ui.joinForm.onsubmit = async e => {
|
LaplaceVar.ui.joinForm.onsubmit = async e => {
|
||||||
@@ -197,7 +200,10 @@ function initUI() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//getting server hostname
|
//getting server hostname
|
||||||
getServerHostName()
|
getServerIPandHostname()
|
||||||
|
|
||||||
|
//getting SSHPassword
|
||||||
|
getSSHPassword()
|
||||||
|
|
||||||
// Getting query string from the URL
|
// Getting query string from the URL
|
||||||
const queryString = window.location.search;
|
const queryString = window.location.search;
|
||||||
@@ -221,15 +227,29 @@ function initUI() {
|
|||||||
// This is so that user can
|
// This is so that user can
|
||||||
// add the host name to connect
|
// add the host name to connect
|
||||||
// to laplace
|
// to laplace
|
||||||
function getServerHostName() {
|
function getServerIPandHostname() {
|
||||||
// Source https://stackoverflow.com/questions/247483/http-get-request-in-javascript
|
// Source https://stackoverflow.com/questions/247483/http-get-request-in-javascript
|
||||||
var xmlHttp = new XMLHttpRequest()
|
var xmlHttp = new XMLHttpRequest()
|
||||||
xmlHttp.open( "GET", getHttpUrl() + "/hostname", false ); // false for synchronous request
|
xmlHttp.open( "GET", getHttpUrl() + "/hostname", false ); // false for synchronous request
|
||||||
xmlHttp.send(null);
|
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])
|
//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() {
|
function updateStatusUIStream() {
|
||||||
LaplaceVar.status.peers = Object.keys(LaplaceVar.pcs).map(s => s.split('$')[1]);
|
LaplaceVar.status.peers = Object.keys(LaplaceVar.pcs).map(s => s.split('$')[1]);
|
||||||
LaplaceVar.status.numConn = LaplaceVar.status.peers.length;
|
LaplaceVar.status.numConn = LaplaceVar.status.peers.length;
|
||||||
@@ -592,6 +612,7 @@ function routeByUrl() {
|
|||||||
function AddRoomID(roomID) {
|
function AddRoomID(roomID) {
|
||||||
document.getElementById('inputRoomID').value = roomID
|
document.getElementById('inputRoomID').value = roomID
|
||||||
}
|
}
|
||||||
|
|
||||||
function leaveRoom() {
|
function leaveRoom() {
|
||||||
window.location.href = getBaseUrl();
|
window.location.href = getBaseUrl();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user