Eggdrop DCC ve Dosya Transferi: DCC CHAT, Filesys ve Transfer Modülü
İçindekiler
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:
- Siz bota istek gönderirsiniz: mIRC'de
/dcc chat BotNickkomutuyla. Bu yöntemde sizin istemcinizin dışarıdan bağlantı kabul edebilmesi gerekir. - Bot size istek gönderir: Bota özel mesajla
chatyazdığı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.
| Sorun | Olası neden | Çözüm |
|---|---|---|
| DCC isteği gidiyor ama bağlantı kurulmuyor | Bot iç IP adresini bildiriyor | Dış IP ayarını yapın |
| Bağlantı zaman aşımına uğruyor | Port güvenlik duvarında kapalı | DCC port aralığını açın |
| Bot isteği reddediyor | Kullanıcının partyline yetkisi yok | Kullanıcıya gerekli bayrağı verin |
| Parola soruluyor ama kabul edilmiyor | Kullanıcının parolası tanımlı değil | Bota 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:
| Komut | Ne yapar? |
|---|---|
| ls | Bulunduğunuz klasördeki dosyaları listeler |
| cd | Klasör değiştirir |
| get | Dosyayı DCC SEND ile size gönderir |
| desc | Bir dosyaya açıklama ekler (yetki gerekir) |
| mkdir / rmdir | Klasör oluşturur veya siler (yetki gerekir) |
| quit | Dosya 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ğlanSı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.


