Compare commits

...

2 Commits

Author SHA1 Message Date
fa82805646 updated whoami post 2025-08-07 11:11:07 +03:00
52a492f522 typos 2025-07-27 19:44:58 +03:00
3 changed files with 379 additions and 43 deletions

305
posts/styles-blog.css Normal file
View File

@@ -0,0 +1,305 @@
:root {
--bg: #282828; /* Gruvbox dark background */
--fg: #ebdbb2; /* Gruvbox light text */
--panel: #3c3836; /* Gruvbox dark panel */
--border: #665c54; /* Gruvbox gray */
--link: #83a598; /* Gruvbox blue */
--accent: #d79921; /* Gruvbox yellow */
--muted: #a89984; /* Gruvbox light gray */
}
html, body {
margin: 0;
padding: 0;
height: auto;
min-height: 100vh;
overflow-y: auto;
font-size: 16px;
font-family: 'Fira Code', monospace;
background: var(--bg);
color: var(--fg);
}
body {
display: flex;
justify-content: center;
}
a {
text-decoration: none;
color: var(--link);
}
a:hover {
text-decoration: underline;
}
.post-title {
font-size: 1.1rem;
font-weight: bold;
color: var(--link);
}
.post-title:hover {
text-decoration: underline;
}
.align-to-right {
position: relative;
float: right;
clear: both;
margin-left: 10px;
margin-bottom: 10px;
border-radius: 30px;
}
.rainbow-text {
font-size: 1.2rem;
background: linear-gradient(90deg, #fb4934, #fe8019, #fabd2f, #b8bb26, #83a598, #d3869b, #fb4934);
background-size: 300%;
background-clip: text;
-webkit-background-clip: text;
color: transparent;
animation: rainbow 5s linear infinite;
}
@keyframes rainbow {
0% { background-position: 0%; }
100% { background-position: 100%; }
}
.scroll-container {
width: 100%;
max-width: 1000px;
padding: 2rem 1rem;
margin: 0 auto;
}
.center-window {
background: var(--panel);
border: 3px double var(--border);
padding: 1.5rem;
box-sizing: border-box;
}
.center {
display: block;
margin-left: auto;
margin-right: auto;
/* width: 50%; */
}
header {
border-bottom: 2px dashed var(--border);
margin-bottom: 1rem;
}
header h1 {
margin: 0;
color: var(--accent);
}
nav a {
margin-right: 1rem;
color: var(--link);
text-decoration: none;
}
nav a:hover {
text-decoration: underline;
}
.terminal-box {
background: var(--bg);
border: 2px dashed var(--border);
padding: 1rem;
margin-bottom: 1rem;
}
.markdown-container {
background: var(--bg);
border: 2px dashed var(--border);
padding: 1rem;
margin-top: 1rem;
color: var(--fg);
overflow-wrap: break-word;
}
.post-list {
list-style-type: none;
padding-left: 0;
}
.post-list li {
margin: 0.5em 0;
}
.post-date {
color: var(--muted);
margin-left: 0.5em;
font-size: 0.9em;
}
/* Terminal Status Display - Gruvbox VHS Style */
.terminal-container {
width: 85%;
background: linear-gradient(135deg, #1d2021, #282828);
border: 2px solid #d79921b0;
border-radius: 0;
box-shadow:
0 0 20px #d7992150,
0 20px 20px #d7992130,
inset 0 0 10px rgba(215, 153, 33, 0.1);
overflow: hidden;
margin: 2rem auto 4rem;
position: relative;
}
.terminal-container::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(
transparent 50%,
rgba(235, 219, 178, 0.03) 50%
);
background-size: 100% 4px;
pointer-events: none;
z-index: 1;
}
.terminal-container::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(235, 219, 178, 0.02);
animation: flicker 0.15s infinite linear alternate;
pointer-events: none;
z-index: 2;
}
@keyframes flicker {
0% { opacity: 1; }
100% { opacity: 0.98; }
}
/* .terminal-header { */
/* background: linear-gradient(135deg, #1d2021, #282828); */
/* padding: 0.9rem 1rem; */
/* border-bottom: 1px solid #d79921ee; */
/* font-size: 1rem; */
/* color: #d79921ee; */
/* text-transform: uppercase; */
/* letter-spacing: 1px; */
/* position: relative; */
/* z-index: 3; */
/* } */
/* .terminal-header::before { */
/* content: '● REC'; */
/* position: absolute; */
/* right: 1rem; */
/* top: 50%; */
/* transform: translateY(-50%); */
/* color: #fb4934; */
/* animation: blink-rec 2s infinite; */
/* font-weight: bold; */
/* } */
/**/
/* @keyframes blink-rec { */
/* 0%, 50% { opacity: 1; } */
/* 51%, 100% { opacity: 0.3; } */
/* } */
/* .terminal-title { */
/* margin: 0; */
/* font-weight: bold; */
/* } */
.terminal-body {
padding: 1rem;
/* min-height: 280px; */
font-size: 0.9rem;
line-height: 1.3;
white-space: pre-wrap;
color: #ebdbb2;
position: relative;
z-index: 3;
overflow-x: auto;
}
/* .terminal-body::after { */
/* content: '█'; */
/* color: #d79921; */
/* display: inline; */
/* animation: blink-cursor 1.2s infinite; */
/* font-weight: bold; */
/* } */
.terminal-body.no-animation::after {
animation: none;
}
/* @keyframes blink-cursor { */
/* 0%, 50% { opacity: 1; } */
/* 51%, 100% { opacity: 0; } */
/* } */
.prompt {
color: #b8bb26; /* Gruvbox green */
font-weight: bold;
}
.status-active {
color: #b8bb26; /* Gruvbox green */
text-shadow: 0 0 5px #b8bb26;
}
.status-loading {
color: #fabd2f; /* Gruvbox yellow */
text-shadow: 0 0 5px #fabd2f;
animation: pulse-yellow 1.5s infinite;
}
.status-inactive {
color: #928374; /* Gruvbox gray */
}
.status-error {
color: #fb4934; /* Gruvbox red */
text-shadow: 0 0 5px #fb4934;
}
@keyframes pulse-yellow {
0%, 100% { opacity: 1; }
50% { opacity: 0.6; }
}
.service-name {
color: #83a598; /* Gruvbox blue */
font-weight: bold;
}
.service-url {
color: #8ec07c; /* Gruvbox aqua */
font-style: italic;
}
.terminal-body {
text-shadow: 0 0 2px currentColor;
}
.terminal-body * {
text-shadow: inherit;
}
/* .terminal-container { */
/* transform: perspective(300px) rotateX(8deg); */
/* filter: contrast(1.1) brightness(1.05); */
/* } */

