Compare commits

...

11 Commits

Author SHA1 Message Date
eshanized
b383fd495b 🚀 feat: add a toast notification
Some checks failed
Check Conventional Commit / check-commit-message (push) Has been cancelled
Deploy React to cPanel via FTP / deploy (push) Has been cancelled
2025-01-16 06:48:31 +05:30
eshanized
276854adc0 🚀 feat: insert copy option 2025-01-16 06:42:25 +05:30
eshanized
8351fd5e42 🛠 refactor: written full command 2025-01-16 06:40:55 +05:30
eshanized
58460bb434 style: add search icon in the bar 2025-01-16 06:37:00 +05:30
eshanized
e211ef2a3d style: minor changes in ui* 2025-01-16 06:35:47 +05:30
eshanized
f97fe74ebb 🐛 fix: team members 2025-01-16 06:31:51 +05:30
eshanized
df8a833380 style: add gnome ui 2025-01-16 06:23:29 +05:30
eshanized
ed1000433e style: make it center 2025-01-16 06:13:53 +05:30
eshanized
526e2a9329 style: remove background grad 2025-01-16 06:10:50 +05:30
eshanized
85e88bb012 style: reduce animation 2025-01-16 06:09:21 +05:30
eshanized
bb19932a46 🛠 refactor: rename chunks
Some checks are pending
Check Conventional Commit / check-commit-message (push) Waiting to run
2025-01-16 01:37:26 +05:30
16 changed files with 186 additions and 76 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

View File

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

