GNU/Linux Sistemleri İçin Host Engelleme Yöneticisi v1.0

Programlama ve Script dilleri konusunda bilgi paylaşım alanıdır.
Cevapla
Kullanıcı avatarı
TRWE_2012
Zettabyte1
Zettabyte1
Mesajlar: 15218
Kayıt: 25 Eyl 2013, 13:38
cinsiyet: Erkek
Teşekkür etti: 2526 kez
Teşekkür edildi: 5344 kez

GNU/Linux Sistemleri İçin Host Engelleme Yöneticisi v1.0

Mesaj gönderen TRWE_2012 »

Merhaba

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 MENU
Windows versiyonun , GNU/Linux OS versiyonu'dur.

KOD İÇ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
KOD İÇERİK AÇIKLAMASI :

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.sh
komutu ile çalıştırılabilir yapın.

3. Adım

Terminalden

Kod: Tümünü seç

./hosts_engelleyici.sh
yazarak çalıştırın.

Not

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ı
Kullanıcı avatarı
Kayserilifatih
Petabyte4
Petabyte4
Mesajlar: 9513
Kayıt: 30 Ağu 2024, 20:48
cinsiyet: Erkek
Teşekkür etti: 932 kez
Teşekkür edildi: 7048 kez

Re: GNU/Linux Sistemleri İçin Host Engelleme Yöneticisi v1.0

Mesaj gönderen Kayserilifatih »

Windowsta hosts dosyasını editlemeyi pek kullanmadım fakat kullanan arkadaşların işine yarayabilir
Kullanıcı avatarı
burak35
Zettabyte3
Zettabyte3
Mesajlar: 17567
Kayıt: 07 Eki 2016, 13:06
cinsiyet: Erkek
Teşekkür etti: 10126 kez
Teşekkür edildi: 11791 kez

Re: GNU/Linux Sistemleri İçin Host Engelleme Yöneticisi v1.0

Mesaj gönderen burak35 »

Hey maşallah.
Cevapla

“Programlama ve Script dilleri” sayfasına dön