Bu kodlama ;
Kod: Tümünü seç
@echo off
color 0A
setlocal EnableDelayedExpansion
set HOSTS=%SystemRoot%\System32\drivers\etc\hosts
set BACKUP=%SystemRoot%\System32\drivers\etc\hosts.bak_sordum
:MENU
cls
echo =====================================
echo HOSTS DOSYASI ENGELLEYICI ARACI
echo =====================================
echo [1] Site engelle (kendi siteni gir)
echo [2] Geri al (eski haline don)
echo [3] Cikis
echo =====================================
set /p secim=Seciminiz (1-3):
if "%secim%"=="1" goto ENGELLE
if "%secim%"=="2" goto UNDO
if "%secim%"=="3" exit
goto MENU
:ENGELLE
echo.
if not exist "%BACKUP%" (
echo [BILGI] Yedek olusturuluyor...
copy "%HOSTS%" "%BACKUP%" >nul
echo [OK] Yedeklendi: hosts.bak_sordum
)
:: Kullanıcıdan siteleri al
echo Ornek: www.porn.com.tr www.abc.com www.kumar.com
set /p SITELER=Engellenecek site(leri) aralarina bosluk koyarak girin:
:: Her siteyi ekle
for %%S in (%SITELER%) do (
echo 127.0.0.1 %%S >> "%HOSTS%"
echo 127.0.0.1 www.%%S >> "%HOSTS%" 2>nul
)
ipconfig /flushdns >nul
echo.
echo [✓] Siteler eklendi ve DNS temizlendi.
pause
goto MENU
:UNDO
echo.
if exist "%BACKUP%" (
copy /Y "%BACKUP%" "%HOSTS%" >nul
ipconfig /flushdns >nul
echo [✓] Geri yukleme basarili, DNS temizlendi.
) else (
echo [UYARI] Geri yukleme icin yedek dosya bulunamadi!
)
pause
goto MENUKOD İÇERİĞİ :
Kod: Tümünü seç
#!/bin/bash
# Terminal rengi
GREEN='\033[0;32m'
NC='\033[0m' # Renk sıfırlama
HOSTS="/etc/hosts"
BACKUP="/etc/hosts.bak_sordum"
function menu() {
clear
echo "====================================="
echo " HOSTS DOSYASI ENGELLEYICI ARACI"
echo " (GNU/Linux Mint 21.1 x64 uyumlu)"
echo "====================================="
echo "[1] Site engelle (kendi siteni gir)"
echo "[2] Geri al (eski haline dön)"
echo "[3] Çıkış"
echo "====================================="
read -p "Seçiminiz (1-3): " secim
case $secim in
1) engelle ;;
2) geri_al ;;
3) exit ;;
*) menu ;;
esac
}
function engelle() {
echo
if [ ! -f "$BACKUP" ]; then
echo "[BILGI] Yedek oluşturuluyor..."
sudo cp "$HOSTS" "$BACKUP"
echo -e "${GREEN}[OK] Yedeklendi: hosts.bak_sordum${NC}"
fi
echo "Örnek giriş: www.porn.com www.kumar.net"
read -p "Engellenecek site(leri) boşlukla ayırarak girin: " SITELER
for SITE in $SITELER; do
echo "127.0.0.1 $SITE" | sudo tee -a "$HOSTS" > /dev/null
echo "127.0.0.1 www.$SITE" | sudo tee -a "$HOSTS" > /dev/null
done
echo
sudo systemd-resolve --flush-caches 2>/dev/null || sudo resolvectl flush-caches
echo -e "${GREEN}[✓] Siteler eklendi ve DNS temizlendi.${NC}"
read -p "Devam etmek için bir tuşa basın..."
menu
}
function geri_al() {
echo
if [ -f "$BACKUP" ]; then
sudo cp "$BACKUP" "$HOSTS"
sudo systemd-resolve --flush-caches 2>/dev/null || sudo resolvectl flush-caches
echo -e "${GREEN}[✓] Geri yükleme başarılı, DNS temizlendi.${NC}"
else
echo "[UYARI] Geri yükleme için yedek dosya bulunamadı!"
fi
read -p "Devam etmek için bir tuşa basın..."
menu
}
menu
Kurulum ve Kullanım
1. Adım
Script’i hosts_engelleyici.sh adında kaydedin.
2. Adım
Kod: Tümünü seç
chmod +x hosts_engelleyici.sh3. Adım
Terminalden
Kod: Tümünü seç
./hosts_engelleyici.shNot
Komutlar sudo ile çalıştığı için şifreniz istenebilir.
Ek Bilgiler:
Yedekleme
/etc/hosts.bak_sordum olarak alınır.
Geri alma
Yedekten geri kopyalanır.
DNS temizliği
systemd-resolve veya resolvectl ile yapılır.
Güle güle kullanın...
TRWE_2012
Alaydan Yetişme PC Kullanıcısı



