mirror of
https://github.com/blueskychan-dev/blueskychan.dev.git
synced 2025-07-07 15:21:04 +00:00
No sleep
This commit is contained in:
parent
1cdc92684e
commit
fa66815303
7 changed files with 175 additions and 27 deletions
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "I'm back but not the same."
|
||||
desc: This back to normal but not the same!
|
||||
date: "28/01/2025"
|
||||
date: "28-01-2025"
|
||||
tags:
|
||||
- website
|
||||
- domain
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "MCTham อาจจะเน่ากว่าที่คิด...ให้หนูพูดเถอะ"
|
||||
desc: MCTham with endless drama....
|
||||
date: "8/12/2024"
|
||||
date: "8-12-2024"
|
||||
tags:
|
||||
- drama
|
||||
- minecraft server
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "MCTham more like MCCooked, let me explain"
|
||||
desc: MCTham with endless drama....
|
||||
date: "8/12/2024"
|
||||
date: "8-12-2024"
|
||||
tags:
|
||||
- drama
|
||||
- minecraft server
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Goodbye fusemeow.me, Hello blueskychan.dev"
|
||||
desc: Hello world!
|
||||
date: "28/12/2023"
|
||||
date: "28-12-2023"
|
||||
tags:
|
||||
- new home
|
||||
- new stuff
|
||||
|
|
73
posts/timetomoveon.md
Normal file
73
posts/timetomoveon.md
Normal file
|
@ -0,0 +1,73 @@
|
|||
---
|
||||
title: "Moving On from the Past"
|
||||
desc: "Archiving my old 'educational' tools on GitHub — a personal reflection on growth, learning, and letting go."
|
||||
date: "10-05-2025"
|
||||
tags:
|
||||
- GitHub
|
||||
- Reflection
|
||||
- Programming Journey
|
||||
- Personal Life
|
||||
- Growth
|
||||
---
|
||||
|
||||
# Archiving My Old Projects: A Chapter Ends
|
||||
|
||||
> 📌 tl;dr: I'm officially archiving all my "for educational purpose" DDoS/DoS tools on GitHub. These projects helped me learn programming, but I’ve outgrown them and no longer want them associated with my identity. Time to move on.
|
||||
|
||||
---
|
||||
|
||||
Well, it's finally time to talk about something that's been on my mind for a while:
|
||||
I'm going to archive my old projects—especially the ones related to DDoS/DoS tools created for so-called "educational purposes."
|
||||
|
||||
## 🧠 Why This Matters
|
||||
|
||||
You might wonder: Why archive these now?
|
||||
|
||||
Let me explain the journey that brought me here, and why I think it’s time to move forward.
|
||||
|
||||
---
|
||||
|
||||
## 📖 The Beginning
|
||||
|
||||
Back in the days of "fusenice" (~2020), I didn’t even own a computer. I used my phone and connected to remote desktops from Thai cloud providers like Xver and DriteStudio to experience Windows and explore programming.
|
||||
|
||||
That’s when I discovered Python—it looked fun! I started learning but quickly lost interest. I wasn’t serious about it back then.
|
||||
|
||||
Fast-forward to 2021: I became curious about DDoS attacks after seeing services like MCStresser. I had no clue what I was doing—my first "tool" was literally a batch file running ping in a loop. Around this time, I also moved to Vultr and Azure.
|
||||
|
||||
Later in 2021, I got my first laptop (Core i3-330M, 4GB DDR3, 250GB HDD) for online classes. That’s when I seriously started learning to code again. I discovered C#—and for some reason, it just clicked. I also dabbled in C++ and Linux while trying to make better (but still pretty bad) attack tools.
|
||||
|
||||
Ironically, building those tools pushed me to learn how to code. I was constantly Googling, experimenting, and debugging.
|
||||
|
||||
---
|
||||
|
||||
## 💬 About Those Tools
|
||||
|
||||
Yes, you’ve probably seen the many DDoS/DoS tools on my GitHub. Some of you even followed me because of them.
|
||||
|
||||
One tool that got attention was DDoSPacket, which I made before I even started middle school. Looking back—it was terrible, I agree. I could write a much better version today, but...
|
||||
|
||||
---
|
||||
|
||||
## 🧹 Time to Move On
|
||||
|
||||
I’ve considered rewriting DDoSPacket and similar tools for years—but now, I’ve decided to archive them entirely. Here's why:
|
||||
|
||||
- 🧨 My identity has been unfairly tied to these tools. People call me an "attacker" without any proof—even when I’ve done nothing wrong.
|
||||
- ❌ The "educational purpose" label doesn’t help. Many people still misuse these tools—I've even received Telegram DMs from people using them to attack PUBG servers.
|
||||
- 🚫 I don’t want legal or personal risks. It’s 2025, I’m in high school now, and I’ve got responsibilities, schoolwork, and teachers to deal with. I don’t want to be dragged down by an old repo.
|
||||
- ❤️ I’ve outgrown that phase. These days, I find real joy in learning Linux, C, and Rust.
|
||||
|
||||
---
|
||||
|
||||
## 🫂 Final Words
|
||||
|
||||
Writing those tools taught me a lot. They helped me grow and become who I am today—a true computer enjoyer.
|
||||
|
||||
But everything has its time—and that time is over.
|
||||
|
||||
If you still want to mess around, you can probably find Termux scripts online. But I won’t support or help with anything related to DDoS anymore.
|
||||
|
||||
If you have questions or just want to chat, reach out: hello@mindhas403.dev
|
||||
|
||||
Thanks for reading. Take care, and see you around. <3
|
|
@ -6,7 +6,7 @@ console.log("Sometimes this world is great, but sometimes it sucks.... :c")
|
|||
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms))
|
||||
sleep(2500).then(() => {
|
||||
console.log(
|
||||
"%cI 🫶 @ahenyao! (so much) <3",
|
||||
"%c Something went wrong... :c",
|
||||
"color: #FF69B4; font-size: 20px; font-weight: bold;",
|
||||
)
|
||||
console.log(
|
||||
|
|
|
@ -2,6 +2,7 @@ import fs from "fs"
|
|||
import matter from "gray-matter"
|
||||
import Link from "next/link"
|
||||
import Head from "next/head"
|
||||
import { useState } from "react"
|
||||
|
||||
export async function getStaticProps() {
|
||||
const files = fs.readdirSync("posts")
|
||||
|
@ -12,11 +13,29 @@ export async function getStaticProps() {
|
|||
const slug = fileName.replace(".md", "")
|
||||
const readFile = fs.readFileSync(`posts/${fileName}`, "utf-8")
|
||||
const { data: frontmatter } = matter(readFile)
|
||||
|
||||
// Fix date formatting - handle both DD-MM-YYYY and other formats
|
||||
let formattedDate = frontmatter.date;
|
||||
if (frontmatter.date && frontmatter.date.includes('-')) {
|
||||
const [day, month, year] = frontmatter.date.split('-');
|
||||
if (day && month && year) {
|
||||
formattedDate = new Date(`${month}/${day}/${year}`).toLocaleDateString('en-US', {
|
||||
year: 'numeric',
|
||||
month: 'long',
|
||||
day: 'numeric'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
slug,
|
||||
frontmatter,
|
||||
frontmatter: {
|
||||
...frontmatter,
|
||||
formattedDate: formattedDate || frontmatter.date
|
||||
},
|
||||
}
|
||||
})
|
||||
.sort((a, b) => new Date(b.frontmatter.date) - new Date(a.frontmatter.date))
|
||||
|
||||
return {
|
||||
props: {
|
||||
|
@ -26,29 +45,85 @@ export async function getStaticProps() {
|
|||
}
|
||||
|
||||
export default function Blog({ posts }) {
|
||||
const [search, setSearch] = useState("")
|
||||
const [sortBy, setSortBy] = useState("date")
|
||||
|
||||
const filteredPosts = posts
|
||||
.filter(({ frontmatter }) =>
|
||||
frontmatter.title.toLowerCase().includes(search.toLowerCase())
|
||||
)
|
||||
.sort((a, b) => {
|
||||
if (sortBy === "letter") {
|
||||
return a.frontmatter.title.localeCompare(b.frontmatter.title)
|
||||
} else {
|
||||
return new Date(b.frontmatter.date) - new Date(a.frontmatter.date)
|
||||
}
|
||||
})
|
||||
|
||||
return (
|
||||
<>
|
||||
<Head>
|
||||
<title>My Blog :3</title>
|
||||
<meta name="theme-color" content="#FFC0CB" />
|
||||
<meta property="og:title" content="Blog" key="title" />
|
||||
<meta
|
||||
property="og:description"
|
||||
content="My blog :3"
|
||||
/>
|
||||
</Head>
|
||||
<div className="md:grid-cols-3 lg:grid-cols-4 p-4">
|
||||
{posts.map(({ slug, frontmatter }) => (
|
||||
<div
|
||||
key={slug}
|
||||
className="border-2 border-gray-300/80 bg-gray-700/50 rounded-xl shadow-lg overflow-hidden flex flex-col m-2 backdrop-blur-md"
|
||||
>
|
||||
<Link href={`/post/${slug}`}>
|
||||
<h1 className="p-4 text-1xl font-bold">{frontmatter.title}</h1>
|
||||
</Link>
|
||||
<Head>
|
||||
<title>My Blog :3</title>
|
||||
<meta name="theme-color" content="#FFC0CB" />
|
||||
<meta property="og:title" content="Blog" key="title" />
|
||||
<meta property="og:description" content="My blog :3" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
</Head>
|
||||
|
||||
<div className="p-4 md:p-6 backdrop-blur-md bg-gray-800/50 rounded-lg max-w-7xl mx-auto">
|
||||
<h1 className="text-2xl md:text-3xl font-bold mb-2 text-center text-[#FFC0CB]">Blog</h1>
|
||||
<p className="text-center text-gray-300 mb-4 md:mb-6 text-sm md:text-base">All of my thoughts and writings :3</p>
|
||||
|
||||
{/* Search & Sort */}
|
||||
<div className="flex flex-col gap-3 md:gap-4 md:flex-row items-start md:items-center mb-4 md:mb-6 bg-gray-700/50 p-3 md:p-4 rounded-lg">
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Search posts..."
|
||||
value={search}
|
||||
onChange={(e) => setSearch(e.target.value)}
|
||||
className="px-3 py-2 md:px-4 md:py-2 rounded-xl border border-gray-300 bg-white/80 text-black shadow-md focus:outline-none focus:ring-2 focus:ring-pink-300 flex-grow text-sm md:text-base"
|
||||
/>
|
||||
<select
|
||||
value={sortBy}
|
||||
onChange={(e) => setSortBy(e.target.value)}
|
||||
className="px-3 py-2 md:px-4 md:py-2 rounded-xl border border-gray-300 bg-white/80 text-black shadow-md focus:outline-none focus:ring-2 focus:ring-pink-300 text-sm md:text-base"
|
||||
>
|
||||
<option value="date">Sort by Date</option>
|
||||
<option value="letter">Sort by Alphabetical</option>
|
||||
</select>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
{/* Posts */}
|
||||
{filteredPosts.length > 0 ? (
|
||||
<div className="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-3 md:gap-4">
|
||||
{filteredPosts.map(({ slug, frontmatter }) => (
|
||||
<Link
|
||||
key={slug}
|
||||
href={`/post/${slug}`}
|
||||
className="border-2 border-gray-300/80 bg-gray-700/50 hover:bg-gray-600/70 transition-all duration-300 rounded-xl shadow-lg overflow-hidden flex flex-col backdrop-blur-md hover:shadow-pink-500/20 hover:border-pink-300/50 group"
|
||||
>
|
||||
<div className="p-3 md:p-4 flex flex-col h-full">
|
||||
<h1 className="text-lg md:text-xl font-bold text-white group-hover:text-[#FFC0CB] transition-colors duration-300 line-clamp-2">
|
||||
{frontmatter.title}
|
||||
</h1>
|
||||
<p className="text-xs md:text-sm text-gray-300 mt-1 mb-2 md:mb-3">
|
||||
{frontmatter.formattedDate}
|
||||
</p>
|
||||
{frontmatter.description && (
|
||||
<p className="text-gray-400 text-xs md:text-sm mt-auto line-clamp-2">
|
||||
{frontmatter.description}
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
) : (
|
||||
<div className="text-center py-6 md:py-8 bg-gray-700/30 rounded-lg">
|
||||
<p className="text-gray-300 text-base md:text-lg">No posts found matching your search.</p>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</>
|
||||
)
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue