WSSnoop now own thing
1 parent b03b5d7 commit 02bc9c42bb49629e9bb6d5d4a172a1279b4184b7
0xRoM authored on 6 Jul 2023
Showing 2 changed files
View
222
WSSSnoop.html 100755 → 0
<html>
<head>
<title>WSSSnoop</title>
<style type="text/css">
body{
background-color: #333;
color:#bbb;
margin:0;
 
}
.topBar {
background-color: #444;
position:fixed;
top:0;
width:100%;
z-index:100;
padding: 10px;
}
.topTitle{
position:absolute;
top:10px;
left:10px;
color:#7fffd4;
}
.topcorner{
position:absolute;
top:10px;
right:30px;
}
#cswsh-output{
margin-top: 50px !important;
font-family: 'Source Code Pro',
sans-serif;font-size: 0.7em;
padding-bottom: 65px;
padding-left: 10px;
}
.sendBar {
background-color: #333;
position:fixed;
bottom:30px;
width:100%;
z-index:100;
padding: 0px;
height: 30px;
font-family: 'Source Code Pro', sans-serif;
}
.sendBar #label {
margin-right: 20px;
width: 110px;
}
/*.sendBar #wssCommand {
width: 100%;
}*/
.sendBar #wssSendText {
display: flex;
width:100%;
flex-grow: 1;
margin-left: 20px;
margin-top: -20px;
background-color: #333;
color:#DDD;
font-family: 'Source Code Pro', sans-serif;
border:none;
text-decoration: none;
}
*:focus {
outline: none;
}
.bottomBar {
background-color: #444;
position:fixed;
bottom:0;
width:100%;
z-index:100;
padding: 10px;
height: 20px;
}
.bottomClear{
position:absolute;
bottom:10px;
right:30px;
}
a:link,a:visited {
color: #00ccff;
text-decoration: none;
}
/* mouse over link */
a:hover, a:active {
color: #99ebff;
text-decoration: none;
}
</style>
<link href='http://fonts.googleapis.com/css?family=Source+Code+Pro' rel='stylesheet' type='text/css'>
</head>
<body>
<div class="topBar">
<div class="topTitle">
WSSSnoop
</div>
<center>
<input type="text" name="cswshURL" id="cswshURL" value="" placeholder="wss://snoop.me">
<input type="button" id="startSnoop" value="start snooping" onclick="startSnooping()"/>
<input type="button" id="stopSnoop" value="stop snooping" style="display:none" onclick="stopSnooping()"/>
<br />
<div class="topcorner">
Status: <div id="status" style="display:inline-block; color:red"/>Offline</div>
</div>
</center>
</div>
 
<div id="cswsh-output" ></div>
<div class="sendBar" style="display:none">
<form name="wssCommand" id="wssCommand" action="" onsubmit="return false">
<label id="label">$></label>
<input type="text" name="wssSendText" id="wssSendText" value="" placeholder="">
<!--<input type="submit" id="wssSendbutton" value="" />-->
</form>
</div>
 
<div class="bottomBar">
By <a href="https://rossmarks.uk" target="_new">Ross Marks</a>
<div class="bottomClear">
<input type="button" id="clearPage" value="clear page" onclick="clearPage();"/>
</div>
</div>
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
function clearPage(){
$('#cswsh-output').empty();
$('html, body').scrollTop($(document).height());
}
 
function startSnooping(){
$('#startSnoop').hide();
$('#stopSnoop').show();
$('.sendBar').show();
$('#wssSendText').focus();
writeToScreen("Start snooping: " + $("#cswshURL").val());
checkCSWSH();
}
 
function stopSnooping(){
$('#startSnoop').show();
$('#stopSnoop').hide();
$('.sendBar').hide();
websocket.close();
writeToScreen("Stop snooping");
}
 
function checkCSWSH(){
var wsUri = $("#cswshURL").val();
statusWaiting();
websocket = new WebSocket(wsUri);
websocket.onopen = function(evt) { onOpen(evt) };
websocket.onclose = function(evt) { onClose(evt) };
websocket.onmessage = function(evt) { onMessage(evt) };
websocket.onerror = function(evt) { onError(evt) };
}
 
function onOpen(evt){
writeToScreen("CONNECTED");
statusConnected()
doSend("origin policy unchecked!");
}
 
function onClose(evt){
writeToScreen("DISCONNECTED");
statusOffline()
if( $('#stopSnoop').css('display') != 'none' ){
checkCSWSH()
}
}
 
function onMessage(evt){
writeToScreen('<span style="color: #A7E734;">RESPONSE: ' + evt.data+'</span>');
//websocket.close();
}
 
function onError(evt){
writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data);
}
 
function doSend(message){
writeToScreen("SENT: " + message);
websocket.send(message);
}
 
function writeToScreen(message){
output = document.getElementById("cswsh-output");
var pre = document.createElement("div");
pre.style.wordWrap = "break-word";
pre.innerHTML = message;
output.appendChild(pre);
$('html, body').scrollTop($(document).height());
}
 
$("#wssCommand").submit(function(e) {
doSend( $('#wssSendText').val() );
$('#wssSendText').val("");
$('#wssSendText').focus();
e.preventDefault();
});
 
function statusConnected(){
$('#status').html("Connected");
$('#status').css("color","lightgreen");
}
function statusOffline(){
$('#status').html("Offline");
$('#status').css("color","red");
}
function statusWaiting(){
$('#status').html("Waiting...");
$('#status').css("color","yellow");
}
</script>
</body>
</html>
View
WSSSnoop.png 100755 → 0
Buy Me A Coffee