حجب جميع أنواع الإعلانات ب Pi-Hole

خادم ®Pi-hole

  1. ما هو pi-hole

يعتبر Pi-hole خادم DNS/Web مانعا للإعلانات .
يطلق على نفسه “ثقب أسود لإعلانات الإنترنت”. وهو يعمل عن طريق تشغيل جميع طلبات الخادم التي تخرج بالمقارنة مع القائمة السوداء الداخلية و لتحقيق ذلك، ستحتاج إلى تعيين Pi-Hole كخادم DNS.
وهذا يعني أن Pi-Hole هو المسؤول عن توجيه جميع حركة المرور على الإنترنت داخل وخارج الشبكة المحلية. ونتيجة لذلك، لديه القدرة على كتم انتقائي لبعض الطلبات الصادرة. إذا قام Pi-Hole برصد طلب اتصال يطابق قائمته السوداء، فإنه يمنع هذا الطلب من الوصول إلى خادم الإعلانات أو الوجهة النهائية له. أكثر من 10،000 من النطاقات على القائمة السوداء، وهذا يعني عدم تحميل أي إعلانات، لذلك يتم حفظ عرض النطاق الترددي وتحسين سرعة الاتصال. كما اننا سنقوم بجعله يحمي من المواقع الاباحية وكما الضارة .
Pi-Hole ليس مجرد مانع للإعلانات، على حد سواء. يمكنه أيضا حماية الشبكة ضد جميع أنواع ناقلات الهجوم على شبكة الإنترنت. ويشمل النظام أيضا بوابة قوية على شبكة الإنترنت لرصد وتدقيق عملية Pi-Hole.
والأفضل من ذلك كله، هو أن كل هذا مجاني ومفتوح المصدر. الجزء الوحيد الذي ليس مفتوح المصدر هو الاسم والشعار، والتي تم تسجيلها كعلامات تجارية.

  • مانع إعلانات على مستوى الشبكة من خلال أجهزة Linux الخاصة بك
  • ®Pi-hole عبارة عن برنامج لنظام أسماء النطاقات يحمي أجهزتك من المحتوى غير المرغوب فيه ، دون تثبيت أي برنامج من جانب العميل
  • سهل التثبيت : يرشدك المثبت متعدد الاستخدامات خلال العملية ويستغرق أقل من عشر دقائق
  • حازم : يتم حظر المحتوى في مواقع لا توجد بها مستعرضات ، مثل تطبيقات الهاتف المحمول المحملة بالإعلانات وأجهزة التلفزيون الذكية
  • متجاوب : يعمل على تسريع التصفح اليومي عن طريق تخزين استعلامات DNS مؤقتًا (caching DNS queries)
  • يعمل بسلاسة مع الحد الأدنى من متطلبات الأجهزة والبرامج
  • متين : واجهة سطر أوامر مضمونة الجودة لإمكانية التشغيل البيني
  • سلس : لوحة معلومات جميلة وواجهة ويب سريعة الاستجابة لعرض Pi-hole والتحكم فيه
  • متعدد الاستخدامات: يمكن أن يعمل اختياريًا كخادم DHCP ، مما يضمن حماية جميع أجهزتك تلقائيًا
  • قوي : قادرة على التعامل مع مئات الملايين من الاستعلامات عند تثبيتها على أجهزة من فئة الخادم
  • حديث : يحظر الإعلانات عبر كل من IPv4 و IPv6
  • مجاني : برنامج مفتوح المصدر يساعد على ضمان أنك الشخص الوحيد الذي يتحكم في خصوصيتك

  1. يستخدم التقنيات التالية :
  • خادم DNS و DHCP خفيف الوزن - dnsmasq
  • أداة سطر أوامر لنقل البيانات عبر رابط - curl
  • خادم الويب مصمم ومُحسَّن لتحقيق أداء عالٍ - lighttpd
  • لغة برمجة نصية على الويب متعددة الاستعمال - php
  • لوحة تحكم إدارية متميزة تعتمد على AdminLTE Dashboard -Bootstrap 3.x -
  • محرك قاعدة بيانات SQL - sqlite3
  1. متطلبات التشغيل
  • Pi-hole خفيف الوزن جدًا ولا يتطلب طاقة معالجة كبيرة(CPU).
  • أدنى مستوى مساحة خالية تقدر ب 2 جيجا بايت ، يوصى بـ 4 جيجا بايت مساحة التخزين(HDD/SSD).
  • 512 ميجا رام (RAM)
  • يتم دعم Pi-hole في التوزيعات باستخدام systemd أو sysvinit!
  1. أنظمة التشغيل التالية مدعومة رسميًا :
التوزيعة الاصدار معمارية
Ubuntu 16.xx 18.xx 20.xx 21.xx 22.xx ARM / x86_64
Debian Stretch / Buster / Bullseye ARM / x86_64
Fedora 33/ 34 / 35 / 36 ARM / x86_64
CentOS 7 / 8 ARM / x86_64
  1. الخدمات :
