Raspberry Pi'de Changedetection.io Çalıştırma

Bu yazı, PiMyLifeUp - Running Changedetection.io on the Raspberry Pi kaynağından Türkçe'ye çevrilerek hazırlanmıştır.

Bu eğitim, Raspberry Pi'nizde changedetection.io'yu nasıl çalıştırabileceğinizi gösterecek.

Raspberry Pi Changedetection.io

Changedetction.io, belirli bir web sitesinde değişiklik yapılıp yapılmadığını tespit etmek üzere tasarlanmış bir hizmettir. Bu, Python web sitesi izleyici projemizin daha gelişmiş bir sürümü gibidir.

Bu hizmet, bir sayfanın çıktısını periyodik olarak alarak çalışır. Ardından, bir değişiklik fark edildiğinde, hizmet size bir bildirim gönderebilir ve son güncellemeden bu yana tam olarak neyin değiştiğini görmenizin kolay bir yolunu sunar.

Raspberry Pi, 7/24 çalışır bırakılması uygun fiyatlı olan nispeten düşük güçlü bir cihaz olduğundan, Changedetection.io için mükemmel bir seçimdir.

En iyi deneyim için, Raspberry Pi OS'nin 64-bit sürümünü kullanmanız gerektiğini lütfen unutmayın. Ancak, Changedetection.io yine de 32-bit'te iyi çalışır. Sadece görüntülemek için JavaScript gerektiren web sitelerindeki değişiklikleri tespit edemezsiniz.

Raspberry Pi'nizi Changedetection.io İçin Hazırlama

Bu web sitesi değişiklik tespit aracını kurabilmemiz için, bazı ilk yazılımları kurmamız gerekiyor. Kurmamız gereken ana şey Docker'dır.

Raspberry Pi'de Changedetection.io'yu kurup çalıştırmanın en kolay yolu bir docker konteyneri üzerindendir.

1. Devam etmeden önce, paket listelerinde ve güncel olmayan tüm paketlerde bir güncelleme yapmalıyız.

Her iki işlemi de gerçekleştirmek için aşağıdaki iki komutu çalıştırabilirsiniz.

sudo apt update
sudo apt upgrade

2. Paket listeniz güncel olduğuna göre, şimdi Raspberry Pi'ye Docker kurma rehberimizi takip etmeniz gerekecek.

Raspberry Pi'mizde Changedetection.io'yu kurup ayarlamayı nispeten basit bir süreç haline getirmek için Docker kullanacağız.

Raspberry Pi'ye Changedetection.io Kurulumu

Raspberry Pi'nize Docker kurduktan sonra, üzerine Changedetection.io kurmaya geçebiliriz.

Bu web sitesi değişiklik izleyicisi bir docker imajı olarak mevcut olduğundan, yapmamız gereken tek şey hızlı bir Docker yapılandırma dosyası yazmak ve ardından onu "çalıştırmak"tır.

1. Oluşturmak üzere olduğumuz "compose.yml" dosyasını saklayacağımız bir dizin oluşturarak başlayalım.

mkdir komutunu kullanarak mevcut kullanıcınızın ana dizini içinde "changedetection" adlı bir dizin oluşturabiliriz.

sudo mkdir -p /opt/stacks/changedetection

2. Yeni dizinimiz oluşturulduktan sonra, aşağıda gösterildiği gibi cd komutunu kullanarak içine geçmemiz gerekiyor.

cd /opt/stacks/changedetection

3. Nano metin editörünü kullanarak "docker-compose.yml" dosyasını yazmaya başlayabiliriz.

Bu dosya, Docker'a bir veya birden fazla konteyneri nasıl kuracağını söyler. Bizim durumumuzda, bu "changedetection.io" ve Chromium web sürücüsü olacak.

sudo nano compose.yaml

4. Bu dosyanın içine, Raspberry Pi OS'nin 64-bit veya 32-bit bir sürümünü çalıştırmanıza bağlı olarak aşağıdaki satırları girmek isteyeceksiniz.

Bu iki kod grubu arasındaki tek fark, 32-bit bir Raspberry Pi OS'de Changedetection.io'nun istediği bağımsız (standalone) Chrome tarayıcısını çalıştıramamamızdır.

Raspberry Pi OS 64-bit İçin Compose.yaml

