https://lucasburlingham.me/

Eingereichte URL:
https://lucasburlingham.me/
Bericht beendet:

Die von der Seite ausgehenden identifizierten Links

LinkText
https://linux.die.net/man/1/treetree

JavaScript-Variablen · 9 gefunden

Globale JavaScript-Variablen, die in das Window Object einer Seite geladen werden, sind Variablen, die außerhalb von Funktionen deklariert werden und von jeder Stelle des Codes innerhalb des aktuellen Bereichs zugänglich sind

NameTyp
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
__cfQRobject
myOwnEncryptionBecauseBase64IsntWorkingAsIExpectedItTofunction
myOwnDecryptionBecauseBase64IsntWorkingAsIExpectedItTofunction
doneTypingfunction
keypressesobject
__cfRLUnblockHandlersboolean

Konsolenprotokoll-Meldungen · 2 gefunden

In der Web-Konsole protokollierte Meldungen

TypKategorieProtokoll
errorsecurity
URL
https://lucasburlingham.me/
Text
Access to script at 'https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015' from origin 'https://lucasburlingham.me' has been blocked by CORS policy: Request header field cloudflare is not allowed by Access-Control-Allow-Headers in preflight response.
errornetwork
URL
https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015
Text
Failed to load resource: net::ERR_FAILED

HTML

Der HTML-Rohtext der Seite

<!DOCTYPE html><html lang="en"><head>
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<meta charset="UTF-8">
	<meta name="description" content="Lucas Burlingham's personal website housing guides, tips, tricks, and a view on technology.">
	<meta name="author" content="Lucas Burlingham">
	<meta name="keywords" content="Lucas Burlingham, technology, blog, articles">
	<meta name="robots" content="index, follow">
	<meta name="theme-color" content="#fff">

	<title>lucasburlingham.me</title>
	<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/normalize.css">
	<link rel="stylesheet" href="/styles.css">
	<link rel="alternate" type="application/atom+xml" href="https://lucasburlingham.me/articles/atom.xml">
	<link rel="stylesheet" href="/christmas.css">
	<script src="/lightrope.js" defer="" type="text/javascript"></script>
</head>

