Skip to content

Commit 2f9c378

Browse files
committed
feat: tema geçişi düzeltildi, footer güncellendi ve 8 yeni araç eklendi
🎨 Tema Geçişi Düzeltmeleri: - ThemeProvider defaultTheme 'light' olarak ayarlandı - enableSystem false yapıldı (sistem teması devre dışı) - ThemeToggle direkt theme state'i kullanıyor - Kullanıcı manuel olarak light/dark seçebiliyor 🎨 Footer Güncellemesi: - GitHub ve MIT License linkleri kaldırıldı - Daha minimal görünüm - Sadece sosyal medya ikonları kaldı 🚀 Yeni Araçlar (8 adet): Network Tools: - Bandwidth Monitor (Python) - Gerçek zamanlı bant genişliği izleme - WiFi Scanner (Python) - WiFi ağ tarama ve sinyal gücü System Tools: - Memory Cleaner (Batch) - RAM temizleme ve optimizasyon Security Tools: - USB Monitor (Python) - USB cihaz takip ve loglama Automation: - Task Scheduler (Batch) - Zamanlanmış görev oluşturma Toplam araç sayısı: 21 → 29 (+8)
1 parent ef31098 commit 2f9c378

File tree

4 files changed

+326
-25
lines changed

4 files changed

+326
-25
lines changed

