Eggdrop Userfile Paylaşımı: Botlar Arasında Kullanıcı Listesi Senkronizasyonu
İçindekiler
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:
- Botların bir botnet içinde birbirine bağlı olması. Kurulum için botnet kurulumu yazımıza bakın.
- Her iki botta da share ve transfer modüllerinin yüklü olması.
- 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.
| Bayrak | Kimin kaydına konur? | Anlamı |
|---|---|---|
| s | Gönderen botun, alıcı bot kaydına | Bu bota userfile gönder |
| p | Alıcı botun, gönderen bot kaydına | Bu bottan userfile al |
| g | Her iki tarafta | Bü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
| Belirti | Olası neden | Çözüm |
|---|---|---|
| Kullanıcı leaf'te görünmüyor | Kullanıcı leaf'e eklenmiş veya bayraklar yanlış | Kullanıcıyı hub'a ekleyin, bayrakları kontrol edin |
| Aktarım başlamıyor | share veya transfer modülü yüklü değil | Modülleri yükleyip botu yeniden başlatın |
| Kanal bayrakları paylaşılmıyor | Kanal +shared değil | Her botta kanalı +shared yapın |
| Değişiklikler geri dönüyor | İki bot da birbirine gönderici | Yönü tek merkezli olacak şekilde düzeltin |
| Aktarım yarıda kesiliyor | Ağ 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ğlanSı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.