<body>
	<ul class="lightrope" id="lightrope-feature" style="left: 0; top: 0; position: fixed;"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul>
	<header>
		<h1>lucasburlingham.me</h1>
	</header>
	<nav>
		<ul>
			<li><a href="/">Home</a></li>
			<li><a href="/about.html">About</a></li>
			<li><a href="/contact.html">Contact</a></li>
		</ul>
	</nav>
	<main>
		<ul id="article_list">
			<li>
				$ <a class="clean_link" href="https://linux.die.net/man/1/tree" target="_blank" rel="noopener noreferrer">tree</a> lucasburlingham.me</li>
			<li>
				<a class="article_link" href="/articles/20240916.0142-vghlienyzwf0b3incybmawnlbnnl" id="20240916.0142-VGhlIENyZWF0b3IncyBMaWNlbnNl.html">The Creator's License</a>
			</li>
			<li>
				<a class="article_link" href="/articles/20240920.2316-vgvjag9sb2d5ihroyxqgssb1c2u=" id="20240920.2316-VGVjaG9sb2d5IHRoYXQgSSB1c2U=.html">The Technology that I use</a>
			</li>
			<li>
				<a class="article_link" href="/articles/20241013.0125-m0qgtw9kzwxpbmcgaw4gqmxlbmrlciaozm9yigz1bibhbmqgywjzb2x1dgvsesbubybwcm9maxqp" id="20241013.0125-M0QgTW9kZWxpbmcgaW4gQmxlbmRlciAoZm9yIGZ1biBhbmQgYWJzb2x1dGVseSBubyBwcm9maXQp.html">3D
					Modeling in Blender (for fun and absolutely no profit)</a>
			</li>
			<li>
				<a class="article_link" href="/articles/20241019.0006-t1njie1vzgvs" id="20241019.0006-T1NJIE1vZGVs.html">The OSI Model</a>
			</li>
			<li>
				<a class="article_link" href="/articles/20241026.0157-unvubmluzybhignvbw1hbmqgd2l0acbbbnnpymxl" id="20241026.0157-UnVubmluZyBhIGNvbW1hbmQgd2l0aCBBbnNpYmxl.html">Running a command with Ansible</a>
			</li>
			<li>
				<a class="article_link" href="/articles/20241028.0232-q29udgfjdcbtzsb3axroiexvumegdmlhihrozsbnzxnodgfzdgljig5ldhdvcms=" id="20241028.0232-Q29udGFjdCBtZSB3aXRoIExvUmEgdmlhIHRoZSBNZXNodGFzdGljIG5ldHdvcms=.html">Contact me
					with LoRa via the Meshtastic network</a>
			</li>
			<li>
				<a class="article_link" href="/articles/20241030.1842-bhmgzm9yihrozsb3zwisigluifj1c3q=" id="20241030.1842-bHMgZm9yIHRoZSB3ZWIsIGluIFJ1c3Q=.html">ls for the web, in Rust</a>
			</li>
			<li>
				<a class="article_link" href="/articles/20241102.0313-twfwig9michmywlszwqpifntscbsb2dpbibhdhrlbxb0cybvbibtesbwufm=" id="20241102.0313-TWFwIG9mIChmYWlsZWQpIFNTSCBsb2dpbiBhdHRlbXB0cyBvbiBteSBWUFM=.html">Map of (failed)
					SSH login attempts on my VPS</a>
			</li>
			<li>
				<a class="article_link" href="https://lucasburlingham.me/ufw_reference/" id="20241102.2020-ufw_reference/index.html">UFW Command Reference</a>
			</li>
			<li>
				<a class="article_link" href="/articles/20241111.2136-qwjhbmrvbmvkifnvznr3yxjlifvwzgf0zsatifbjienhbwvyysbjbibhiejvea==" id="20241111.2136-QWJhbmRvbmVkIFNvZnR3YXJlIFVwZGF0ZSAtIFBJIENhbWVyYSBJbiBhIEJveA==.html">Abandoned
					Software Update - PI Camera In a Box</a>
			</li>
			<li>
				<a class="article_link" href="/articles/20241114.1407-vghlienyzwvkig9migegtm9ulwnvbw1pc3npb25lzcbpzmzpy2vyic0gqvjnwsbucmfpbmluzybub29s" id="20241114.1407-VGhlIENyZWVkIG9mIGEgTm9uLWNvbW1pc3Npb25lZCBPZmZpY2VyIC0gQVJNWSBUcmFpbmluZyBUb29s.html">The
					Creed of a Non-commissioned Officer - ARMY Training Tool</a>
			</li>
			<li>
				<a class="article_link" href="/articles/20241122.0157-t3zlcmnvbwluzyb0agugchjpbnrlcibuawdodg1hcmvzic0gsfagrgvza0pldcaynzuyzq==" id="20241122.0157-T3ZlcmNvbWluZyB0aGUgcHJpbnRlciBuaWdodG1hcmVzIC0gSFAgRGVza0pldCAyNzUyZQ==.html">Overcoming
					the printer nightmares - HP DeskJet 2752e</a>
			</li>
			<li>
				<a class="article_link" href="/articles/20241123.0402-bmvvzmv0y2g=" id="20241123.0402-bmVvZmV0Y2g=.html">neofetch</a>
			</li>
			<li>
				<a class="article_link" href="/articles/20241218.2218-uemgqnvpbgqgtglzdcatife0idiwmjq=" id="20241218.2218-UEMgQnVpbGQgTGlzdCAtIFE0IDIwMjQ=.html">PC Build List - Q4 2024</a>
			</li>
			<li id="article_count">0 directories, 14 files</li>
			<li id="fake_linux_cli">
				<input type="text" id="fake_linux_cli_input" placeholder="$ Write me a message (enter to send!)">
				<button type="submit" hidden=""></button>
			</li>

		</ul>
		<script type="text/javascript">
			// count the number of li's in the article_list div and put it into the article_count li
			// subtract 3 from the count to account for the tree command, the article count, and the fake Linux CLI li
			document.getElementById("article_count").innerText = "0 directories, " + (document.getElementById("article_list").getElementsByTagName("li").length - 3) + " files";

			// Listen for the enter key to be pressed in the fake Linux CLI input if it has focus
			document.querySelector("#fake_linux_cli input").addEventListener("keydown", function (event) {
				if (event.key === "Enter") {
					// If the enter key is pressed, simulate a click on the hidden submit button
					document.querySelector("#fake_linux_cli button").click();

					// Send a sms message with the input value if the device is a phone (use the sms: protocol) (use the user agent to determine the device)
					if (navigator.userAgent.includes("Mobile")) {

						// Google Voice number (obfuscated with my own "encryption" because base64 isn't working as I expected it to)
						let number = "b-c-h-f-e-b-c-c-b-i";

						window.location.href = "sms:" + myOwnDecryptionBecauseBase64IsntWorkingAsIExpectedItTo(number) + "?body=👋 " + document.querySelector("#fake_linux_cli input").value;

					} else {
						// If the device is not a phone, send an email with the input value (use the mailto: protocol)
						// Send an email to the email address (obfuscated with base64)
						email = atob("d2VibWFzdGVyQGx1Y2FzYnVybGluZ2hhbS5tZQo=");
						window.location.href = "mailto:" + email + "?subject=From a lucasburlingham.me vistor &body=" + document.querySelector("#fake_linux_cli input").value;
					}
				}
			});

			function myOwnEncryptionBecauseBase64IsntWorkingAsIExpectedItTo(number) {
				// Get the number and convert it to a string if it isn't already
				number = number.toString();

				// Make sure the number is a valid 10 digit number
				if (number.length !== 10) {
					console.error('The number is not a valid 10 digit number, truncating to 10 digits or padding with 0s!');
					number = number.padStart(10, '0').slice(0, 10);
				}

				// Split the number into an array of characters
				number = number.split('');

				// We know that the number is going to be comprised of the number 0-9, so we can use a simple substitution cipher to encrypt the number
				// Create a dictionary of the numbers 0-9 and their corresponding encrypted values
				let dictionary = {
					"0": "a",
					"1": "b",
					"2": "c",
					"3": "d",
					"4": "e",
					"5": "f",
					"6": "g",
					"7": "h",
					"8": "i",
					"9": "j"
				};

				// Loop through the number array and replace each number with its corresponding encrypted value
				for (let i = 0; i < number.length; i++) {
					number[i] = dictionary[number[i]];
				}

				// reverse the array and join it into a string
				number = number.reverse().join('-');

				return number;
			}


			function myOwnDecryptionBecauseBase64IsntWorkingAsIExpectedItTo(string) {
				// Decrypt the string using the same method as the encryption
				// Split the string into an array of words
				string = string.split('-');

				// Loop through the string array and replace each word with the first letter of the word
				for (let i = 0; i < string.length; i++) {
					string[i] = string[i][0];
				}

				// Create a dictionary of the letters a-j and their corresponding decrypted values
				dictionary = {
					"a": "0",
					"b": "1",
					"c": "2",
					"d": "3",
					"e": "4",
					"f": "5",
					"g": "6",
					"h": "7",
					"i": "8",
					"j": "9"
				};

				// Loop through the string array and replace each letter with its corresponding decrypted value
				for (let i = 0; i < string.length; i++) {
					string[i] = dictionary[string[i]];
				}

				// Reverse the array and join it into a string
				string = string.reverse().join('');

				return string;
			}

		</script>
	</main>

	<footer>
		<p>
			© 2024 Lucas Burlingham under <a href="/LICENSE.md">The Creator's License</a>.
			Hand-jammed using HTML, CSS, JS, and a bit of experience.
			<br>
			This page has an <a href="https://lucasburlingham.me/articles/atom.xml" class="feed">Atom feed</a>.
		</p>
	</footer>
	<img src="/images/SnowGnome.png" alt="Snow Gnome" id="snow_gnome" style="bottom: 0; right: 0; position: fixed; height: 200px;">
	<script type="text/javascript">
		// If a user starts typing on the page without clicking on anything, use the window.find() method to search for the text on the page and go to it

		// Listen for keydown events on the window to stop for at least 10ms

		let timer;
		window.keypresses = [];

		window.addEventListener('keydown', event => {
			// Listen for keypresses and log them in an array
			clearTimeout(timer);

			window.keypresses.push(event.key);

			// get the last 10 keypresses and join them into a string
			let keypressesString = window.keypresses.join('');

			// Set a timer to wait for 1 second before searching for the text
			timer = setTimeout(() => {
				doneTyping(keypressesString);
				window.keypresses = [];
			}, 1000);
		});

		// Find the next instance of the text on the page
		function doneTyping(value) {
			window.find(value);
			console.log(`The user is done typing: ${value}`);
		}

	</script>

<script defer="" src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon="{&quot;rayId&quot;:&quot;8f4c5cc4feec383f&quot;,&quot;version&quot;:&quot;2024.10.5&quot;,&quot;r&quot;:1,&quot;serverTiming&quot;:{&quot;name&quot;:{&quot;cfExtPri&quot;:true,&quot;cfL4&quot;:true,&quot;cfSpeedBrain&quot;:true,&quot;cfCacheStatus&quot;:true}},&quot;token&quot;:&quot;413eb484323f4c8d82a92a729132d5b9&quot;,&quot;b&quot;:1}" crossorigin="anonymous"></script>


</body></html>