@@ -7,9 +7,9 @@ export function MissionSection() {
initial={{ opacity: 0 }} initial={{ opacity: 0 }}
whileInView={{ opacity: 1 }} whileInView={{ opacity: 1 }}
transition={{ duration: 0.6 }} transition={{ duration: 0.6 }}
className="bg-gradient-to-r from-cornflower-blue/10 to-white p-10 rounded-lg shadow-xl" className="p-10 rounded-lg"
> >
<div className="flex items-center gap-4 mb-6"> <div className="flex items-center gap-4 mb-6 justify-center text-center">
<Target className="h-8 w-8 text-cornflower-blue" /> <Target className="h-8 w-8 text-cornflower-blue" />
<h2 className="text-3xl font-extrabold text-gray-900">Our Mission</h2> <h2 className="text-3xl font-extrabold text-gray-900">Our Mission</h2>
</div> </div>

View File

@@ -33,9 +33,23 @@ export function TeamMemberCard({ user, role, description }: TeamMemberCardProps)
</div> </div>
</div> </div>
<p className="mt-4 text-gray-600 flex-grow">{description}</p> {/* Show full description on hover */}
<motion.p
className="mt-4 text-gray-600 flex-grow line-clamp-2"
whileHover={{ opacity: 1 }}
initial={{ opacity: 0.7 }}
transition={{ duration: 0.3 }}
>
{description}
</motion.p>
<div className="mt-4 flex items-center gap-4 text-sm text-gray-500"> {/* Additional information shown when hovering */}
<motion.div
className="mt-4 flex items-center gap-4 text-sm text-gray-500"
whileHover={{ opacity: 1 }}
initial={{ opacity: 0.5 }}
transition={{ duration: 0.3 }}
>
<div className="flex items-center gap-1"> <div className="flex items-center gap-1">
<Users className="h-4 w-4" /> <Users className="h-4 w-4" />
<span>{user.followers.toLocaleString()} followers</span> <span>{user.followers.toLocaleString()} followers</span>
@@ -44,7 +58,7 @@ export function TeamMemberCard({ user, role, description }: TeamMemberCardProps)
<Book className="h-4 w-4" /> <Book className="h-4 w-4" />
<span>{user.public_repos} repos</span> <span>{user.public_repos} repos</span>
</div> </div>
</div> </motion.div>
<a <a
href={user.html_url} href={user.html_url}

View File

@@ -9,7 +9,6 @@ interface SearchBarProps {
export function SearchBar({ value, onChange }: SearchBarProps) { export function SearchBar({ value, onChange }: SearchBarProps) {
return ( return (
<div className="relative"> <div className="relative">
<Search className="absolute left-4 top-1/2 -translate-y-1/2 h-5 w-5 text-gray-400 transition-all" />
<input <input
type="text" type="text"
value={value} value={value}
@@ -17,6 +16,7 @@ export function SearchBar({ value, onChange }: SearchBarProps) {
placeholder="Search tools..." placeholder="Search tools..."
className="w-full pl-12 pr-6 py-3 bg-white/80 backdrop-blur-sm border border-gray-200 rounded-lg focus:ring-2 focus:ring-cornflower-blue focus:border-cornflower-blue outline-none transition-all duration-300 ease-in-out hover:border-gray-300 hover:bg-white/90" className="w-full pl-12 pr-6 py-3 bg-white/80 backdrop-blur-sm border border-gray-200 rounded-lg focus:ring-2 focus:ring-cornflower-blue focus:border-cornflower-blue outline-none transition-all duration-300 ease-in-out hover:border-gray-300 hover:bg-white/90"
/> />
<Search className="absolute left-4 top-1/2 -translate-y-1/2 h-5 w-5 text-gray-400 transition-all" />
</div> </div>
); );
} }

View File

@@ -0,0 +1,28 @@
// Toast.tsx
import { motion } from 'framer-motion';
interface ToastProps {
message: string;
onClose: () => void;
}
export const Toast = ({ message, onClose }: ToastProps) => (
<motion.div
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
exit={{ opacity: 0, y: 20 }}
transition={{ duration: 0.3 }}
className="fixed bottom-4 left-1/2 transform -translate-x-1/2 bg-cornflower-blue text-white px-4 py-2 rounded-lg shadow-lg"
>
<div className="flex items-center gap-2">
<span>{message}</span>
</div>
<button
onClick={onClose}
className="absolute top-0 right-0 p-1 text-white hover:bg-cornflower-blue/80 rounded-full"
aria-label="Close toast"
>
&times;
</button>
</motion.div>
);

View File

@@ -1,5 +1,7 @@
import { motion } from 'framer-motion'; import { motion } from 'framer-motion';
import { Terminal } from 'lucide-react'; import { Terminal, Clipboard } from 'lucide-react';
import { useState } from 'react';
import { Toast } from './Toast'; // Make sure to import the Toast component
interface ToolCardProps { interface ToolCardProps {
name: string; name: string;
@@ -9,27 +11,63 @@ interface ToolCardProps {
} }
export function ToolCard({ name, description, category, command }: ToolCardProps) { export function ToolCard({ name, description, category, command }: ToolCardProps) {
const [copied, setCopied] = useState(false);
const [showToast, setShowToast] = useState(false);
const handleCopyClick = () => {
navigator.clipboard.writeText(command)
.then(() => {
setCopied(true);
setShowToast(true);
setTimeout(() => {
setCopied(false);
setShowToast(false);
}, 3000); // Hide toast after 3 seconds
})
.catch((error) => console.error('Failed to copy: ', error));
};
return ( return (
<motion.div <motion.div
initial={{ opacity: 0, y: 20 }} initial={{ opacity: 0, y: 20 }}
whileInView={{ opacity: 1, y: 0 }} whileInView={{ opacity: 1, y: 0 }}
whileHover={{ scale: 1.05, y: -5 }} whileHover={{ scale: 1.05, y: -5 }}
transition={{ duration: 0.3 }} transition={{ duration: 0.3 }}
className="bg-gradient-to-r from-cornflower-blue/10 to-white p-6 rounded-lg shadow-lg border border-gray-100 transform hover:shadow-2xl transition-all" className="bg-white p-6 rounded-lg shadow-xl border border-gray-100 transform hover:shadow-2xl transition-all"
> >
<div className="flex items-center gap-4 mb-4"> <div className="flex items-center gap-4 mb-4">
<div className="p-3 bg-cornflower-blue/20 rounded-full"> <div className="p-4 bg-cornflower-blue/20 rounded-full">
<Terminal className="h-6 w-6 text-cornflower-blue" /> <Terminal className="h-7 w-7 text-cornflower-blue" />
</div> </div>
<h3 className="text-2xl font-semibold text-gray-900">{name}</h3> <h3 className="text-2xl font-semibold text-gray-900">{name}</h3>
</div> </div>
<p className="text-gray-600 text-lg mb-4">{description}</p> <p className="text-gray-600 text-lg mb-4">{description}</p>
<div className="flex items-center justify-between"> <div className="flex items-center justify-between mt-4">
<span className="text-sm font-medium text-cornflower-blue">{category}</span> <span className="text-sm font-medium text-cornflower-blue">{category}</span>
<code className="text-sm bg-gray-100 px-3 py-1 rounded">{command}</code> <div className="flex items-center gap-2">
<code className="text-sm bg-gray-100 px-3 py-1 rounded text-gray-800">{command}</code>
<button
onClick={handleCopyClick}
className="p-2 bg-cornflower-blue/20 rounded-full hover:bg-cornflower-blue/30 transition-all"
aria-label="Copy command"
>
{copied ? (
<span className="text-sm text-cornflower-blue">Copied!</span>
) : (
<Clipboard className="h-5 w-5 text-cornflower-blue" />
)}
</button>
</div> </div>
</div>
{showToast && (
<Toast
message="Command copied! Paste it in your terminal with Ctrl + Shift + V (Cmd + Shift + V on Mac)"
onClose={() => setShowToast(false)}
/>
)}
</motion.div> </motion.div>
); );
} }

View File

@@ -1,6 +1,6 @@
export const galleryImages = [ export const galleryImages = [
{ {
src: '/images/snigdhaos-plama-01.png', src: '/images/snigdhaos-plasma-01.png',
alt: 'Snigdha OS Plasma 6 - Application Dashbord', alt: 'Snigdha OS Plasma 6 - Application Dashbord',
category: 'Plasma', category: 'Plasma',
}, },
@@ -29,6 +29,36 @@ export const galleryImages = [
alt: 'Snigdha OS Plasma 6 - Control Hub', alt: 'Snigdha OS Plasma 6 - Control Hub',
category: 'Plasma', category: 'Plasma',
}, },
{
src: '/images/snigdhaos-gnome-01.png',
alt: 'Snigdha OS Gnome Desktop - Main',
category: 'Gnome',
},
{
src: '/images/snigdhaos-gnome-02.png',
alt: 'Snigdha OS Gnome Desktop - Menu',
category: 'Gnome',
},
{
src: '/images/snigdhaos-gnome-03.png',
alt: 'Snigdha OS Gnome Desktop - Control',
category: 'Gnome',
},
{
src: '/images/snigdhaos-gnome-04.png',
alt: 'Snigdha OS Gnome Desktop - Folders',
category: 'Gnome',
},
{
src: '/images/snigdhaos-gnome-05.png',
alt: 'Snigdha OS Gnome Desktop - All Apps',
category: 'Gnome',
},
{
src: '/images/snigdhaos-gnome-06.png',
alt: 'Snigdha OS Gnome Desktop - Terminal',
category: 'Gnome',
},
]; ];
export const categories = ['All', 'Plasma']; export const categories = ['All', 'Plasma', 'Gnome'];

View File

@@ -12,315 +12,315 @@ export const tools: Tool[] = [
name: 'Nmap', name: 'Nmap',
description: 'Network exploration tool and security scanner', description: 'Network exploration tool and security scanner',
category: 'Information Gathering', category: 'Information Gathering',
command: 'nmap', command: 'sudo pacman -S nmap',
}, },
{ {
id: '2', id: '2',
name: 'Wireshark', name: 'Wireshark',
description: 'Network protocol analyzer for real-time packet capture', description: 'Network protocol analyzer for real-time packet capture',
category: 'Sniffing & Spoofing', category: 'Sniffing & Spoofing',
command: 'wireshark', command: 'sudo pacman -S wireshark',
}, },
{ {
id: '3', id: '3',
name: 'Metasploit', name: 'Metasploit',
description: 'Penetration testing framework', description: 'Penetration testing framework',
category: 'Exploitation Tools', category: 'Exploitation Tools',
command: 'msfconsole', command: 'sudo pacman -S metasploit',
}, },
{ {
id: '4', id: '4',
name: 'Burp Suite', name: 'Burp Suite',
description: 'Web vulnerability scanner and proxy tool', description: 'Web vulnerability scanner and proxy tool',
category: 'Web Applications', category: 'Web Applications',
command: 'burpsuite', command: 'sudo pacman -S burpsuite',
}, },
{ {
id: '5', id: '5',
name: 'Aircrack-ng', name: 'Aircrack-ng',
description: 'Complete suite for wireless network security assessment', description: 'Complete suite for wireless network security assessment',
category: 'Wireless Attacks', category: 'Wireless Attacks',
command: 'aircrack-ng', command: 'sudo pacman -S aircrack-ng',
}, },
{ {
id: '6', id: '6',
name: 'John the Ripper', name: 'John the Ripper',
description: 'Password cracker and hash analyzer', description: 'Password cracker and hash analyzer',
category: 'Password Attacks', category: 'Password Attacks',
command: 'john', command: 'sudo pacman -S john',
}, },
{ {
id: '7', id: '7',
name: 'Hydra', name: 'Hydra',
description: 'Brute-force password cracking tool', description: 'Brute-force password cracking tool',
category: 'Password Attacks', category: 'Password Attacks',
command: 'hydra', command: 'sudo pacman -S hydra',
}, },
{ {
id: '8', id: '8',
name: 'Nikto', name: 'Nikto',
description: 'Web server scanner for vulnerabilities', description: 'Web server scanner for vulnerabilities',
category: 'Web Applications', category: 'Web Applications',
command: 'nikto', command: 'sudo pacman -S nikto',
}, },
{ {
id: '9', id: '9',
name: 'Airgeddon', name: 'Airgeddon',
description: 'Multi-use bash script for wireless pentesting', description: 'Multi-use bash script for wireless pentesting',
category: 'Wireless Attacks', category: 'Wireless Attacks',
command: 'airgeddon', command: 'sudo pacman -S airgeddon',
}, },
{ {
id: '10', id: '10',
name: 'OWASP ZAP', name: 'OWASP ZAP',
description: 'Open-source web application security scanner', description: 'Open-source web application security scanner',
category: 'Web Applications', category: 'Web Applications',
command: 'zap', command: 'sudo pacman -S zap',
}, },
{ {
id: '11', id: '11',
name: 'Ettercap', name: 'Ettercap',
description: 'Comprehensive suite for man-in-the-middle attacks', description: 'Comprehensive suite for man-in-the-middle attacks',
category: 'Sniffing & Spoofing', category: 'Sniffing & Spoofing',
command: 'ettercap', command: 'sudo pacman -S ettercap',
}, },
{ {
id: '12', id: '12',
name: 'Kali Linux', name: 'Kali Linux',
description: 'Linux distribution with pre-installed security tools', description: 'Linux distribution with pre-installed security tools',
category: 'All', category: 'All',
command: 'kali', command: 'sudo pacman -S kali-linux',
}, },
{ {
id: '13', id: '13',
name: 'Netcat', name: 'Netcat',
description: 'Network utility for reading/writing network connections', description: 'Network utility for reading/writing network connections',
category: 'Information Gathering', category: 'Information Gathering',
command: 'nc', command: 'sudo pacman -S netcat',
}, },
{ {
id: '14', id: '14',
name: 'Netdiscover', name: 'Netdiscover',
description: 'Network discovery tool for locating devices on a network', description: 'Network discovery tool for locating devices on a network',
category: 'Information Gathering', category: 'Information Gathering',
command: 'netdiscover', command: 'sudo pacman -S netdiscover',
}, },
{ {
id: '15', id: '15',
name: 'SQLmap', name: 'SQLmap',
description: 'Automated SQL injection and database takeover tool', description: 'Automated SQL injection and database takeover tool',
category: 'Exploitation Tools', category: 'Exploitation Tools',
command: 'sqlmap', command: 'sudo pacman -S sqlmap',
}, },
{ {
id: '16', id: '16',
name: 'Gobuster', name: 'Gobuster',
description: 'Directory and DNS busting tool for web enumeration', description: 'Directory and DNS busting tool for web enumeration',
category: 'Information Gathering', category: 'Information Gathering',
command: 'gobuster', command: 'sudo pacman -S gobuster',
}, },
{ {
id: '17', id: '17',
name: 'Nikto2', name: 'Nikto2',
description: 'Web scanner for vulnerabilities, similar to Nikto', description: 'Web scanner for vulnerabilities, similar to Nikto',
category: 'Web Applications', category: 'Web Applications',
command: 'nikto2', command: 'sudo pacman -S nikto2',
}, },
{ {
id: '18', id: '18',
name: 'The Harvester', name: 'The Harvester',
description: 'Information gathering tool for open-source intelligence (OSINT)', description: 'Information gathering tool for open-source intelligence (OSINT)',
category: 'Information Gathering', category: 'Information Gathering',
command: 'theharvester', command: 'sudo pacman -S theharvester',
}, },
{ {
id: '19', id: '19',
name: 'Social-Engineer Toolkit (SET)', name: 'Social-Engineer Toolkit (SET)',
description: 'Penetration testing framework for social engineering', description: 'Penetration testing framework for social engineering',
category: 'Exploitation Tools', category: 'Exploitation Tools',
command: 'setoolkit', command: 'sudo pacman -S setoolkit',
}, },
{ {
id: '20', id: '20',
name: 'Burp Suite Pro', name: 'Burp Suite Pro',
description: 'Advanced web vulnerability scanner with additional features', description: 'Advanced web vulnerability scanner with additional features',
category: 'Web Applications', category: 'Web Applications',
command: 'burpsuite_pro', command: 'sudo pacman -S burpsuite_pro',
}, },
{ {
id: '21', id: '21',
name: 'Beef', name: 'Beef',
description: 'The Browser Exploitation Framework for testing browser security', description: 'The Browser Exploitation Framework for testing browser security',
category: 'Exploitation Tools', category: 'Exploitation Tools',
command: 'beef', command: 'sudo pacman -S beef',
}, },
{ {
id: '22', id: '22',
name: 'Sn1per', name: 'Sn1per',
description: 'Automated pentesting tool for information gathering', description: 'Automated pentesting tool for information gathering',
category: 'Information Gathering', category: 'Information Gathering',
command: 'sn1per', command: 'sudo pacman -S sn1per',
}, },
{ {
id: '23', id: '23',
name: 'Responder', name: 'Responder',
description: 'Lateral movement tool for exploiting network protocols', description: 'Lateral movement tool for exploiting network protocols',
category: 'Sniffing & Spoofing', category: 'Sniffing & Spoofing',
command: 'responder', command: 'sudo pacman -S responder',
}, },
{ {
id: '24', id: '24',
name: 'Sublist3r', name: 'Sublist3r',
description: 'Subdomain enumeration tool for information gathering', description: 'Subdomain enumeration tool for information gathering',
category: 'Information Gathering', category: 'Information Gathering',
command: 'sublist3r', command: 'sudo pacman -S sublist3r',
}, },
{ {
id: '25', id: '25',
name: 'Hashcat', name: 'Hashcat',
description: 'Advanced password cracking tool', description: 'Advanced password cracking tool',
category: 'Password Attacks', category: 'Password Attacks',
command: 'hashcat', command: 'sudo pacman -S hashcat',
}, },
{ {
id: '26', id: '26',
name: 'Mimikatz', name: 'Mimikatz',
description: 'Windows credential dumper for obtaining passwords', description: 'Windows credential dumper for obtaining passwords',
category: 'Exploitation Tools', category: 'Exploitation Tools',
command: 'mimikatz', command: 'sudo pacman -S mimikatz',
}, },
{ {
id: '27', id: '27',
name: 'HashID', name: 'HashID',
description: 'Hash identifier tool for identifying hash types', description: 'Hash identifier tool for identifying hash types',
category: 'Password Attacks', category: 'Password Attacks',
command: 'hashid', command: 'sudo pacman -S hashid',
}, },
{ {
id: '28', id: '28',
name: 'BloodHound', name: 'BloodHound',
description: 'Active Directory enumeration tool for post-exploitation', description: 'Active Directory enumeration tool for post-exploitation',
category: 'Exploitation Tools', category: 'Exploitation Tools',
command: 'bloodhound', command: 'sudo pacman -S bloodhound',
}, },
{ {
id: '29', id: '29',
name: 'Lynis', name: 'Lynis',
description: 'Security auditing tool for Unix-based systems', description: 'Security auditing tool for Unix-based systems',
category: 'Information Gathering', category: 'Information Gathering',
command: 'lynis', command: 'sudo pacman -S lynis',
}, },
{ {
id: '30', id: '30',
name: 'Wfuzz', name: 'Wfuzz',
description: 'Web fuzzing tool for finding vulnerabilities in web apps', description: 'Web fuzzing tool for finding vulnerabilities in web apps',
category: 'Web Applications', category: 'Web Applications',
command: 'wfuzz', command: 'sudo pacman -S wfuzz',
}, },
{ {
id: '31', id: '31',
name: 'Cobalt Strike', name: 'Cobalt Strike',
description: 'Adversary simulation software for penetration testers', description: 'Adversary simulation software for penetration testers',
category: 'Exploitation Tools', category: 'Exploitation Tools',
command: 'cobaltstrike', command: 'sudo pacman -S cobaltstrike',
}, },
{ {
id: '32', id: '32',
name: 'Shodan', name: 'Shodan',
description: 'Search engine for Internet-connected devices', description: 'Search engine for Internet-connected devices',
category: 'Information Gathering', category: 'Information Gathering',
command: 'shodan', command: 'sudo pacman -S shodan',
}, },
{ {
id: '33', id: '33',
name: 'CloudBrute', name: 'CloudBrute',
description: 'Brute force cloud storage services', description: 'Brute force cloud storage services',
category: 'Password Attacks', category: 'Password Attacks',
command: 'cloudbrute', command: 'sudo pacman -S cloudbrute',
}, },
{ {
id: '34', id: '34',
name: 'FuzzBunch', name: 'FuzzBunch',
description: 'A penetration testing framework developed by the NSA', description: 'A penetration testing framework developed by the NSA',
category: 'Exploitation Tools', category: 'Exploitation Tools',
command: 'fuzzbunch', command: 'sudo pacman -S fuzzbunch',
}, },
{ {
id: '35', id: '35',
name: 'PowerSploit', name: 'PowerSploit',
description: 'A PowerShell-based exploitation framework', description: 'A PowerShell-based exploitation framework',
category: 'Exploitation Tools', category: 'Exploitation Tools',
command: 'powersploit', command: 'sudo pacman -S powersploit',
}, },
{ {
id: '36', id: '36',
name: 'Powershell Empire', name: 'Powershell Empire',
description: 'Post-exploitation and agent-based framework', description: 'Post-exploitation and agent-based framework',
category: 'Exploitation Tools', category: 'Exploitation Tools',
command: 'empire', command: 'sudo pacman -S empire',
}, },
{ {
id: '37', id: '37',
name: 'Reaver', name: 'Reaver',
description: 'Wi-Fi Protected Setup (WPS) attack tool', description: 'Wi-Fi Protected Setup (WPS) attack tool',
category: 'Wireless Attacks', category: 'Wireless Attacks',
command: 'reaver', command: 'sudo pacman -S reaver',
}, },
{ {
id: '38', id: '38',
name: 'Kismet', name: 'Kismet',
description: 'Wireless network detector, sniffer, and intrusion detection system', description: 'Wireless network detector, sniffer, and intrusion detection system',
category: 'Wireless Attacks', category: 'Wireless Attacks',
command: 'kismet', command: 'sudo pacman -S kismet',
}, },
{ {
id: '39', id: '39',
name: 'Nikto3', name: 'Nikto3',
description: 'Web server scanner that identifies vulnerabilities', description: 'Web server scanner that identifies vulnerabilities',
category: 'Web Applications', category: 'Web Applications',
command: 'nikto3', command: 'sudo pacman -S nikto3',
}, },
{ {
id: '40', id: '40',
name: 'Scapy', name: 'Scapy',
description: 'Network manipulation tool for penetration testing', description: 'Network manipulation tool for penetration testing',
category: 'Sniffing & Spoofing', category: 'Sniffing & Spoofing',
command: 'scapy', command: 'sudo pacman -S scapy',
}, },
{ {
id: '41', id: '41',
name: 'SSLScan', name: 'SSLScan',
description: 'SSL scanner for finding vulnerabilities in SSL implementations', description: 'SSL scanner for finding vulnerabilities in SSL implementations',
category: 'Web Applications', category: 'Web Applications',
command: 'sslscan', command: 'sudo pacman -S sslscan',
}, },
{ {
id: '42', id: '42',
name: 'Gophish', name: 'Gophish',
description: 'Open-source phishing framework for social engineering testing', description: 'Open-source phishing framework for social engineering testing',
category: 'Social Engineering', category: 'Social Engineering',
command: 'gophish', command: 'sudo pacman -S gophish',
}, },
{ {
id: '43', id: '43',
name: 'Empire', name: 'Empire',
description: 'Post-exploitation framework with PowerShell agents', description: 'Post-exploitation framework with PowerShell agents',
category: 'Exploitation Tools', category: 'Exploitation Tools',
command: 'empire', command: 'sudo pacman -S empire',
}, },
{ {
id: '44', id: '44',
name: 'Pipal', name: 'Pipal',
description: 'Password analysis tool to identify weak passwords', description: 'Password analysis tool to identify weak passwords',
category: 'Password Attacks', category: 'Password Attacks',
command: 'pipal', command: 'sudo pacman -S pipal',
}, },
{ {
id: '45', id: '45',
name: 'Rekall', name: 'Rekall',
description: 'Forensic memory analysis tool for investigating malware', description: 'Forensic memory analysis tool for investigating malware',
category: 'Forensics', category: 'Forensics',
command: 'rekall', command: 'sudo pacman -S rekall',
}, },
]; ];

