Compare commits

..

4 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
b8601e88e0 changed footer message 2025-07-27 14:40:00 +03:00
92fb046fab blog post changes 2025-07-27 14:36:52 +03:00
8 changed files with 389 additions and 53 deletions

View File

@@ -62,7 +62,7 @@
</main>
<footer>
<p><code>hosted on raspberry pi 5</code></p>
<p><code>made with love ❤️</code></p>
</footer>
</div>
</div>

View File

@@ -33,7 +33,7 @@
</main>
<footer>
<p><code>hosted on raspberry pi 5</code></p>
<p><code>made with love ❤️</code></p>
</footer>
</div>
</div>

View File

@@ -38,7 +38,7 @@
</main>
<footer>
<p><code>hosted on raspberry pi 5</p>
<p><code>made with love ❤️</code></p>
</footer>
</div>
</div>

View File

@@ -68,7 +68,7 @@
</main>
<footer>
<p><code>hosted on raspberry pi 5</p>
<p><code>made with love ❤️</code></p>
</footer>
</div>
</div>

View File

@@ -4,7 +4,7 @@
"title": "whoami",
"date": "2025-07-17",
"createdAt": "2025-07-17T14:34:48.197Z",
"modifiedAt": "2025-07-17T14:34:48.197Z",
"modifiedAt": "2025-07-25T14:35:30.197Z",
"size": 5401
}
]

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

@@ -3,17 +3,17 @@
<head>
<meta charset="UTF-8">
<title>elleoma ~ > cat whoami</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://fonts.googleapis.com/css2?family=Fira+Code&display=swap" rel="stylesheet">
<link rel="stylesheet" href="../styles.css">
<title>elleoma@logs ~ > ls</title>
<link href="https://fonts.googleapis.com/css2?family=Fira+Mono:wght@400;500;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="styles-blog.css">
</head>
<body>
<div class="scroll-container">
<div class="center-window">
<header>
<h1>elleoma@0day ~ > ls</h1>
<h1>elleoma@logs ~ > ls</h1>
<nav>
<a href="../index.html">./home</a>
<a href="../projects.html">./projects</a>
@@ -25,43 +25,41 @@
<main>
<section class="markdown-container">
<img src="../pfp.jpg" class="pfp" alt="elleoma" width="200" />
<h1>~ &gt; whoami</h1>
<img src="../pfp.jpg" class="align-to-right" alt="elleoma" width="200" />
<p>Im a Ukrainian student and a unix/linux & open-source enthusiast, trying to get into cybersecurity, gain
some practical skills.</p>
<h2>My interests are:</h2>
<h2>My skills are:</h2>
<ul>
<li>Cybersecurity</li>
<li>Low-level programming: C, Rust, Zig, C++, Assembly</li>
<li>Reverse engineering (IDA, Ghidra, NinjaBinary)</li>
<li>Electrical engineering</li>
<li>PCB designing (KiCad — yet to try)</li>
<li>Penetration testing</li>
<li>Low-level programming: C, Rust, Assembly (RISC-V, x86-64), C++, Zig</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 game development</li>
</ul>
<hr />
<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>
<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>
<h2>Some projects I have</h2>
<h2><a class="post-title" href="https://github.com/elleoma/facinus" target="_blank">Facinus</a></h2>
<p>Since our college switched from Windows to Ubuntu, I had a cool idea to remotely control my classroom PCs.
</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>
<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 />
<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>
<h3>HackTheBox</h3>
<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>
<p>Even though I sometimes rely on writeups and walkthroughs, I learn a lot from the infrastructure behind
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 />
@@ -94,33 +87,71 @@
<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>
<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>
<p>Heres my <code>fastfetch</code> output:</p>
<pre><code>~/shit fastfetch
<div class="terminal-container">
OS : Arch Linux x86_64
Kernel : Linux 6.15.5-arch1-1
Display : 1920x1080 @ 144 Hz in 15" [Built-in]
Terminal : tmux 3.5a
<div class="terminal-body" id="main-terminal">elleoma@logs ~/coolstuff &gt; fastfetch</div>
<pre><code class="terminal-body">
▄ 💻️ OS info:
▟█▙ ┌────────────────────────────────┐
▟███▙ 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>
<div class="terminal-body" id="main-terminal">elleoma@logs ~/coolstuff &gt; </div>
</div>
<p>My dotfiles are here: <a class="post-title"
href="https://git.forsen-cock.dedyn.io/elleoma/dotfiles">dotfiles</a></p>
</section>
</main>
<footer>
<p><code>hosted on raspberry pi 5</code></p>
<p><code>made with love ❤️</code></p>
</footer>
</div>
</div>

View File

@@ -33,11 +33,11 @@
<h2>OS-in-1000-lines</h2>
<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.
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.
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>
<p><a href="https://git.forsen-cock.dedyn.io/elleoma/wallpapers">Wallpaper Repo</a></p>
@@ -52,7 +52,7 @@
</main>
<footer>
<p><code>hosted on raspberry pi 5</p>
<p><code>made with love ❤️</code></p>
</footer>
</div>
</div>