Eggdrop

Eggdrop Userfile Paylaşımı: Botlar Arasında Kullanıcı Listesi Senkronizasyonu

· Güncelleme: · 5 dk okuma

Eggdrop Userfile Paylaşımı: Botlar Arasında Kullanıcı Listesi Senkronizasyonu
İçindekiler
  1. Userfile Nedir?
  2. Paylaşımın Ön Koşulları
  3. Paylaşım Bayrakları
  4. İlk Senkronizasyon
  5. Kanal Paylaşımı ve +shared
  6. Neler Paylaşılır, Neler Paylaşılmaz?
  7. Paylaşım Sorunlarını Çözmek
  8. Güvenlik Açısından Paylaşım
  9. Gerçek Bir Senaryo
  10. Sonuç

Birden fazla Eggdrop botu çalıştırıyorsanız en büyük zahmet her botu ayrı ayrı güncel tutmaktır. Yeni bir op eklediğinizde onu üç bota da tek tek eklemek, bir kişinin yetkisini aldığınızda üç botta da kaldırmak hem vakit kaybıdır hem de hataya açıktır. Bir botta unutulan eski bir kayıt, yetkisi alınmış birinin kanalda hâlâ op alabilmesi anlamına gelir. Eggdrop userfile paylaşımı bu sorunu ortadan kaldırır: Kullanıcı listesini tek bir yerde yönetirsiniz, değişiklikler botnet içindeki diğer botlara otomatik olarak dağıtılır.

Userfile Nedir?

Userfile, Eggdrop'un kullanıcı kayıtlarını sakladığı dosyadır. Her kullanıcının handle'ı, host maskeleri, parolası, global ve kanal bazlı bayrakları, ayrıca botun tuttuğu banlar, exempt'ler ve invite'lar bu dosyada yer alır. Dosyanın adı eggdrop.conf'taki userfile ayarıyla belirlenir. Bu dosya botun hafızasıdır; kaybolması, botun kimseyi tanımaması demektir. Bu yüzden yedeklenmesi kritik önem taşır; ayrıntılar yedekleme yazımızda.

Paylaşımın Ön Koşulları

Paylaşımın çalışması için birkaç şartın sağlanması gerekir:

  1. Botların bir botnet içinde birbirine bağlı olması. Kurulum için botnet kurulumu yazımıza bakın.
  2. Her iki botta da share ve transfer modüllerinin yüklü olması.
  3. Bot kayıtlarında doğru paylaşım bayraklarının tanımlanmış olması.

eggdrop.conf'ta modüllerin yüklü olduğunu kontrol edin:

loadmodule transfer
loadmodule share

Bu satırlar yorum satırı hâlindeyse başlarındaki # işaretini kaldırıp botu yeniden başlatın. Modül ayarlarına dair genel bilgiler eggdrop.conf ayarları yazımızda yer alıyor.

Paylaşım Bayrakları

Paylaşımın yönünü bot bayrakları belirler. Temel mantık şudur: Bir bot, diğerine "sen benden userfile alacaksın" ya da "ben senden userfile alacağım" der.

BayrakKimin kaydına konur?Anlamı
sGönderen botun, alıcı bot kaydınaBu bota userfile gönder
pAlıcı botun, gönderen bot kaydınaBu bottan userfile al
gHer iki taraftaBütün kanalların verilerini paylaş

Hub ve leaf düzeninde tipik ayar şöyledir. Hub botun partyline'ında leaf için:

.botattr Leaf1 +s

Leaf botun partyline'ında hub için:

.botattr Hub +p

Bu düzende hub "gönderici", leaf ise "alıcı" olur. Leaf'e doğrudan eklenen kullanıcılar hub'a yansımaz; bütün değişiklikleri hub üzerinde yapmalısınız. Bayrakların sürüme göre küçük farklılıkları olabileceği için kendi botunuzda .help botattr çıktısını okumanızı öneririz.

İlk Senkronizasyon

Bayraklar ayarlandıktan sonra botlar yeniden bağlandığında alıcı bot, gönderici bottan userfile'ın tamamını ister. Bu ilk aktarımda alıcı botun kendi userfile'ı gönderici botun kopyasıyla değiştirilir. Bu yüzden alıcı bota daha önce eklediğiniz ve hub'da bulunmayan kullanıcılar kaybolabilir. İlk senkronizasyondan önce her iki botun userfile'ını yedeklemek, sürpriz kayıpları önler.

İlk aktarım tamamlandıktan sonra botlar artık dosyanın tamamını değil, yalnızca değişiklikleri birbirine gönderir. Hub'da bir kullanıcıya bayrak verdiğinizde, birkaç saniye içinde aynı değişiklik leaf'lerde de uygulanır.

Kanal Paylaşımı ve +shared

Global kullanıcı kayıtları paylaşıldığında kanal bazlı bayrakların ve kanal banlarının da paylaşılması için kanalların paylaşımlı olarak işaretlenmesi gerekir. Her botta:

