Eggdrop

Eggdrop DCC ve Dosya Transferi: DCC CHAT, Filesys ve Transfer Modülü

· Güncelleme: · 5 dk okuma

Eggdrop DCC ve Dosya Transferi: DCC CHAT, Filesys ve Transfer Modülü
İçindekiler
  1. DCC CHAT ile Partyline'a Bağlanmak
  2. Telnet Alternatifi
  3. DCC Ayarları ve NAT Sorunları
  4. Filesys Modülü: Botu Dosya Alanına Dönüştürmek
  5. Dosya Alanında Gezinme
  6. Transfer Modülü Ayarları
  7. Güvenlik Önlemleri
  8. DCC'nin Bugünkü Yeri
  9. Gerçek Bir Senaryo
  10. Sonuç

DCC (Direct Client-to-Client), IRC'de iki istemcinin sunucuyu aradan çıkararak doğrudan birbirine bağlanmasını sağlayan bir protokoldür. IRC'nin ilk yıllarında sohbet etmenin ve dosya paylaşmanın en popüler yollarından biriydi. Eggdrop da DCC'yi iki amaçla kullanır: Yöneticilerin partyline'a bağlanması ve kullanıcılara dosya alanı sunulması. Eggdrop DCC özellikleri bugün eskisi kadar yoğun kullanılmasa da partyline erişiminin temel yollarından biri olmaya devam ediyor. IRC'deki DCC'nin genel işleyişi için IRC DCC yazımıza bakabilirsiniz.

DCC CHAT ile Partyline'a Bağlanmak

Partyline'a bağlanmanın en pratik yolu, IRC istemcinizden bota DCC CHAT isteği göndermektir. Bot, kullanıcı listesinde kayıtlı ve partyline yetkisine sahip olduğunuz sürece isteği kabul eder ve parolanızı sorar. Bağlantı iki şekilde başlatılabilir:

  1. Siz bota istek gönderirsiniz: mIRC'de /dcc chat BotNick komutuyla. Bu yöntemde sizin istemcinizin dışarıdan bağlantı kabul edebilmesi gerekir.
  2. Bot size istek gönderir: Bota özel mesajla chat yazdığınızda bot size DCC CHAT isteği gönderir. Bu yöntemde botun dışarıdan bağlantı kabul edebilmesi yeterlidir.

Ev bağlantılarının çoğu NAT arkasında olduğu için ikinci yöntem genellikle daha sorunsuz çalışır, çünkü botun çalıştığı sunucu çoğunlukla doğrudan erişilebilir bir IP adresine sahiptir. Partyline'ı kullanmayı partyline yazımızda ayrıntılı anlattık.

Telnet Alternatifi

DCC CHAT çalışmıyorsa partyline'a telnet ile de bağlanabilirsiniz. Botun eggdrop.conf'taki listen satırında tanımlanan porta bir telnet istemcisiyle bağlanıp kullanıcı adınızı ve parolanızı girersiniz. Bu bağlantının şifreli olması için listen portunu TLS ile tanımlamak ve TLS destekli bir istemci kullanmak gerekir. Ayrıntılar SSL bağlantı yazımızda. Telnet erişimine izin verilecek host'ları sınırlamak da önemli bir güvenlik önlemidir.

DCC Ayarları ve NAT Sorunları

Botun DCC bağlantısı kurabilmesi için karşı tarafa doğru IP adresini ve portu bildirmesi gerekir. Bot bir NAT arkasında çalışıyorsa, örneğin evdeki bir bilgisayarda veya bazı bulut ortamlarında, kendi iç IP adresini bildirebilir ve bağlantı kurulamaz. Bunu çözmek için eggdrop.conf'ta botun dış IP adresini belirten ayar kullanılır. Ayrıca DCC bağlantıları için belirli bir port aralığı tanımlayıp bu portları güvenlik duvarında açmak gerekir.

SorunOlası nedenÇözüm
DCC isteği gidiyor ama bağlantı kurulmuyorBot iç IP adresini bildiriyorDış IP ayarını yapın
Bağlantı zaman aşımına uğruyorPort güvenlik duvarında kapalıDCC port aralığını açın
Bot isteği reddediyorKullanıcının partyline yetkisi yokKullanıcıya gerekli bayrağı verin
Parola soruluyor ama kabul edilmiyorKullanıcının parolası tanımlı değilBota mesajla parola belirleyin

Ayar adları sürüme göre değişebileceği için eggdrop.conf örneğinizdeki DCC ve ağ bölümünü okuyun. Genel yapılandırma bilgileri eggdrop.conf ayarları yazımızda.

Filesys Modülü: Botu Dosya Alanına Dönüştürmek

Eggdrop'un filesys modülü, bota küçük bir dosya alanı ekler. Kullanıcılar partyline'dan dosya alanına girip klasörler arasında gezinebilir, dosyaları listeleyebilir ve DCC SEND ile dosya indirebilir. Yetkili kullanıcılar ise dosya yükleyebilir. Modül, IRC'nin dosya paylaşımı için yoğun kullanıldığı dönemlerde çok popülerdi. Bugün daha çok bir topluluğun scriptlerini, yapılandırma örneklerini veya belgelerini paylaşmak gibi sınırlı amaçlarla kullanılır.

Modülü etkinleştirmek için eggdrop.conf'ta:

loadmodule transfer
loadmodule filesys

