Files
personalsite/app/takim-cantam/page.tsx
2026-04-03 16:20:51 +03:00

139 lines
5.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { Metadata } from "next";
export const metadata: Metadata = { title: "Takım Çantam" };
const sections = [
{
title: "Donanım",
icon: "⊡",
items: [
{ name: "MacBook Pro M3", desc: "Ana geliştirme makinesi", badge: "primary" },
{ name: "Thinkpad X1 Carbon", desc: "Kali Linux dedicated lab makinesi", badge: "lab" },
{ name: "Raspberry Pi 4", desc: "Home lab server", badge: "server" },
{ name: "Alfa AWUS036ACM", desc: "WiFi pentesting adaptör", badge: "tool" },
{ name: "HakCat USB Nugget", desc: "BadUSB payload testi", badge: "tool" },
{ name: "Flipper Zero", desc: "RF/NFC/IR/Sub-GHz multi-tool", badge: "tool" },
],
},
{
title: "İşletim Sistemleri",
icon: "◈",
items: [
{ name: "Kali Linux", desc: "Ana pentest OS — rolling release", badge: "primary" },
{ name: "macOS Sequoia", desc: "Günlük sürücü", badge: "primary" },
{ name: "ParrotOS", desc: "Alternatif güvenlik distrosu", badge: "secondary" },
{ name: "Windows 11", desc: "Lab için VM", badge: "vm" },
],
},
{
title: "Güvenlik Araçları",
icon: "⚔",
items: [
{ name: "Burp Suite Pro", desc: "Web uygulama test aracı", badge: "pro" },
{ name: "Nmap", desc: "Ağ keşif ve tarama", badge: "oss" },
{ name: "Metasploit Framework", desc: "Exploit framework", badge: "oss" },
{ name: "Cobalt Strike", desc: "Red team C2 (lab)", badge: "pro" },
{ name: "BloodHound", desc: "AD attack path analizi", badge: "oss" },
{ name: "Impacket", desc: "Python ağ protokol kütüphanesi", badge: "oss" },
{ name: "Ghidra", desc: "Reverse engineering", badge: "oss" },
{ name: "Wireshark", desc: "Ağ protokol analizi", badge: "oss" },
{ name: "Hashcat", desc: "GPU hızlandırmalı şifre kırma", badge: "oss" },
{ name: "John the Ripper", desc: "Şifre kırma aracı", badge: "oss" },
{ name: "SQLMap", desc: "Otomatik SQL injection", badge: "oss" },
{ name: "Nuclei", desc: "Hızlı güvenlik tarayıcı", badge: "oss" },
],
},
{
title: "Geliştirme",
icon: "◎",
items: [
{ name: "Neovim", desc: "Birincil editör (LazyVim)", badge: "primary" },
{ name: "VS Code", desc: "İkincil editör", badge: "secondary" },
{ name: "WezTerm", desc: "Terminal emülatör", badge: "primary" },
{ name: "tmux", desc: "Terminal multiplexer", badge: "tool" },
{ name: "Fish Shell", desc: "Interaktif shell", badge: "tool" },
{ name: "Git", desc: "Versiyon kontrolü", badge: "tool" },
{ name: "Docker", desc: "Container ortamları", badge: "tool" },
],
},
{
title: "Programlama Dilleri",
icon: "▦",
items: [
{ name: "Python", desc: "Script, otomasyon, exploit geliştirme", badge: "primary" },
{ name: "Bash", desc: "Shell scripting", badge: "primary" },
{ name: "Rust", desc: "Öğreniyorum — araç geliştirme için", badge: "learning" },
{ name: "C/C++", desc: "Exploit geliştirme, düşük seviye", badge: "secondary" },
{ name: "PowerShell", desc: "Windows otomasyon", badge: "secondary" },
{ name: "JavaScript/TypeScript", desc: "Bu site!", badge: "secondary" },
],
},
{
title: "Servisler & Abonelikler",
icon: "◆",
items: [
{ name: "HackTheBox VIP", desc: "Lab makineleri ve challenge'lar", badge: "sub" },
{ name: "1Password", desc: "Şifre yöneticisi", badge: "sub" },
{ name: "Mullvad VPN", desc: "Gizlilik odaklı VPN", badge: "sub" },
{ name: "Proton Mail", desc: "Şifreli e-posta", badge: "sub" },
],
},
];
const badgeColors: Record<string, string> = {
primary: "#00d4aa",
secondary: "#64748b",
pro: "#f59e0b",
oss: "#22c55e",
lab: "#7c6af7",
server: "#3b82f6",
vm: "#64748b",
tool: "#ef4444",
sub: "#ec4899",
learning: "#f97316",
};
export default function TakimCantamPage() {
return (
<div style={{ maxWidth: "100%" }}>
<div className="page-title">Takım Çantam</div>
<p style={{ fontSize: "0.8rem", color: "var(--text-muted)", marginBottom: "2rem" }}>
Kullandığım cihazlar, araçlar, yazılımlar ve servisler
</p>
<div style={{ display: "flex", flexDirection: "column", gap: "2rem" }}>
{sections.map((section) => (
<div key={section.title}>
<div className="section-header">
<span style={{ color: "var(--accent)", marginRight: "0.4rem" }}>{section.icon}</span>
{section.title}
</div>
<div style={{ display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(240px, 1fr))", gap: "0.5rem" }}>
{section.items.map((item) => (
<div key={item.name} className="card" style={{ padding: "0.75rem 1rem" }}>
<div style={{ display: "flex", alignItems: "center", justifyContent: "space-between", marginBottom: "0.2rem" }}>
<span style={{ fontSize: "0.85rem", fontWeight: 600, color: "var(--text)" }}>{item.name}</span>
<span style={{
fontSize: "0.55rem",
padding: "0.1rem 0.35rem",
borderRadius: "2px",
fontWeight: 700,
letterSpacing: "0.06em",
textTransform: "uppercase",
color: badgeColors[item.badge] || "var(--text-muted)",
border: `1px solid ${badgeColors[item.badge] || "var(--border)"}`,
}}>
{item.badge}
</span>
</div>
<p style={{ fontSize: "0.75rem", color: "var(--text-muted)", margin: 0 }}>{item.desc}</p>
</div>
))}
</div>
</div>
))}
</div>
</div>
);
}