components/Footer.tsx

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -66,25 +66,7 @@ export default function Footer() {
6666
</svg>
6767
</a>
6868

69-
<span className="text-gray-300 dark:text-gray-600">|</span>
7069

71-
{/* Links */}
72-
<a
73-
href="https://github.com/ibidi/it-toolkit"
74-
target="_blank"
75-
rel="noopener noreferrer"
76-
className="text-gray-600 dark:text-gray-400 hover:text-black dark:hover:text-white transition-colors text-sm"
77-
>
78-
GitHub
79-
</a>
80-
<a
81-
href="https://github.com/ibidi/it-toolkit/blob/main/LICENSE"
82-
target="_blank"
83-
rel="noopener noreferrer"
84-
className="text-gray-600 dark:text-gray-400 hover:text-black dark:hover:text-white transition-colors text-sm"
85-
>
86-
MIT License
87-
</a>
8870
</div>
8971
</div>
9072
</div>

components/ThemeProvider.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ export function ThemeProvider({ children }: { children: ReactNode }) {
77
return (
88
<NextThemesProvider
99
attribute="class"
10-
defaultTheme="system"
11-
enableSystem
10+
defaultTheme="light"
11+
enableSystem={false}
1212
disableTransitionOnChange
1313
>
1414
{children}

components/ThemeToggle.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,13 @@ export default function ThemeToggle() {
2121
)
2222
}
2323

24-
const currentTheme = theme === 'system' ? resolvedTheme : theme
25-
2624
return (
2725
<button
28-
onClick={() => setTheme(currentTheme === 'dark' ? 'light' : 'dark')}
26+
onClick={() => setTheme(theme === 'dark' ? 'light' : 'dark')}
2927
className="p-2 rounded-lg border-2 border-black dark:border-white hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors"
3028
aria-label="Toggle theme"
3129
>
32-
{currentTheme === 'dark' ? (
30+
{theme === 'dark' ? (
3331
<Sun className="w-5 h-5 text-black dark:text-white" />
3432
) : (
3533
<Moon className="w-5 h-5 text-black dark:text-white" />

lib/tools-data.ts

Lines changed: 322 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export interface Tool {
44
category: 'network' | 'system' | 'security' | 'automation'
55
description: string
66
fileName: string
7-
language: 'python' | 'batch'
7+
language: 'python' | 'batch' | 'bash' | 'powershell' | 'javascript'
88
features: string[]
99
usage: string
1010
code: string
@@ -1467,6 +1467,327 @@ pause`,
14671467
[+] HKEY_LOCAL_MACHINE\\SOFTWARE yedekleniyor...
14681468
14691469
[+] Yedekleme tamamlandi: registry_backup_20251028_1430`
1470+
},
1471+
{
1472+
id: 'bandwidth-monitor',
1473+
name: 'Bandwidth Monitor',
1474+
category: 'network',
1475+
description: 'Ağ bant genişliği izleme aracı. Gerçek zamanlı download/upload hızını gösterir.',
1476+
fileName: 'bandwidth_monitor.py',
1477+
language: 'python',
1478+
features: [
1479+
'Gerçek zamanlı bant genişliği izleme',
1480+
'Download/Upload hızı',
1481+
'Toplam veri transferi',
1482+
'Grafik gösterim'
1483+
],
1484+
usage: 'python network-tools/bandwidth_monitor.py',
1485+
code: `"""
1486+
Bant Genişliği İzleyici
1487+
Ağ trafiğini gerçek zamanlı izler.
1488+
"""
1489+
import psutil
1490+
import time
1491+
1492+
def get_size(bytes):
1493+
for unit in ['B', 'KB', 'MB', 'GB']:
1494+
if bytes < 1024:
1495+
return f"{bytes:.2f} {unit}"
1496+
bytes /= 1024
1497+
1498+
def monitor_bandwidth():
1499+
print("[+] Bant genişliği izleniyor... (Ctrl+C ile durdurun)\\n")
1500+
1501+
old_value = psutil.net_io_counters()
1502+
1503+
try:
1504+
while True:
1505+
time.sleep(1)
1506+
new_value = psutil.net_io_counters()
1507+
1508+
download = new_value.bytes_recv - old_value.bytes_recv
1509+
upload = new_value.bytes_sent - old_value.bytes_sent
1510+
1511+
print(f"\\rDownload: {get_size(download)}/s | Upload: {get_size(upload)}/s", end='')
1512+
1513+
old_value = new_value
1514+
1515+
except KeyboardInterrupt:
1516+
print("\\n\\n[+] İzleme durduruldu")
1517+
1518+
if __name__ == "__main__":
1519+
monitor_bandwidth()`,
1520+
example: `$ python bandwidth_monitor.py
1521+
[+] Bant genişliği izleniyor... (Ctrl+C ile durdurun)
1522+
1523+
Download: 2.45 MB/s | Upload: 512.34 KB/s`
1524+
},
1525+
{
1526+
id: 'wifi-scanner',
1527+
name: 'WiFi Scanner',
1528+
category: 'network',
1529+
description: 'WiFi ağlarını tarayan araç. Sinyal gücü, şifreleme tipi ve kanal bilgilerini gösterir.',
1530+
fileName: 'wifi_scanner.py',
1531+
language: 'python',
1532+
features: [
1533+
'WiFi ağ tarama',
1534+
'Sinyal gücü gösterimi',
1535+
'Şifreleme tipi tespiti',
1536+
'Kanal bilgisi'
1537+
],
1538+
usage: 'python network-tools/wifi_scanner.py',
1539+
code: `"""
1540+
WiFi Ağ Tarayıcı
1541+
Çevredeki WiFi ağlarını tarar.
1542+
"""
1543+
import subprocess
1544+
import re
1545+
1546+
def scan_wifi():
1547+
print("[+] WiFi ağları taranıyor...\\n")
1548+
1549+
result = subprocess.run(
1550+
['netsh', 'wlan', 'show', 'networks', 'mode=bssid'],
1551+
capture_output=True,
1552+
text=True
1553+
)
1554+
1555+
print("="*70)
1556+
print(" WiFi AĞLARI")
1557+
print("="*70)
1558+
1559+
networks = result.stdout.split('\\n\\n')
1560+
1561+
for network in networks:
1562+
if 'SSID' in network:
1563+
ssid = re.search(r'SSID \\d+ : (.+)', network)
1564+
signal = re.search(r'Signal\\s+: (\\d+)%', network)
1565+
auth = re.search(r'Authentication\\s+: (.+)', network)
1566+
1567+
if ssid:
1568+
print(f"\\nSSID: {ssid.group(1)}")
1569+
if signal:
1570+
strength = int(signal.group(1))
1571+
bars = '█' * (strength // 20)
1572+
print(f"Sinyal: [{bars:<5}] {strength}%")
1573+
if auth:
1574+
print(f"Güvenlik: {auth.group(1)}")
1575+
1576+
if __name__ == "__main__":
1577+
scan_wifi()`,
1578+
example: `$ python wifi_scanner.py
1579+
[+] WiFi ağları taranıyor...
1580+
1581+
======================================================================
1582+
WiFi AĞLARI
1583+
======================================================================
1584+
1585+
SSID: HomeNetwork
1586+
Sinyal: [████ ] 80%
1587+
Güvenlik: WPA2-Personal
1588+
1589+
SSID: OfficeWiFi
1590+
Sinyal: [███ ] 60%
1591+
Güvenlik: WPA2-Enterprise`
1592+
},
1593+
{
1594+
id: 'task-scheduler',
1595+
name: 'Task Scheduler',
1596+
category: 'automation',
1597+
description: 'Zamanlanmış görev oluşturucu. Belirli saatlerde script çalıştırma.',
1598+
fileName: 'task_scheduler.bat',
1599+
language: 'batch',
1600+
features: [
1601+
'Zamanlanmış görev oluşturma',
1602+
'Günlük/Haftalık görevler',
1603+
'Script otomasyonu',
1604+
'Görev yönetimi'
1605+
],
1606+
usage: 'task_scheduler.bat',
1607+
code: `@echo off
1608+
echo ========================================
1609+
echo GOREV ZAMANLAYICI
1610+
echo ========================================
1611+
echo.
1612+
1613+
echo [1] Yeni Gorev Olustur
1614+
echo [2] Gorevleri Listele
1615+
echo [3] Gorev Sil
1616+
echo [4] Cikis
1617+
echo.
1618+
1619+
set /p choice="Seciminiz: "
1620+
1621+
if "%choice%"=="1" (
1622+
set /p taskname="Gorev adi: "
1623+
set /p script="Script yolu: "
1624+
set /p time="Saat (HH:MM): "
1625+
1626+
schtasks /create /tn "%taskname%" /tr "%script%" /sc daily /st %time%
1627+
echo [+] Gorev olusturuldu
1628+
)
1629+
1630+
if "%choice%"=="2" (
1631+
schtasks /query /fo LIST /v
1632+
)
1633+
1634+
if "%choice%"=="3" (
1635+
set /p taskname="Silinecek gorev: "
1636+
schtasks /delete /tn "%taskname%" /f
1637+
echo [+] Gorev silindi
1638+
)
1639+
1640+
pause`,
1641+
example: `> task_scheduler.bat
1642+
========================================
1643+
GOREV ZAMANLAYICI
1644+
========================================
1645+
1646+
[1] Yeni Gorev Olustur
1647+
[2] Gorevleri Listele
1648+
[3] Gorev Sil
1649+
[4] Cikis
1650+
1651+
Seciminiz: 1
1652+
Gorev adi: DailyBackup
1653+
Script yolu: C:\\Scripts\\backup.bat
1654+
Saat (HH:MM): 02:00
1655+
[+] Gorev olusturuldu`
1656+
},
1657+
{
1658+
id: 'usb-monitor',
1659+
name: 'USB Monitor',
1660+
category: 'security',
1661+
description: 'USB cihaz takip sistemi. Takılan/çıkarılan USB cihazları loglar.',
1662+
fileName: 'usb_monitor.py',
1663+
language: 'python',
1664+
features: [
1665+
'USB cihaz izleme',
1666+
'Takma/çıkarma tespiti',
1667+
'Cihaz bilgileri',
1668+
'Log kayıt'
1669+
],
1670+
usage: 'python security-tools/usb_monitor.py',
1671+
code: `"""
1672+
USB Cihaz İzleyici
1673+
USB cihazlarını izler ve loglar.
1674+
"""
1675+
import psutil
1676+
import time
1677+
from datetime import datetime
1678+
1679+
def get_usb_devices():
1680+
devices = []
1681+
partitions = psutil.disk_partitions()
1682+
1683+
for partition in partitions:
1684+
if 'removable' in partition.opts.lower():
1685+
devices.append(partition.device)
1686+
1687+
return devices
1688+
1689+
def monitor_usb():
1690+
print("[+] USB cihazlar izleniyor... (Ctrl+C ile durdurun)\\n")
1691+
1692+
old_devices = set(get_usb_devices())
1693+
1694+
try:
1695+
while True:
1696+
time.sleep(2)
1697+
new_devices = set(get_usb_devices())
1698+
1699+
# Yeni takılan cihazlar
1700+
added = new_devices - old_devices
1701+
for device in added:
1702+
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
1703+
print(f"[{timestamp}] ✓ USB Takıldı: {device}")
1704+
1705+
# Log dosyasına yaz
1706+
with open('usb_log.txt', 'a') as f:
1707+
f.write(f"[{timestamp}] TAKILDI: {device}\\n")
1708+
1709+
# Çıkarılan cihazlar
1710+
removed = old_devices - new_devices
1711+
for device in removed:
1712+
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
1713+
print(f"[{timestamp}] ✗ USB Çıkarıldı: {device}")
1714+
1715+
with open('usb_log.txt', 'a') as f:
1716+
f.write(f"[{timestamp}] CIKARILDI: {device}\\n")
1717+
1718+
old_devices = new_devices
1719+
1720+
except KeyboardInterrupt:
1721+
print("\\n[+] İzleme durduruldu")
1722+
1723+
if __name__ == "__main__":
1724+
monitor_usb()`,
1725+
example: `$ python usb_monitor.py
1726+
[+] USB cihazlar izleniyor... (Ctrl+C ile durdurun)
1727+
1728+
[2025-10-29 14:30:15] ✓ USB Takıldı: E:\\
1729+
[2025-10-29 14:35:22] ✗ USB Çıkarıldı: E:\\`
1730+
},
1731+
{
1732+
id: 'memory-cleaner',
1733+
name: 'Memory Cleaner',
1734+
category: 'system',
1735+
description: 'RAM temizleme aracı. Kullanılmayan belleği temizler ve optimize eder.',
1736+
fileName: 'memory_cleaner.bat',
1737+
language: 'batch',
1738+
features: [
1739+
'RAM temizleme',
1740+
'Önbellek temizleme',
1741+
'Bellek optimizasyonu',
1742+
'Otomatik temizlik'
1743+
],
1744+
usage: 'memory_cleaner.bat',
1745+
code: `@echo off
1746+
echo ========================================
1747+
echo BELLEK TEMIZLEYICI
1748+
echo ========================================
1749+
echo.
1750+
1751+
echo [+] Mevcut bellek durumu:
1752+
systeminfo | findstr /C:"Available Physical Memory"
1753+
echo.
1754+
1755+
echo [+] Bellek temizleniyor...
1756+
echo.
1757+
1758+
REM Standby belleği temizle
1759+
echo [+] Standby bellek temizleniyor...
1760+
%windir%\\system32\\rundll32.exe advapi32.dll,ProcessIdleTasks
1761+
1762+
REM Çalışan belleği optimize et
1763+
echo [+] Bellek optimize ediliyor...
1764+
%windir%\\system32\\rundll32.exe kernel32.dll,SetProcessWorkingSetSize -1 -1
1765+
1766+
echo.
1767+
echo [+] Temizlik tamamlandi!
1768+
echo.
1769+
1770+
echo [+] Yeni bellek durumu:
1771+
systeminfo | findstr /C:"Available Physical Memory"
1772+
echo.
1773+
1774+
pause`,
1775+
example: `> memory_cleaner.bat
1776+
========================================
1777+
BELLEK TEMIZLEYICI
1778+
========================================
1779+
1780+
[+] Mevcut bellek durumu:
1781+
Available Physical Memory: 4,234 MB
1782+
1783+
[+] Bellek temizleniyor...
1784+
[+] Standby bellek temizleniyor...
1785+
[+] Bellek optimize ediliyor...
1786+
1787+
[+] Temizlik tamamlandi!
1788+
1789+
[+] Yeni bellek durumu:
1790+
Available Physical Memory: 6,128 MB`
14701791
}
14711792
]
14721793

0 commit comments

Comments
 (0)