Ardından dosya alanının bulunacağı klasör, yüklenen dosyaların geçici olarak tutulacağı klasör, en büyük yükleme boyutu ve aynı anda yapılabilecek transfer sayısı gibi ayarlar yapılandırılır.

Dosya Alanında Gezinme

Partyline'da .files komutuyla dosya alanına girersiniz. Burada kullanabileceğiniz temel komutlar şunlardır:

KomutNe yapar?
lsBulunduğunuz klasördeki dosyaları listeler
cdKlasör değiştirir
getDosyayı DCC SEND ile size gönderir
descBir dosyaya açıklama ekler (yetki gerekir)
mkdir / rmdirKlasör oluşturur veya siler (yetki gerekir)
quitDosya alanından partyline'a döner

Dosya alanına kimin girebileceği ve kimin yükleme yapabileceği kullanıcı bayraklarıyla kontrol edilir. Bayrakların yönetimi için kullanıcı bayrakları yazımıza bakın.

Transfer Modülü Ayarları

transfer modülü, DCC SEND ve DCC GET işlemlerini yönetir. Bu modülün ayarları arasında aynı anda yapılabilecek en fazla transfer sayısı, transfer bloklarının boyutu, kopan transferlerin yeniden başlatılması ve zaman aşımı süreleri bulunur. Bu modül aynı zamanda botnet içindeki userfile paylaşımı için de kullanılır; bu yüzden filesys kullanmasanız bile botnet kuruyorsanız transfer modülünün yüklü olması gerekir. Bkz. userfile paylaşımı.

Güvenlik Önlemleri

Dosya paylaşımı her zaman bir risk taşır. Eggdrop'u bir dosya alanı olarak kullanacaksanız şu önlemleri alın:

  • Yükleme yetkisini sınırlayın: Yalnızca güvendiğiniz kullanıcılar dosya yükleyebilsin.
  • Boyut sınırı koyun: Disk alanının dolmasını önlemek için en büyük dosya boyutunu sınırlayın.
  • Dosya alanını ayrı bir klasörde tutun: Botun kendi dosyalarıyla, özellikle userfile ve yapılandırmayla aynı klasörde olmasın.
  • Çalıştırılabilir dosyalara dikkat edin: Kullanıcıların yüklediği dosyaları indirmeden önce kontrol edin; zararlı yazılım yayma aracı hâline gelmeyin.
  • Telif haklarına saygı gösterin: Telif hakkıyla korunan içeriğin paylaşılmasına izin vermeyin.

Kapsamlı güvenlik önerileri için Eggdrop güvenliği yazımıza bakın.

DCC'nin Bugünkü Yeri

Modern IRC kullanımında dosya paylaşımı büyük ölçüde web tabanlı hizmetlere kaydı. Birçok ağ, kötüye kullanımı önlemek için DCC'yi kısıtlıyor veya kullanıcıların DCC isteklerini varsayılan olarak engelliyor. Bazı IRC sunucuları, belirli dosya türlerinin DCC ile gönderilmesini sunucu düzeyinde engelleyebiliyor. Bu yüzden Eggdrop'un DCC özelliklerini öncelikle partyline erişimi için düşünün ve dosya alanını yalnızca gerçekten ihtiyaç duyduğunuz küçük ve güvenilir bir topluluk için açın.

Gerçek Bir Senaryo

Bir botun sahibi evden partyline'a bağlanmaya çalışıyor ama /dcc chat komutu her seferinde zaman aşımına uğruyor. Ev bağlantısı NAT arkasında olduğu için bot, sahibinin istemcisine bağlanamıyor. Sahibi, bota özel mesajla chat yazarak botun kendisine istek göndermesini sağlıyor ve bağlantı anında kuruluyor. Daha sonra güvenlik için TLS destekli bir listen portu açıp telnet erişimini yalnızca kendi sabit IP adresiyle sınırlıyor. Artık hem DCC CHAT'i hem de şifreli telnet bağlantısını sorunsuz kullanabiliyor.

Sonuç

DCC, Eggdrop'ta partyline erişiminin ve dosya paylaşımının temelidir. Partyline için botun size bağlanmasını sağlayan yöntemi tercih edin, NAT ortamlarında dış IP ve port ayarlarını yapın, dosya alanını yalnızca gerçekten ihtiyaç varsa ve sıkı izinlerle açın. Eggdrop'un yeni nesil özelliklerinden biri olan Python desteğini öğrenmek için sıradaki rehberimiz Python modülü.

IRC sorunun mu var? Kanalda birlikte çözelim.

💬 Kanala Bağlan

Sıkça Sorulan Sorular

DCC CHAT ile telnet arasındaki fark nedir?

Her ikisi de partyline'a bağlanmanızı sağlar. DCC CHAT, IRC istemciniz üzerinden doğrudan bağlantı kurar; telnet ise botun listen portuna ayrı bir istemciyle bağlanır.

Bot neden DCC bağlantısını kuramıyor?

Genellikle NAT veya güvenlik duvarı nedeniyle. Botun dış IP adresini ve DCC için kullanılacak port aralığını doğru ayarlamak gerekir.

Eggdrop'u dosya sunucusu olarak kullanmak güvenli mi?

Dikkatli yapılandırılırsa sınırlı ölçüde kullanılabilir. Yükleme izinlerini sıkı tutmak ve dosya boyutlarını sınırlamak şarttır.