.chanset #kanal +shared

Paylaşımlı olmayan kanalların kanal bazlı verileri botlar arasında aktarılmaz. Bu, bazı kanalların yalnızca belirli botlarda yönetilmesini istediğiniz durumlarda işe yarar. Örneğin ana kanalınızı bütün botlar birlikte korurken, bir test kanalını yalnızca tek bir bot yönetebilir. Kanal ayarları hakkında daha fazlası chanset kanal ayarları yazımızda.

Neler Paylaşılır, Neler Paylaşılmaz?

Paylaşılan veriler arasında kullanıcı handle'ları, host maskeleri, parolalar, global bayraklar, paylaşımlı kanallardaki kanal bayrakları, global banlar ve paylaşımlı kanallardaki kanal banları bulunur. Botun kendi ayarları, eggdrop.conf içeriği, yüklenen scriptler ve bot kayıtlarının kendisi ise paylaşılmaz. Her botun kendi yapılandırması ve scriptleri ayrı ayrı yönetilmelidir.

Paylaşım Sorunlarını Çözmek

BelirtiOlası nedenÇözüm
Kullanıcı leaf'te görünmüyorKullanıcı leaf'e eklenmiş veya bayraklar yanlışKullanıcıyı hub'a ekleyin, bayrakları kontrol edin
Aktarım başlamıyorshare veya transfer modülü yüklü değilModülleri yükleyip botu yeniden başlatın
Kanal bayrakları paylaşılmıyorKanal +shared değilHer botta kanalı +shared yapın
Değişiklikler geri dönüyorİki bot da birbirine göndericiYönü tek merkezli olacak şekilde düzeltin
Aktarım yarıda kesiliyorAğ sorunları veya güvenlik duvarıBağlantıyı ve portları kontrol edin

Partyline'da .bots ve .bottree çıktılarında paylaşım durumunu gösteren işaretler bulunur. Log dosyasında da userfile aktarımının başlayıp bittiği kaydedilir. Hata ayıklarken bu kayıtlar çok değerlidir; log ayarları için log ayarları yazımıza bakın.

Güvenlik Açısından Paylaşım

Paylaşım çok güçlü bir araçtır, ama bu güç bir risk de taşır. Gönderici bot ele geçirilirse saldırgan, bütün botnet'e kendine sahip yetkisi veren bir kullanıcı kaydı dağıtabilir. Bu yüzden gönderici bot, en iyi korunan sunucuda çalışmalı ve partyline erişimi sıkı şekilde sınırlanmalıdır. Alıcı botların yalnızca güvendiğiniz tek bir hub'dan veri alması, birden fazla kaynaktan gelen çakışmaları da önler. Genel güvenlik önlemleri için Eggdrop güvenliği yazımıza göz atın.

Gerçek Bir Senaryo

Bir yazılım topluluğunun üç botu olduğunu düşünelim. Kanal yöneticileri yeni gönüllüleri sürekli farklı botlara ekliyor ve hangi botta kimin hangi yetkiye sahip olduğu artık bilinmiyor. Çözüm olarak botlardan biri hub seçilir, diğer ikisinin userfile'ları yedeklenir ve eksik kullanıcılar hub'a taşınır. Ardından paylaşım bayrakları ayarlanır ve botlar yeniden bağlanır. İlk senkronizasyondan sonra bütün botlar aynı listeyi kullanır. Yöneticilere de yeni kuralı bildirmek gerekir: Kullanıcı eklemek veya yetki değiştirmek yalnızca hub üzerinden yapılır. Birkaç hafta içinde karmaşa ortadan kalkar ve yetki denetimi tek bir yerden yapılabilir hâle gelir.

Sonuç

Userfile paylaşımı, birden fazla botu tek bir kullanıcı listesiyle yönetmenin en temiz yoludur. share ve transfer modüllerini yükleyin, paylaşım yönünü tek merkezli olacak şekilde ayarlayın, kanalları +shared yapın ve ilk senkronizasyondan önce yedek alın. Botlar arası bağlantıyı şifrelemek için sıradaki rehberimiz SSL bağlantı.

IRC sorunun mu var? Kanalda birlikte çözelim.

💬 Kanala Bağlan

Sıkça Sorulan Sorular

Userfile paylaşımı için hangi modül gerekir?

share modülü gerekir. Ayrıca transfer modülünün de yüklü olması gerekir, çünkü dosya aktarımı bu modül üzerinden yapılır.

Kullanıcıyı hangi bota eklemeliyim?

Paylaşımı gönderen bota, yani genellikle hub bota eklemelisiniz. Değişiklik oradan diğer botlara dağıtılır.

Paylaşım tek yönlü mü çalışır?

Kurulum şekline göre değişir, ancak en sağlıklı düzen hub'dan leaf'lere doğru akan tek merkezli bir yapıdır.