Bir önceki yazıda bahsettiğim Rapidshare çözüm yöntemi rapidin yeni puan sistemi yüzünden işe yaramayacaktır.
Rapid üzerinde 10000 den fazla dosyası(1tb ı aşkın veri) bulunan benim için bu durum hazmedilemezdi.
Düşündüm taşındım bir program yazmaya karar verdim.
Programı yazmak için gereken araştırmaları yapıp altyapıyı hazırlayıp yazıp ilk beta sürümü hazırladım.
Program benim ilk "multi thread" uygulamam daha önce 10 larca program yazdım ama ilk defa burada "multi thread" kullanmak ihtiyacım oldu.
Biraz programdan bahsedeyim. Program Visual Studio 2005 ile yazıldı.
Kodların Cookie okuyucu class hariç geri kalan herşeyini kendim tasarladım yazdım.
Kopya çektiğim/esinlendiğim kaynaklar
http://www.geekpedia.com/tutorial196_Creating-an-advanced-download-manager-in-Csharp.html
http://www.codeproject.com/KB/cs/Rapidshare-Download_Class.aspx
araşatırmalarım esnasında http://sharebus.com/index.php?s=&showtopic=29311&view=findpost&p=661877 adresindeki hatırlatma çok yardımcı oldu.
Thread leri indirici olarak kullandım. Program iki indirici kullanıyor. Bunlar kendisinin bot olduğunu hissettirmemesi için bir önceki downloadtan belli bir süre sonra başlayacak şekilde tetikliyor. Dosyaların yine otomatik program tarafından indirildiğinin anlaşılmaması için indirme miktarı rasgelesel olarak belirleniyor.Rasgeleselliğin max ve min miktarı size bağlı. Minimum değeri 3mb ten küçük yapmanızı tavsiye etmem Rapid download zamanını güncellemiyor.
Program indirdiklerini diske yazmıyor bu bakımdan İndirme simülatörü olarak görülebilir. İndirme sırasında indirme işleminde bir hata olursa sonraki dosyaya geçip log kısmına not alıyor.
Program üzerinde pause özelliği var. Bu Pause indirme yi hemen beklemeye almıyor. Çünkü resuming/kalınan yerden devam etme yok. (Aslında yapardım da kimbilir ne tür hataları yakalamam gerekecekti.) Devam eden indirmelerin tamamlanmasını bekleyip programın sıradaki linki indirmesini frenliyor. Tekrar "Start" yaptığınızda bu fren kalkıyor sıradaki linkten devam ediyor.
Programı 1mbit adsl hattımdan test ediyorum/kullanıyorum. min max değerini 3.000.000 ile 5.000.000 e ayarladım linkleri indiriyor ve güncelliyor. Hat saniyede ~105kbyte indiriyor. Dakikada 6mb demek. En iyi ihtimalle 1mbit ile 1saate 120 link (3mb dan büyük dosyalar için :D ) güncellenebiliyor. Programı daha yüksek hızlara sahip internet hatlarında test etmek istiyorum.
programı açık olarak dağıtmak şu an için sakıncalı buluyorum. download için 597yr4b02 - at - sneakemail.com adresine bir mail gondermeniz yeterli isteyenlere kaynak kodunu da göndereceğim.
Not : Yazmayı unutmuşum program indirme linklerinin cookie lerine ihtiyaç duyuyor. Internet explorer da hesabınızın login olmuş olması gerekiyor.Login Olunmadığında neler olur denemedim.
Hiç yorum yok:
Yorum Gönder