From fa82805646b077b25334c61b5bc6d13b02850e63 Mon Sep 17 00:00:00 2001 From: Amoelle Date: Thu, 7 Aug 2025 11:11:07 +0300 Subject: [PATCH] updated whoami post --- posts/styles-blog.css | 305 ++++++++++++++++++++++++++++++++++++++++++ posts/whoami.html | 113 ++++++++++------ 2 files changed, 377 insertions(+), 41 deletions(-) create mode 100644 posts/styles-blog.css diff --git a/posts/styles-blog.css b/posts/styles-blog.css new file mode 100644 index 0000000..fa96e2a --- /dev/null +++ b/posts/styles-blog.css @@ -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); */ +/* } */ diff --git a/posts/whoami.html b/posts/whoami.html index 235a50d..56a82ab 100644 --- a/posts/whoami.html +++ b/posts/whoami.html @@ -6,7 +6,7 @@ elleoma@logs ~ > ls - + @@ -25,43 +25,41 @@
- elleoma -

~ > whoami

+ elleoma

I’m a Ukrainian student and a unix/linux & open-source enthusiast, trying to get into cybersecurity, gain some practical skills.

-

My interests are:

+

My skills are:

  • Cybersecurity
  • -
  • Low-level programming: C, Rust, Zig, C++, Assembly
  • -
  • Reverse engineering (IDA, Ghidra, NinjaBinary)
  • -
  • Electrical engineering
  • -
  • PCB designing (KiCad — yet to try)
  • +
  • Penetration testing
  • +
  • Low-level programming: C, Rust, Assembly (RISC-V, x86-64), C++, Zig
  • Self-hosting
  • +
  • Malware developmnet
  • +
  • Reverse engineering (IDA, Ghidra, NinjaBinary)
  • A little bit of 3D
  • A little bit of game development

-

Self-hosting

-

I have a Raspberry Pi 5 with 4GB of RAM running DietPi and nixpkgs (I hate outdated Debian packages).

-

Currently hosting a bunch of stuff on it via Docker containers with help of desec.io.

-

- - My self-hosting setup - -

-
- -

Some project I have

-

Facinus

+

Some projects I have

+

Facinus

Since our college switched from Windows to Ubuntu, I had a cool idea to remotely control my classroom PCs.

-

I discovered gsocket.io and started developing a tool that deploys a local web admin panel to +

I discovered gsocket.io and started developing a tool that deploys a local web admin panel to collect logs from connected clients.

I used an Ubuntu VM in QEMU and Bash scripted everything with some help of AI.

+

OS-in-1000-lines

+

OS Repo +

My implementation of Operating System in 1000 lines by Shinya Yanagita.

+

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.

+

Cybersecurity

@@ -72,16 +70,11 @@

I still have lots to learn, and I’d love to document all the tools and techniques I come across.

HackTheBox

-

HTB gave me that initial hands-on boost I needed.As of right now I’ve solved more than 50 boxes (3 of them +

My HTB profile

+

HTB gave me that initial hands-on boost I needed. As of right now I’ve solved more than 50 boxes (3 of them “Insane”: DarkCorp, Mist, and MassGarden).

Even though I sometimes rely on writeups and walkthroughs, I learn a lot from the infrastructure behind each box.

-

I’m 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.

- -

Russian targets

-

I’m Ukrainian, so I practice skills on real russian infrastructure. It’s morally right and beneficial, - especially in these times.


@@ -94,31 +87,69 @@
+

+ + My self-hosting setup + +

+

Self-hosting

+

I have a Raspberry Pi 5 with 4GB of RAM running DietPi and nixpkgs (I hate outdated Debian packages).

+

Currently hosting a bunch of stuff on it via Docker containers with help of desec.io.

+ +
+ +

Contact Me

+

You can reach me via the following channels:

+ + +
+

My setup

I use Arch Linux on a laptop — it just works and lets me get things done. I run Hyprland and use NVChad for Neovim.

Here’s my fastfetch output:

-
~/shit ❯ fastfetch
+          
- OS : Arch Linux x86_64 - Kernel : Linux 6.15.5-arch1-1 - Display : 1920x1080 @ 144 Hz in 15" [Built-in] - Terminal : tmux 3.5a - - 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 -
+
elleoma@logs ~/coolstuff > fastfetch
+

+                    ▄                         💻️ 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
+  ▟▛▀                               ▀▜▙   └────────────────────────────────────┘
+
+                
+ +
elleoma@logs ~/coolstuff >
+

My dotfiles are here: dotfiles

+