View File

@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>elleoma@logs ~ > ls</title> <title>elleoma@logs ~ > ls</title>
<link href="https://fonts.googleapis.com/css2?family=Fira+Mono:wght@400;500;700&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Fira+Mono:wght@400;500;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="../styles.css"> <link rel="stylesheet" href="styles-blog.css">
</head> </head>
<body> <body>
@@ -25,43 +25,41 @@
<main> <main>
<section class="markdown-container"> <section class="markdown-container">
<img src="../pfp.jpg" class="pfp" alt="elleoma" width="200" /> <img src="../pfp.jpg" class="align-to-right" alt="elleoma" width="200" />
<h1>~ &gt; whoami</h1>
<p>Im a Ukrainian student and a unix/linux & open-source enthusiast, trying to get into cybersecurity, gain <p>Im a Ukrainian student and a unix/linux & open-source enthusiast, trying to get into cybersecurity, gain
some practical skills.</p> some practical skills.</p>
<h2>My interests are:</h2> <h2>My skills are:</h2>
<ul> <ul>
<li>Cybersecurity</li> <li>Cybersecurity</li>
<li>Low-level programming: C, Rust, Zig, C++, Assembly</li> <li>Penetration testing</li>
<li>Reverse engineering (IDA, Ghidra, NinjaBinary)</li> <li>Low-level programming: C, Rust, Assembly (RISC-V, x86-64), C++, Zig</li>
<li>Electrical engineering</li>
<li>PCB designing (KiCad — yet to try)</li>
<li>Self-hosting</li> <li>Self-hosting</li>
<li>Malware developmnet</li>
<li>Reverse engineering (IDA, Ghidra, NinjaBinary)</li>
<li>A little bit of 3D</li> <li>A little bit of 3D</li>
<li>A little bit of game development</li> <li>A little bit of game development</li>
</ul> </ul>
<hr /> <hr />
<h2>Self-hosting</h2> <h2>Some projects I have</h2>
<p>I have a Raspberry Pi 5 with 4GB of RAM running DietPi and nixpkgs (I hate outdated Debian packages).</p> <h2><a class="post-title" href="https://github.com/elleoma/facinus" target="_blank">Facinus</a></h2>
<p>Currently hosting a bunch of stuff on it via Docker containers with help of desec.io.</p>
<p dir="auto">
<a target="_blank" rel="noopener noreferrer nofollow" href="../self-host.png">
<img src="../self-host.png" alt="My self-hosting setup" style="max-width: 60%;" class="center">
</a>
</p>
<hr />
<h2>Some project I have</h2>
<h3><a class="post-title" href="https://git.forsen-cock.dedyn.io/elleoma/facinus">Facinus</a></h3>
<p>Since our college switched from Windows to Ubuntu, I had a cool idea to remotely control my classroom PCs. <p>Since our college switched from Windows to Ubuntu, I had a cool idea to remotely control my classroom PCs.
</p> </p>
<p>I discovered <code>gsocket.io</code> and started developing a tool that deploys a local web admin panel to <p>I discovered <a href="https://gsocket.io/" target="_blank">gsocket.io</a> and started developing a tool that deploys a local web admin panel to
collect logs from connected clients.</p> collect logs from connected clients.</p>
<p>I used an Ubuntu VM in QEMU and Bash scripted everything with some help of AI.</p> <p>I used an Ubuntu VM in QEMU and Bash scripted everything with some help of AI.</p>
<h3>OS-in-1000-lines</h3>
<p><a class="post-title" href="https://github.com/elleoma/os-in-1000-lines" target="_blank">OS Repo</a></h2>
<p>My implementation of <a href="https://operating-system-in-1000-lines.vercel.app/en">Operating System in 1000 lines</a> by <a href="https://www.shuwasystem.co.jp/author/a269003.html">Shinya Yanagita.</a></p>
<p>A small operating system written from scratch for RISC-V CPU architecture.</p>
<p>This project will have basic context switching, paging, user mode, a command-line shell, a disk device driver, and file read/write operations in C.</p>
<p>And also I'll try to add some more functionality to it.</p>
<p>Right now I'm still working on basic stuff before implementing something new.</p>
<p>I'm still learning C and Assembly, the RISC-V instruction set is new to me.</p>
<hr /> <hr />
<h2>Cybersecurity</h2> <h2>Cybersecurity</h2>
@@ -72,16 +70,11 @@
<p>I still have lots to learn, and Id love to document all the tools and techniques I come across.</p> <p>I still have lots to learn, and Id love to document all the tools and techniques I come across.</p>
<h3>HackTheBox</h3> <h3>HackTheBox</h3>
<p>HTB gave me that initial hands-on boost I needed.As of right now Ive solved more than 50 boxes (3 of them <h4><a class="post-title" href="https://app.hackthebox.com/profile/1915061" target="_blank">My HTB profile</a></h4>
<p>HTB gave me that initial hands-on boost I needed. As of right now Ive solved more than 50 boxes (3 of them
“Insane”: DarkCorp, Mist, and MassGarden).</p> “Insane”: DarkCorp, Mist, and MassGarden).</p>
<p>Even though I sometimes rely on writeups and walkthroughs, I learn a lot from the infrastructure behind <p>Even though I sometimes rely on writeups and walkthroughs, I learn a lot from the infrastructure behind
each box.</p> each box.</p>
<p>Im not sure if using writeups spoils the learning, but for now it gives me clarity and saves time. I aim
to shift toward solving without spoilers in the future.</p>
<h3>Russian targets</h3>
<p>Im Ukrainian, so I practice skills on real russian infrastructure. Its morally right and beneficial,
especially in these times.</p>
<hr /> <hr />
@@ -94,31 +87,69 @@
<hr /> <hr />
<p dir="auto">
<a target="_blank" rel="noopener noreferrer nofollow" href="https://elleoma.github.io/self-host.png">
<img src="../self-host.png" alt="My self-hosting setup" style="width: 280px;" class="align-to-right">
</a>
</p>
<h2>Self-hosting</h2>
<p>I have a Raspberry Pi 5 with 4GB of RAM running DietPi and nixpkgs (I hate outdated Debian packages).</p>
<p>Currently hosting a bunch of stuff on it via Docker containers with help of desec.io.</p>
<hr />
<h2>Contact Me</h2>
<p>You can reach me via the following channels:</p>
<ul>
<li><strong>Email:</strong> <code>amoelle@proton.me | elleoma@forsen-cock.dedyn.io</code></li>
<li><strong>Matrix:</strong> <code>@elleoma:forsen-cock.dedyn.io</code></li>
<li><strong>Mastodon:</strong> <a href="https://soc.ua-fediland.de/@elleoma" target="_blank">@elleoma@soc.ua-fediland.de</a></li>
<li><strong>Twitter:</strong> <a href="https://x.com/0xAm03113" target="_blank">@0xAm03113</a></li>
<li><strong>My github:</strong> <a href="https://github.com/elleoma" target="_blank">https://github.com/elleoma</a></li>
</ul>
<hr />
<h2>My setup</h2> <h2>My setup</h2>
<p>I use Arch Linux on a laptop — it just works and lets me get things done. I run Hyprland and use NVChad for <p>I use Arch Linux on a laptop — it just works and lets me get things done. I run Hyprland and use NVChad for
Neovim.</p> Neovim.</p>
<p>Heres my <code>fastfetch</code> output:</p> <p>Heres my <code>fastfetch</code> output:</p>
<pre><code>~/shit fastfetch <div class="terminal-container">
OS : Arch Linux x86_64 <div class="terminal-body" id="main-terminal">elleoma@logs ~/coolstuff &gt; fastfetch</div>
Kernel : Linux 6.15.5-arch1-1 <pre><code class="terminal-body">
Display : 1920x1080 @ 144 Hz in 15" [Built-in] ▄ 💻️ OS info:
Terminal : tmux 3.5a ▟█▙ ┌────────────────────────────────┐
▟███▙ OS: Arch Linux x86_64
▟█████▙ Kernel: Linux 6.15.9-arch1-1
▟███████▙ Packages: 2103
▂▔▀▜██████▙ Display: 1920x1080@144 Hz
▟██▅▂▝▜█████▙ WM: Hyprland 0.50.1
▟█████████████▙ Terminal: tmux 3.5a
▟███████████████▙ └────────────────────────────────┘
▟█████████████████▙
▟███████████████████▙ ⚙️ Hardware:
▟█████████▛▀▀▜████████▙ ┌───────────────────────────────────┐
▟████████▛ ▜███████▙ CPU: Intel Core i7-12650H
▟█████████ ████████▙ GPU1: GeForce RTX 4060 / Mobile
▟██████████ █████▆▅▄▃▂ GPU2: UHD Graphics
▟██████████▛ ▜█████████▙ GPU1 Driver: nvidia
▟██████▀▀▀ ▀▀██████▙ GPU2 Driver: i915
▟███▀▘ ▝▀███▙ Memory: 5.04 GiB / 15.32 GiB
▟▛▀ ▀▜▙ └────────────────────────────────────┘
CPU : 12th Gen Intel(R) Core(TM) i7-12650H
GPU : GeForce RTX 4060 Max-Q / Mobile
GPU : UHD Graphics
GPU Driver : nvidia (proprietary) 575.64.03
GPU Driver : i915
OS Age : 182 days
</code></pre> </code></pre>
<div class="terminal-body" id="main-terminal">elleoma@logs ~/coolstuff &gt; </div>
</div>
<p>My dotfiles are here: <a class="post-title" <p>My dotfiles are here: <a class="post-title"
href="https://git.forsen-cock.dedyn.io/elleoma/dotfiles">dotfiles</a></p> href="https://git.forsen-cock.dedyn.io/elleoma/dotfiles">dotfiles</a></p>
</section> </section>
</main> </main>
<footer> <footer>
<p><code>made with love ❤️</code></p> <p><code>made with love ❤️</code></p>
</footer> </footer>

