Tekil Mesaj gösterimi
  #2  
Alt 21 Ocak 2014, 18:24
Feragat - ait Kullanıcı Resmi (Avatar)
Feragat Feragat isimli Üye şimdilik offline konumundadır
 Chief 

mS Puan: 801
mS Derece: Feragat ÇalışkanFeragat ÇalışkanFeragat ÇalışkanFeragat ÇalışkanFeragat ÇalışkanFeragat ÇalışkanFeragat Çalışkan
 
Üyelik tarihi: 31 Mart 2012
Bulunduğu yer: $mircdir
Mesajlar: 92
Konular: 43
Eklentiler: 6
Alınan Teşekkür: 62
Yapılan Teşekkür: 40
Mentioned: 1 Post(s)
Tagged: 0 Thread(s)
Standart

Sana kısaca bir örnek vereyim. Altta örnek verdiğim kodu Toprak yazmıştı eski bir kod, sadece mantığı anlaman için örnek gösteriyorum. (Kod içinde yeni eklenen kısımları koyu belirtiyorum.)

Kod:
alias ipal { .remove data.txt | sockclose ipal | sockopen ipal slyhold.com 80 | inc %a_ }
on *:sockopen:ipal:{ var %:ipal sockwrite -n $sockname | %:ipal GET /proxy_any_any.txt HTTP/1.1 | %:ipal Host: slyhold.com | %:ipal $crlf }
on *:sockread:ipal:{ var %ipal | sockread %ipal | .tokenize 32 %ipal | if $regex(ip1,%ipal,/^((\d+\.\d+\.\d+\.\d+)[\72]\d+$)/i) { if !$read(proxy.txt,w,$+(*,$regml(ip1,2),*)) { $iif(%a_ > 1, write data.txt $regml(ip1,2), write proxy.txt $regml(ip1,2)) } } }
on *:sockclose:ipal:{ sockclose ipal1 | sockopen ipal1 dan.me.uk 80 }
on *:sockopen:ipal1:{ var %:ipal1 sockwrite -n $sockname | %:ipal1 GET /torlist HTTP/1.1 | %:ipal1 Host: dan.me.uk | %:ipal1 $crlf }
on *:sockread:ipal1:{ var %ipal1 | sockread %ipal1 | .tokenize 32 %ipal1 | if $regex(ip2,%ipal1,/^((\d+\.\d+\.\d+\.\d+)[\72]\d+$)/i) { if !$read(proxy.txt,w,$+(*,$regml(ip2,2),*)) { $iif(%a_ > 1, write data.txt $regml(ip2,2), write proxy.txt $regml(ip2,2)) } } }
on *:sockclose:ipal1:{ sockclose ipal2 | sockopen ipal2 multiproxy.org 80 }
on *:sockopen:ipal2:{ var %:ipal2 sockwrite -n $sockname | %:ipal2 GET /txt_all/proxy.txt HTTP/1.1 | %:ipal2 Host: multiproxy.org | %:ipal2 $crlf }
on *:sockread:ipal2:{ var %ipal2 | sockread %ipal2 | .tokenize 32 %ipal2 | if $regex(ip3,%ipal2,/^((\d+\.\d+\.\d+\.\d+)[\72]\d+$)/i) { if !$read(proxy.txt,w,$+(*,$regml(ip3,2),*)) { $iif(%a_ > 1, write data.txt $regml(ip3,2), write proxy.txt $regml(ip3,2)) } } }
on *:sockclose:ipal2:{ sockclose ipal3 | sockopen ipal3 tubeincreaser.com 80 }
on *:sockopen:ipal3:{ var %:ipal3 sockwrite -n $sockname | %:ipal3 GET /proxylist.txt HTTP/1.1 | %:ipal3 Host: tubeincreaser.com | %:ipal3 $crlf }
on *:sockread:ipal3:{ var %ipal3 | sockread %ipal3 | .tokenize 32 %ipal3 | if $regex(ip4,%ipal3,/^((\d+\.\d+\.\d+\.\d+)[\72]\d+$)/i) { if !$read(proxy.txt,w,$+(*,$regml(ip4,2),*)) { $iif(%a_ > 1, write data.txt $regml(ip4,2), write proxy.txt $regml(ip4,2)) } } }
on *:sockclose:ipal3:{ echo -a Proxy list güncellendi4 $lines(proxy.txt) ip mevcut. $iif($isfile(data.txt),:- Data da ise $lines(data.txt) IP var.) }
1-)
Proxy IP'leri kaçıncı defa çektirdiğini belirlemek için, proxy ip alımını başlatan alias'a inc ekleyip saydırıp belirleyebilirsin. Alttaki gibi;
Kod:
alias ipal { .remove data.txt | sockclose ipal | sockopen ipal slyhold.com 80 | inc %a_ }
2-)
Proxy.txt i sildirme sabit kalsın, kıyaslama için. Data.txt'i, alias ı başlattığında kaldırmalısın. Çünkü proxy.txt ile karşılaştırıp varsa yeni ipleri eklemesi için. Alttaki gibi;
Kod:
alias ipal { .remove data.txt | sockclose ipal | sockopen
3-)
Eğer ip çekme komutunu 1 kereden fazla uygulamışsan; sabit olan proxy.txt içerisinde bulunan ip adreslerinin dışında ip varsa, silinip yeniden oluşturulan data.txt içine yazdır, koşulu oluşturmalısın. Alttaki gibi;
Kod:
 if !$read(proxy.txt,w,$+(*,$regml(ip1,2),*)) { $iif(%a_ > 1, write data.txt $regml(ip1,2), write proxy.txt $regml(ip1,2)) } } }
4-)
data.txt içerisine kaç yeni proxy ip eklendi görmek içinde son bölüme şunu ekleyebilirsin.
Kod:
on *:sockclose:ipal3:{ echo -a Proxy list güncellendi4 $lines(proxy.txt) ip mevcut. $iif($isfile(data.txt),:- Data da ise $lines(data.txt) IP var.) }
Not:Elinde bulunan koda bu veya buna benzer bir mantıkla entegrasyon yapabilirsin. Mantığı dilediğin gibi geliştirebilirsin. Farklı fikirleri olan arkadaşlarda konu altına fikirlerini belirtirlerse senin için daha faydalı olacağına inanıyorum.

Not2: Play komutuna bağlı işlem yaptırmak istersen(okuma bitiminde dosya sildirme veya herhangi başka bir tetikleme/işlem yaptırmakla ilgili..) playend event'ını incelemeni öneririm. Bknz: /help on playend

Şahsi fikrim: Proxy ip'leri çok sık değişen/güncellenen bir sistem. Bana sorarsan Proxy.txt dosyasını belirli günlerde(çok uzun süre olmamak şartıyla) sildirip yeniden ip aktarımı yapmandır. Tabi bunu yaparken inc ile saydırdığın değişkenide(%a_) temizlemen lazım. Script kapandığında oto temizlensin istersen inc -e %a_ yapabilirsin veya manuel olarak unset %a_ gibi.. Umarım fikirler güzel bir mantık üretmene yardımcı olur.
İyi forumlar.
__________________
Vi veri veniversum vivus vici..

Konu Feragat tarafından (21 Ocak 2014 Saat 18:34 ) değiştirilmiştir.
Alıntı ile Cevapla
 
1 2 13 14 16 17 18 19 21 22 23 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 49 50 51 52 54 55 56 57 58 59 60 61 62 63 67 68 69 70 71 72 73 74 75 76