الخدمات المنفذ بروتوكول ملاحظة
pihole-FTL 53 (DNS) TCP/UDP إذا كان لديك خادم DNS آخر قيد التشغيل ، مثل BIND ، فستحتاج إلى إيقاف تشغيله حتى يتمكن Pi-hole من الرد على استفسارات DNS.
pihole-FTL 67 (DHCP) IPv4 UDP خادم DHCP هو ميزة اختيارية تتطلب منافذ إضافية
pihole-FTL 547 (DHCPv6) IPv6 UDP .خادم DHCP هو ميزة اختيارية تتطلب منافذ إضافية
lighttpd 80 (HTTP) TCP إذا كان لديك خادم ويب آخر قيد التشغيل بالفعل ، مثل Apache ، فلن يعمل خادم الويب الخاص بـ Pi-hole. يمكنك إما تعطيل خادم الويب الآخر أو تغيير المنفذ الذي يستمع lighttpd عليه ، مما يسمح لك بالحفاظ على خادمي الويب قيد التشغيل.
pihole-FTL 4711 TCP FTL هو محرك API الخاص بنا ويستخدم المنفذ 4711 على واجهة المضيف المحلي. يجب ألا يكون هذا المنفذ قابلاً للوصول من أي واجهة أخرى.

5 . التثبيت :
سأستعرض التتبيت بعدة طرق اختر ما يناسبك

يلزمك مستخدم الجذر root او صلاحية sudo

  • التثبيت الآلي بخطوة واحدة
curl -sSL https://install.pi-hole.net | bash
  • البديل 1 : استنساخ المستودع وتشغيله
git clone --depth 1 https://github.com/pi-hole/pi-hole.git Pi-hole
cd "Pi-hole/automated install/"
sudo bash basic-install.sh
  • البديل 2 : تنزيل برنامج التثبيت وتشغيله يدويًا
wget -O basic-install.sh https://install.pi-hole.net
sudo bash basic-install.sh
  • البديل 3: استخدم docker لنشر Pi-hole¶

[GitHub - pi-hole/docker-pi-hole: Pi-hole in a docker container](https://مستودع docker-pihole)

version: "3"

# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/
services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    #بالنسبة لـ DHCP ، يوصى بإزالة هذه المنافذ وإضافتها 
network_mode: "host"
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "67:67/udp"
      #مطلوب فقط إذا كنت تستخدم Pi-hole كخادم DHCP الخاص بك
      - "80:80/tcp"
    environment:
      TZ: 'Africa/Casablanca'
     #WEBPASSWORD: "ضع كلمة مرور آمنة هنا وإلا ستكون عشوائية"
    volumes: 
    #تخزن الأحجام بياناتك بين ترقيات الحاوية
      - './etc-pihole:/etc/pihole'
      - './etc-dnsmasq.d:/etc/dnsmasq.d'    
    #   https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
    cap_add:
      - NET_ADMIN #موصى به ولكنه غير مطلوب (يحتاج DHCP إلى NET_ADMIN) 
    restart: unless-stopped
  • البديل 4: استخدم docker لنشر Pi-hole عبر شيلسكريبت
    قم بنسخ السكريبت واعطه صلاحية التنفيد وسغله لتبيت
#!/bin/bash

# https://github.com/pi-hole/docker-pi-hole/blob/master/README.md

PIHOLE_BASE="${PIHOLE_BASE:-$(pwd)}"
[[ -d "$PIHOLE_BASE" ]] || mkdir -p "$PIHOLE_BASE" || { echo "Couldn't create storage directory: $PIHOLE_BASE"; exit 1; }

# Note: ServerIP should be replaced with your external ip.
docker run -d \
    --name pihole \
    -p 53:53/tcp -p 53:53/udp \
    -p 80:80 \
    -e TZ="Africa/Casablanca" \
    -e WEBPASSWORD:"password" \
    -v "${PIHOLE_BASE}/etc-pihole/:/etc/pihole/" \
    -v "${PIHOLE_BASE}/etc-dnsmasq.d/:/etc/dnsmasq.d/" \
    --dns=127.0.0.1 --dns=1.1.1.1 \
    --restart=unless-stopped \
    --hostname pi.hole \
    -e VIRTUAL_HOST="pi.hole" \
    -e PROXY_LOCATION="pi.hole" \
    -e ServerIP="127.0.0.1" \
    pihole/pihole:latest

printf 'Starting up pihole container '
for i in $(seq 1 20); do
    if [ "$(docker inspect -f "{{.State.Health.Status}}" pihole)" == "healthy" ] ; then
        printf ' OK'
        echo -e "\n$(docker logs pihole 2> /dev/null | grep 'password:') for your pi-hole: https://${IP}/admin/"
        exit 0
    else
        sleep 3
        printf '.'
    fi

    if [ $i -eq 20 ] ; then
        echo -e "\nTimed out waiting for Pi-hole start, consult your container logs for more info (\`docker logs pihole\`)"
        exit 1
    fi
done;

هذا الموضوع فائز بجائزة أسس للكتابة

هذا الموضوع فائز بجائزة أسس للكتابة وهي اول جائزة عربية مخصصة للكتابة عن البرمجيات الحرة والمفتوحة.

الموضوع متوفر على مدونة gnulinuxsa هنا:

5 إعجابات

عند النقطة الخامسة : التثبيت
" الجدر" ← الجذر

إعجاب واحد (1)

موضوع قيم وسرد جميل، شكر الله لك

إعجاب واحد (1)

شكرا لك ستكون له تتمة بإذن الله

موضوع مميز :+1: يستحق التجربة

قبل وبعد

إعجاب واحد (1)

جميل جدا سنقوم بالرفع اكتر في المقال الموالي بإذن الله