View File

@@ -33,11 +33,11 @@
<h2>OS-in-1000-lines</h2> <h2>OS-in-1000-lines</h2>
<p><a href="https://github.com/elleoma/os-in-1000-lines">OS Repo</a></p> <p><a href="https://github.com/elleoma/os-in-1000-lines">OS Repo</a></p>
<p>My implementation of <a href="https://operating-system-in-1000-lines.vercel.app/en">Operating System in 1000 lines</a> by <a href="https://www.shuwasystem.co.jp/author/a269003.html">Shinya Yanagita.</a> A small operating system written from scratch for RISC-V CPU architecture <p>My implementation of <a href="https://operating-system-in-1000-lines.vercel.app/en">Operating System in 1000 lines</a> by <a href="https://www.shuwasystem.co.jp/author/a269003.html">Shinya Yanagita.</a> A small operating system written from scratch for RISC-V CPU architecture.
This project will have basic context switching, paging, user mode, a command-line shell, a disk device driver, and file read/write operations in C. This project will have basic context switching, paging, user mode, a command-line shell, a disk device driver, and file read/write operations in C.
And also I'll try to add some more functionality to it. And also I'll try to add some more functionality to it.
Right now I'm still working on basic stuff before implementing something new. Right now I'm still working on basic stuff before implementing something new.
I'm still learning C and Assembly, the RISC-V instruction set is new to me</p> I'm still learning C and Assembly, the RISC-V instruction set is new to me.</p>
<h2>Wallpapers</h2> <h2>Wallpapers</h2>
<p><a href="https://git.forsen-cock.dedyn.io/elleoma/wallpapers">Wallpaper Repo</a></p> <p><a href="https://git.forsen-cock.dedyn.io/elleoma/wallpapers">Wallpaper Repo</a></p>