View File

@@ -5,46 +5,46 @@ import { MissionSection } from '../components/about/MissionSection';
export default function About() { export default function About() {
return ( return (
<div className="py-16 bg-gradient-to-b from-gray-50 via-white to-gray-100"> <div className="py-16 bg-gray-50">
<div className="max-w-7xl mx-auto px-6 sm:px-8 lg:px-12"> <div className="max-w-7xl mx-auto px-6 sm:px-8 lg:px-12">
{/* Hero Section */} {/* Hero Section */}
<motion.div <motion.div
initial={{ opacity: 0, y: 20 }} initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }} animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.8 }} transition={{ duration: 0.8 }}
className="text-center mb-16" className="text-center mb-12"
> >
<h1 className="text-5xl font-extrabold text-gray-900"> <h1 className="text-4xl font-bold text-gray-900">
About Snigdha OS About Snigdha OS
</h1> </h1>
<p className="mt-4 text-xl text-gray-600 max-w-2xl mx-auto"> <p className="mt-4 text-lg text-gray-600 max-w-2xl mx-auto">
The most advanced penetration testing distribution, made for security professionals. The most advanced penetration testing distribution, crafted for security professionals.
</p> </p>
</motion.div> </motion.div>
{/* Content Sections */} {/* Content Sections */}
<div className="space-y-20"> <div className="space-y-16">
{/* Mission Section */} {/* Mission Section */}
<section className="bg-cornflower-blue/5 rounded-2xl p-8 shadow-lg"> <section className="bg-white rounded-lg p-6 shadow-sm">
<MissionSection /> <MissionSection />
</section> </section>
{/* Team Section */} {/* Team Section */}
<section> <section>
<h2 className="text-3xl font-bold text-gray-900 text-center mb-12"> <h2 className="text-2xl font-semibold text-gray-900 text-center mb-8">
Our Team Structure Our Team Structure
</h2> </h2>
<div className="overflow-hidden rounded-xl shadow-md bg-white p-6"> <div className="rounded-lg shadow-sm bg-white p-6">
<TeamSection /> <TeamSection />
</div> </div>
</section> </section>
{/* Timeline Section */} {/* Timeline Section */}
<section> <section>
<h2 className="text-3xl font-bold text-gray-900 text-center mb-12"> <h2 className="text-2xl font-semibold text-gray-900 text-center mb-8">
Release Timeline Release Timeline
</h2> </h2>
<div className="bg-gray-50 p-6 rounded-lg shadow-lg"> <div className="bg-white p-6 rounded-lg shadow-sm">
<Timeline /> <Timeline />
</div> </div>
</section> </section>

View File

@@ -32,7 +32,7 @@ export default defineConfig(({ mode }) => {
rollupOptions: { rollupOptions: {
output: { output: {
entryFileNames: 'script.js', entryFileNames: 'script.js',
chunkFileNames: 'chunk-[name]-[hash].js', chunkFileNames: '[name].js',
assetFileNames: ({ name }) => { assetFileNames: ({ name }) => {
if (name && name.endsWith('.css')) { if (name && name.endsWith('.css')) {
return 'style.css'; return 'style.css';