Remove Timeline and Web Developer pages, update logo, and add header to index.html

This commit is contained in:
Tomas Dvorak committed 2025-04-26 00:16:12 +02:00
1 parent 77e83090f1
commit 6d286868f6
29 files changed
+286 -7708

No files matched your search

+277 -19
View File
@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TD - TOR Portfolio</title>
<title>TDvorak - TOR Portfolio</title>
</head>
<body>
<style>
@@ -903,6 +903,95 @@ img {
}
}
.terminal-section {
flex: 1;
min-width: 50%;
}
.terminal {
background-color: var(--terminal);
border-radius: 5px;
padding: 1rem;
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
position: relative;
overflow: hidden;
height: 400px;
border: 1px solid rgb(255 0 0 / 57%);
height: 400px;
width: 65%;
margin: 0 auto;
}
.terminal-header {
display: flex;
align-items: center;
margin-bottom: 1rem;
padding-bottom: 0.5rem;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.terminal-dots {
display: flex;
gap: 6px;
}
.terminal-dot {
width: 12px;
height: 12px;
border-radius: 50%;
}
.dot-red {
background-color: #ff5f56;
}
.dot-yellow {
background-color: #ffbd2e;
}
.dot-green {
background-color: #27c93f;
}
.terminal-title {
margin-left: auto;
margin-right: auto;
font-size: 0.8rem;
opacity: 0.6;
}
.terminal-content {
font-family: 'Courier New', monospace;
font-size: 0.9rem;
line-height: 1.5;
height: 85%;
overflow: hidden;
}
.terminal-line {
display: flex;
margin-bottom: 0.5rem;
}
.terminal-prompt {
color: var(--primary);
margin-right: 0.5rem;
}
.terminal-cursor {
display: inline-block;
width: 8px;
height: 15px;
background-color: var(--primary);
margin-left: 2px;
animation: blink 1s infinite;
}
@keyframes blink {
0%, 100% { opacity: 1; }
50% { opacity: 0; }
}
</style>
<header class="l-header">
<nav class="nav bd-grid">
@@ -930,8 +1019,8 @@ img {
<img src="assets/img/ascii1.png" alt="">
</div>
<h1 class="home__title">Tomáš Dvořák</h1>
<span class="home__profession">WhiteHat, Programmer</span>
<p href="tdvorak5yysirjdcvecyyde5svpkycuheneavst4ahbgguiid5tuxwid.onion" class="button home__button" id="copyLink" style="cursor: pointer;">Dark Web Website</p><br>
<span class="home__profession">WhiteHat, Fullstack</span>
<!-- <p href="tdvorak5yysirjdcvecyyde5svpkycuheneavst4ahbgguiid5tuxwid.onion" class="button home__button" id="copyLink" style="cursor: pointer;">Dark Web Website</p><br> -->
<style>
@media only screen and (max-width: 730px) {
#fadeshow1 {
@@ -940,7 +1029,7 @@ img {
}
</style>
<div id="fadeshow1">
<p style="font-family: newsmall; font-size: smaller; letter-spacing: 1.6px;">ᔓ tdvorak5yysirjdcvecyyde5svpkycuheneavst4ahbgguiid5tuxwid.<span style="color: red;">onion</span> ᔓ</p>
<!-- <p style="font-family: newsmall; font-size: smaller; letter-spacing: 1.6px;">ᔓ tdvorak5yysirjdcvecyyde5svpkycuheneavst4ahbgguiid5tuxwid.<span style="color: red;">onion</span> ᔓ</p> -->
</div>
</div>
</div>
@@ -971,23 +1060,44 @@ img {
<h2 class="section-title" style="font-family: new;">About Me</h2>
<div class="about__container bd-grid">
<div class="about__data">
<p class="about__text">Hi, I'm a <strong>self-taught frontend & backend developer</strong>. I really enjoy <strong>programming, mostly in Python and HTML.</strong>
I also just started learning <strong>Ethical Hacking & Pentesting</strong>. I would probably say that IT is the most important thing in my life.
I can spend days on things like the <strong>Raspberry Pi</strong>. And I have nothing else to do #nobitches. </p>
<p class="about__text">
I'm a <strong>self-taught ethical hacker</strong> passionate about cybersecurity, wireless exploitation, and hardware hacking. I work with tools like <strong>Kali Linux, Parrot OS, Raspberry Pi 5, LilyGO T-Embed CC1101 Bruce, P4wnP1 A.L.O.A., Pwnagotchi & GhostESP</strong>. Always learning, always exploring.
</p>
<img src="assets/img/ascii2.png" alt="" class="about__img">
</div>
<div>
<div class="about__information">
<h3 class="about__information-title">Contact me:</h3>
<div class="about__information-data">
<span>contact.[email protected]</span>
<span>tdvorak_dev@proton.me</span>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="skills section" id="skills">
<section>
<div class="terminal-section">
<div class="terminal">
<div class="terminal-header">
<div class="terminal-dots">
<div class="terminal-dot dot-red"></div>
<div class="terminal-dot dot-yellow"></div>
<div class="terminal-dot dot-green"></div>
</div>
</div>
<div class="terminal-content" id="terminalContent">
<div class="terminal-line">
<span class="terminal-prompt">[email protected]:~$</span>
<span id="typedText"></span>
<span class="terminal-cursor"></span>
</div>
</div>
</div>
</div>
</section>
<!-- <section class="skills section" id="skills">
<span class="section-subtitle"><p>ᔓ</p>WHO<span style="color: red;">IS</span></span>
<h2 class="section-title" style="font-family: new;">My skills</h2>
<div class="skills__container bd-grid">
@@ -1038,12 +1148,12 @@ img {
</div>
</div>
</div>
</section>
</section> -->
<section class="education section">
<span class="section-subtitle"><p>ᔓ</p>SS<span style="color: red;">H</span></span>
<h2 class="section-title" style="font-family: new;">My Education</h2>
<div class="education__container bd-grid">
<div class="education__content">
<!-- <div class="education__content">
<div>
<h3 class="education__year">2023 - 2024</h3>
<span class="education__university">OAUH</span>
@@ -1056,8 +1166,8 @@ img {
<div>
<h3 class="education__race">Economics</h3>
</div>
</div>
<div class="education__content">
</div> -->
<!-- <div class="education__content">
<div>
<h3 class="education__year">2024 - 2027</h3>
<span class="education__university">SGaSOS Kunovice</span>
@@ -1070,8 +1180,8 @@ img {
<h3 class="education__race">Information Technology</h3>
<span class="education__specialty">Frontend, Backend</span>
</div>
</div>
<div class="education__content">
</div> -->
<!-- <div class="education__content">
<div>
<h3 class="education__year">2022 - 2023</h3>
<span class="education__university">FreeCodeCamp</span>
@@ -1084,7 +1194,7 @@ img {
<h3 class="education__race">ONLINE CERTIFICATION</h3>
<span class="education__specialty">Frontend, Backend</span>
</div>
</div>
</div> -->
<div class="education__content">
<div>
<h3 class="education__year">2023 - 202?</h3>
@@ -1113,13 +1223,29 @@ img {
<span class="education__specialty">Hacking, Raspberry Pi, IT</span>
</div>
</div>
<div class="education__content">
<div>
<h3 class="education__year">2024 - 202?</h3>
<span class="education__university">Talking Sasquach</span>
</div>
<div class="education__time">
<span class="education__rounder"></span>
<span class="education__line"></span>
</div>
<div>
<h3 class="education__race">YouTube Videos</h3>
<span class="education__specialty">Hacking</span>
</div>
</div>
</div>
</section>
<footer class="footer section">
<div class="footer__container bd-grid">
<h1 class="footer__title" style="margin: 0">Tomáš Dvořák</h1>
<img src="assets/img/ascii3.png" style="display: block; margin-left: auto; margin-right: auto; width: 30%;">
<p class="footer__copy">All right reserved - 2024</p>
<h1 class="footer__title" style="margin: 0">TDvorak</h1>
<div style="display: block; margin-left: auto; margin-right: auto; width: 30%; font-size: 5px; filter: invert(1);">
<pre style="font-family: 'Noto Sans Mono', 'DejaVu Sans Mono', monospace; line-height: 1;"><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><br><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,0)">&#48;</span><span style="color:rgb(0,0,Line truncated
</div>
<p class="footer__copy">All right reserved - 2025</p>
</div>
</footer>
<a href="#" class="scrolltop" id="scroll-top">
@@ -1213,5 +1339,137 @@ observer.observe(nodeSkill);
observer.observe(pythonSkill);
observer.observe(linuxSkill);
</script>
<script>
// Terminal typing animation
const commands = [
"sudo apt update",
"nmap -sS -sV -p- --min-rate 5000 target.com",
"cd /opt/tools/metasploit",
"./msfconsole -q",
"use auxiliary/scanner/ssh/ssh_login",
"set rhosts 192.168.1.1/24",
"run",
"sudo tor start",
"proxychains firefox",
"cd /opt/tartaros",
"python3 vulnerability_scanner.py",
"sudo airmon-ng start wlan0",
"sudo reaver -i wlan0mon -b 00:11:22:33:44:55 -vv",
"tail -f /var/log/secure",
"cd /home/tartaros/tools",
"git clone https://github.com/tartaros/security-tools.git",
"torsocks wget https://hidden.onion/file.txt",
"./init_secure_environment.sh"
];
const terminalContent = document.getElementById('terminalContent');
const typedText = document.getElementById('typedText');
let commandIndex = 0;
let charIndex = 0;
let isDeleting = false;
let typingDelay = 100;
function typeTerminal() {
const currentCommand = commands[commandIndex];
if (isDeleting) {
typedText.textContent = currentCommand.substring(0, charIndex - 1);
charIndex--;
typingDelay = 30;
if (charIndex === 0) {
isDeleting = false;
commandIndex = (commandIndex + 1) % commands.length;
typingDelay = 500;
}
} else {
typedText.textContent = currentCommand.substring(0, charIndex + 1);
charIndex++;
typingDelay = 70 + Math.random() * 50;
if (charIndex === currentCommand.length) {
isDeleting = true;
typingDelay = 1500;
// Add command output
setTimeout(() => {
const line = document.createElement('div');
line.classList.add('terminal-line');
// Generate random output based on the command
let output = '';
if (currentCommand.includes('nmap')) {
output = 'Starting Nmap scan...\nPort 22/tcp open ssh OpenSSH 8.4\nPort 80/tcp open http nginx 1.18.0\nPort 443/tcp open https nginx 1.18.0\n';
} else if (currentCommand.includes('msfconsole')) {
output = ' =[ metasploit v6.2.26-dev ]\n+ -- --=[ 2275 exploits - 1194 auxiliary - 404 post ]\n+ -- --=[ 951 payloads - 45 encoders - 11 nops ]\n+ -- --=[ 9 evasion ]\n\nmsf6 >';
} else if (currentCommand.includes('run') || currentCommand.includes('.py')) {
output = '[*] Scanning...\n[+] Found 3 potential vulnerabilities\n[+] Generating report...';
} else if (currentCommand.includes('git clone')) {
output = 'Cloning into \'security-tools\'...\nremote: Enumerating objects: 573, done.\nremote: Counting objects: 100% (573/573), done.\nRemote: Compressing objects: 100% (432/432), done.';
} else if (currentCommand.includes('apt')) {
output = 'Reading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\n37 packages can be upgraded.';
} else if (currentCommand.includes('tor')) {
output = '[notice] Tor v0.4.7.13 running on Linux with Libevent 2.1.12-stable\n[notice] Tor has successfully opened a circuit.\n[notice] Bootstrapped 100%: Done';
} else {
output = 'Command executed successfully.';
}
line.textContent = output;
terminalContent.appendChild(line);
// Add new prompt line
const newPromptLine = document.createElement('div');
newPromptLine.classList.add('terminal-line');
const promptSpan = document.createElement('span');
promptSpan.classList.add('terminal-prompt');
promptSpan.textContent = '[email protected]:~$';
const newTypedText = document.createElement('span');
newTypedText.id = 'typedText';
const cursor = document.createElement('span');
cursor.classList.add('terminal-cursor');
newPromptLine.appendChild(promptSpan);
newPromptLine.appendChild(newTypedText);
newPromptLine.appendChild(cursor);
// Limit terminal lines to keep performance
if (terminalContent.children.length > 10) {
terminalContent.removeChild(terminalContent.children[0]);
terminalContent.removeChild(terminalContent.children[0]);
}
terminalContent.appendChild(newPromptLine);
// Update references
typedText = newTypedText;
}, 500);
}
}
setTimeout(typeTerminal, typingDelay);
}
// Start the typing animation
setTimeout(typeTerminal, 1000);
// Create binary background
function createBinaryBackground() {
const binaryBg = document.getElementById('binaryBg');
const characters = '01';
let output = '';
for (let i = 0; i < 10000; i++) {
output += characters.charAt(Math.floor(Math.random() * characters.length));
}
binaryBg.textContent = output;
}
createBinaryBackground();
</script>
</body>
</html>