services:
    changedetection:
      image: ghcr.io/dgtlmoon/changedetection.io
      container_name: changedetection
      hostname: changedetection
      environment:
        - PLAYWRIGHT_DRIVER_URL=ws://playwright-chrome:3000
      volumes:
        - changedetection-data:/datastore
      ports:
        - 5000:5000
      restart: unless-stopped
      depends_on:
          playwright-chrome:
              condition: service_started

    playwright-chrome:
        hostname: playwright-chrome
        image: dgtlmoon/sockpuppetbrowser:latest
        cap_add:
            - SYS_ADMIN
        restart: unless-stopped
        environment:
            - SCREEN_WIDTH=1920
            - SCREEN_HEIGHT=1024
            - SCREEN_DEPTH=16
            - MAX_CONCURRENT_CHROME_PROCESSES=10
volumes:
  changedetection-data:

Raspberry Pi OS 32-bit İçin Compose.yaml

services:
    changedetection:
      image: ghcr.io/dgtlmoon/changedetection.io
      container_name: changedetection
      hostname: changedetection
      volumes:
        - changedetection-data:/datastore
      ports:
        - 5000:5000
      restart: unless-stopped
volumes:
  changedetection-data:

5. Raspberry Pi OS sürümünüz için Changedetection.io yapılandırmasını yazdıktan sonra, artık metin editöründen kaydedip çıkabilirsiniz.

CTRL + X, ardından Y ve son olarak ENTER tuşuna basarak kaydedip çıkabilirsiniz.

6. Son olarak, terminalde aşağıdaki komutu çalıştırarak Raspberry Pi'mizde Changedetection.io'yu başlatabiliriz.

Bu komutu çalıştırarak, Docker "compose.yaml" dosyamızda belirtilen tüm imajları indirecek ve konteynerleri başlatacaktır.

docker compose up -d

Changedetection.io Web Arayüzü

Artık Changedetection.io yazılımını Raspberry Pi'mize kurduğumuza göre, sonunda web arayüzüne erişebiliriz.

Eğitimin bu kısmı, web arayüzüne nasıl erişeceğinizi gösterecek ve size hızlı bir genel bakış sunacak.

Web Arayüzüne Erişim

1. changedetection.io web arayüzüne ya doğrudan Raspberry Pi'nizde ya da yerel bir cihazdan erişerek ulaşabilirsiniz.

Raspberry Pi'nizin yerel IP adresini almak için, hostname komutundan yararlanabilirsiniz.

hostname -I

Docker tarafından oluşturulan bir sürü farklı IP adresi göreceğinizi lütfen unutmayın. Genellikle, cihazınızın IP adresi listelenen ilk adres olacaktır.

Örneğin, Raspberry Pi'miz için yerel IP adresi aşağıdakiydi.

192.168.0.134

2. IP adresiniz elinizin altında olduğunda, web tarayıcınızda aşağıdaki adrese gidin.

Burada fark edeceğiniz ana şey "5000" portunu kullandığımızdır, çünkü changedetection.io varsayılan olarak bunu kullanır.

"IPADDRESS" kısmını bir önceki adımda aldığınız IP adresiyle veya yerel olarak bağlanıyorsanız "localhost" ile değiştirdiğinizden emin olun.

http://IPADRESI:5000

Raspberry Pi'nizin Changedetection.io Web Arayüzünü Kullanma

3. Changedetection.io web arayüzü açık olduğunda, yapmak isteyeceğiniz ilk şeylerden biri değişiklikleri izlemek için bir web sitesi eklemektir.

Bunu doğrudan gösterge panelinden kolayca yapabilirsiniz.

  1. Öncelikle, Raspberry Pi'nizin değişiklikler için izlemesini istediğiniz URL'yi (1.) girmek isteyeceksiniz.
  2. Ardından, isteğe bağlı olarak bu belirli değişiklik tespit izleyicisi için bir grup adı (2.) belirtebilirsiniz.
  3. Şimdi "Watch" düğmesine tıklayarak bu izleyiciyi hemen kaydetme seçeneğiniz var (3.). Alternatif olarak, izleme başlamadan önce "Edit > Watch" düğmesine tıklayarak gelişmiş seçenekleri düzenlemeyi seçebilirsiniz (4.).

Sonraki adımlarda, Raspberry Pi'nizin web sitesi değişiklik dedektörünü daha fazla yapılandırmak istediğinizi varsayacağız.

Değişiklikleri izlemek için yeni web sitesi ekleme

4. Changedetection.io web arayüzündeki "General" ayarlar sayfasına göz atarak başlayacağız.

Değişiklikler için izlenmesini istediğiniz URL gibi ayrıntıları kontrol edebilirsiniz. Ayarlamak isteyebileceğiniz temel şeylerden biri "Time Between Check" seçeneğidir.

Bu seçeneği kullanarak, Changedetection.io'nun bir değişiklik olup olmadığını kontrol etmeden önce ne kadar bekleyeceğini seçebilirsiniz.

Genel İzleyici Ayarları

