- ID de l'analyse :
- 09d6375f-fe3a-488b-8d7f-9c71c53f4b79Terminée
- URL soumise :
- https://hashb.in/
- Fin du rapport :
Liens : 0 trouvé(s)
Liens sortants identifiés à partir de la page
Variables JavaScript : 18 trouvée(s)
Les variables JavaScript globales chargées dans l'objet fenêtre d'une page sont des variables déclarées en dehors des fonctions et accessibles depuis n'importe quel endroit du code au sein du champ d'application actuel
Nom | Type |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
LZString | object |
f | undefined |
textarea | object |
urlInput | object |
download | object |
content | object |
processContent | function |
Messages de journal de console : 0 trouvé(s)
Messages consignés dans la console web
HTML
Le corps HTML de la page en données brutes
<html><head>
<title>HashBin is a paste bin that ne</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="favicon.ico" rel="icon" type="image/x-icon">
<style>
body, textarea, input, #tools {
background-color: #002b36;
color: #93a1a1;
font: 14px/20px monospace;
padding: 0;
margin: 0;
}
body:before {
position: fixed;
content: '>';
z-index: 1000;
text-align: center;
margin-top: 60px;
width: 30px;
color: #586e75;
}
#t {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow: auto;
outline: none;
border: none;
box-sizing: border-box;
padding: 60px 30px 30px 30px;
}
a {
text-decoration: none;
color: #268bd2;
}
#tools {
text-align: center;
padding: 20px;
z-index: 1000;
width: 100%;
position: fixed;
top: 0;
box-sizing: border-box;
}
input {
display: none;
margin-top: 5px;
width: 100%;
border: 1px solid #268bd2;
padding: 5px;
border-radius: 3px;
}
/* Light color theme */
body, textarea, input, #tools {
background-color: #fdf6e3;
color: #586e75;
}
body:before {
color: #93a1a1;
}
@media (min-width: 600px) {
#tools {
padding: 10px 20px 0 0;
right: 0;
width: auto;
background: none;
}
body:before {
margin-top: 30px;
width: 50px;
}
#t {
padding: 30px 50px 30px 50px;
}
}
</style>
</head>
<body>
<div id="tools">
<a href="#" id="share">Share</a> |
<a href="#" id="new">New</a> |
<a href="data:text/plain,HashBin%20is%20a%20paste%20bin%20that%20never%20sees%20the%20contents%20of%20its%20pastes.%0AI%20posit%2C%20that%20it%20should%20be%20immune%20to%20takedown%20notices.%0A%0A-%20Click%20%22New%22%20to%20create%20your%20own%20paste%0A-%20Click%20%22%3F%22%20to%20learn%20more%0A%0A%0A--%0AJordan%20Eldrege%20(%40captbaritone)" id="download" download="hashbin_is_a_paste_bin_that_ne.txt">Download</a> |
<a href="https://github.com/captbaritone/hashb.in" target="_blank">?</a>
<input id="urlInput">
</div>
<textarea spellcheck="false" id="t">HashBin is a paste bin that never sees the contents of its pastes.
I posit, that it should be immune to takedown notices.
- Click "New" to create your own paste
- Click "?" to learn more
--
Jordan Eldrege (@captbaritone)</textarea>
<script language="javascript" src="js/lz-string.min.js"></script>
<script>
var f;
var textarea = document.getElementById("t");
var urlInput = document.getElementById("urlInput");
var download = document.getElementById('download');
var content = LZString.decompressFromBase64(window.location.hash.slice(1));
if(content) {
textarea.value = content;
}
processContent(); // Update urlInput and download link
function processContent() {
window.location.hash = hash();
urlInput.value = window.location;
document.title = title();
download.setAttribute('download', filename());
download.href = downloadUri();
}
function hash() {
return LZString.compressToBase64(textarea.value);
}
function title() {
return textarea.value ? textarea.value.slice(0,30) : 'HashBin';
}
function filename() {
return title().replace(/[^a-z0-9]/gi, '_').toLowerCase() + '.txt';
}
function downloadUri() {
return "data:text/plain," + encodeURIComponent(textarea.value);
}
function contentChanged() {
clearInterval(f);
f = setTimeout(function() {
processContent();
}, 500);
}
function share() {
urlInput.style.display = "block";
urlInput.select();
return false;
}
function unshare() {
urlInput.style.display = "none";
}
function clear() {
textarea.value = '';
unshare();
textarea.focus();
processContent();
return false;
}
textarea.onkeyup = contentChanged;
textarea.onpaste = contentChanged;
textarea.onfocus = unshare;
document.getElementById('share').onclick = share;
document.getElementById('new').onclick = clear;
</script>
</body></html>