mirror of
https://github.com/XTLS/Xray-core.git
synced 2024-11-05 06:33:02 +00:00
56 lines
1.2 KiB
HTML
56 lines
1.2 KiB
HTML
|
<!DOCTYPE html>
|
||
|
<html>
|
||
|
<head>
|
||
|
<title>Browser Dialer</title>
|
||
|
</head>
|
||
|
<body></body>
|
||
|
<script>
|
||
|
// Copyright (c) 2021 XRAY. Mozilla Public License 2.0.
|
||
|
var url = "ws://" + window.location.host + "/websocket"
|
||
|
var count = 0
|
||
|
setInterval(check, 1000)
|
||
|
function check() {
|
||
|
if (count <= 0) {
|
||
|
count += 1
|
||
|
console.log("Prepare", url)
|
||
|
var ws = new WebSocket(url)
|
||
|
var wss = undefined
|
||
|
var first = true
|
||
|
ws.onmessage = function (event) {
|
||
|
if (first) {
|
||
|
first = false
|
||
|
count -= 1
|
||
|
var arr = event.data.split(" ")
|
||
|
console.log("Dial", arr[0], arr[1])
|
||
|
wss = new WebSocket(arr[0], arr[1])
|
||
|
var opened = false
|
||
|
wss.onopen = function (event) {
|
||
|
opened = true
|
||
|
ws.send("ok")
|
||
|
}
|
||
|
wss.onmessage = function (event) {
|
||
|
ws.send(event.data)
|
||
|
}
|
||
|
wss.onclose = function (event) {
|
||
|
ws.close()
|
||
|
}
|
||
|
wss.onerror = function (event) {
|
||
|
!opened && ws.send("fail")
|
||
|
wss.close()
|
||
|
}
|
||
|
check()
|
||
|
} else wss.send(event.data)
|
||
|
}
|
||
|
ws.onclose = function (event) {
|
||
|
if (first) count -= 1
|
||
|
else wss.close()
|
||
|
}
|
||
|
ws.onerror = function (event) {
|
||
|
ws.close()
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
</script>
|
||
|
</body>
|
||
|
</html>
|