5. Sıradaki "Request" sekmesi. Bu sayfadaki seçenekler, Raspberry Pi'nizin web sitesi değişiklik dedektörünün isteğini nasıl yapacağını kontrol eder.

Bu sayfadaki seçenekleri kullanarak bir istek yapıldığında kullanılan başlıkları (header) ve gövdeyi (body) kontrol edebilirsiniz.

Ayarlamak isteyebileceğiniz temel seçeneklerden biri "fetch method"tur.

  1. Basic fast Plaintext/HTTP Client: Bu, bir web sitesinde değişiklik olup olmadığını kontrol etmenin en hızlı yoludur. Basitçe sayfayı alıp düz metni karşılaştırır. Bu yöntem, JavaScript konusunda endişelenmeniz gerekmediğinde harikadır.
  2. WebDriver Chrome/JavaScript: Kontrol ettiğiniz web sitesi görüntülenmek için JavaScript gerektiriyorsa, bu seçeneği kullanmak isteyeceksiniz. Bonus olarak, Changedetection.io kontrolünü gerçekleştirdiğinde web sitesinin bir ekran görüntüsünü de alacaktır. Raspberry Pi'nizde 32-bit bir işletim sistemi çalıştırıyorsanız bu seçeneği seçemeyeceğinizi lütfen unutmayın.

Raspberry Pi Changedetection.io İstek Ayarları

6. İnceleyeceğimiz bir sonraki sekme "Filters & Triggers" sekmesidir.

Bu sekmedeki seçenekleri içeriği filtrelemek veya ek tetikleyiciler eklemek için kullanabilirsiniz. Örneğin, sürekli değişen belirli bir öğe varsa, bunu görmezden gelmek için bu seçenekleri kullanabilirsiniz.

Ayrıca, bir değişiklik bildirimini tetiklemek için metin de ayarlayabilirsiniz. "Trigger/wait for text" seçeneği yapılandırıldığında, bir bildirim yalnızca o metin veya regex sayfada bulunursa gönderilir.

Filtreler ve Tetikleyiciler

7. İncelediğimiz son sekme muhtemelen en önemlilerden biri, "Notifications" sekmesi.

Bu sekmeyle, Raspberry Pi'niz web sitenizde bir değişiklik olduğunu fark ettiğinde bildirimlerin nereye gönderilmesi gerektiğini ayarlayabilirsiniz.

Desteklenen URL'ler ve biçimleri hakkında AppRise GitHub'ında bilgi alabilirsiniz.

Changedetection.io Bildirim Ayarları

8. Aşağıda, artık Raspberry Pi'mizde Changedetection.io'nun çalıştığını ve yeni eklediğimiz URL'nin değişiklikler için izlendiğini görebilirsiniz.

Raspberry Pi'de Çalışan Changedetection.io

Raspberry Pi'de Changedetection.io'yu Güncelleme

Bu bölümde, Raspberry Pi'nizde Changedetection yazılımını güncellemenin hızlı ve kolay adımlarında size rehberlik edeceğiz.

Bu yazılımı çalıştırmak için Docker kullandığımızdan, onu birkaç kısa komutla güncelleyebiliriz.

1. İlk adımınız, Changedetection için Compose dosyasını yazdığımız dizine geçmektir.

Bu eğitimi tam olarak takip ettiyseniz, aşağıdaki komutu kullanarak bu dizine ulaşabilmeniz gerekir.

cd /opt/stacks/changedetection

2. Doğru yerdeyken, aşağıdaki komutu çalıştırarak Docker'ın Changedetection'ın en son sürümünü Raspberry Pi'mize çekmesini sağlayabiliriz.

Docker, yalnızca yeni bir sürüm mevcutsa imajı indirecek ve ardından yalnızca güncellenen katmanları indirecektir.

docker compose pull

3. Son olarak, yeni bir sürüm indirildikten sonra, Docker'ın konteyneri yeniden başlatıp yeni imaja geçmesini sağlamanız gerekir.

Bunu, yazılımı başlatmak için kullandığınız aynı komutu kullanarak başarabilirsiniz. Docker'ın yeni imajı kontrol etmesini ve ona geçmesini sağlamak için aşağıdaki komutu çalıştırın.

docker compose up -d

Sonuç

Bu eğitimin bu noktasında, artık Raspberry Pi'nizde Changedetection.io yazılımı çalışıyor olmalıdır.

Bu yazılım, bir web sitesinde periyodik olarak bir değişiklik olup olmadığını kolayca kontrol etmenizi sağlar.

Bu web sitesi değişiklik dedektörünü cihazınızda çalışır hale getirirken herhangi bir sorunla karşılaşırsanız, aşağıya yorum bırakın.