06 Eylül 2009 Pazar

Opera Rapidshare Link Checker script (userjs)

Tüm opera severlere merhaba.
Hem kendi ihtiyaçlarımdan ötürü hemde diğer opera severlerin ihtiyaçları doğrultusunda kullanabileceği; sayfadaki "rapidshare.com" adresine verilen linklerin sağlamlığını kontrol eden küçük bir userjs yazdım.

Yazının devamını okumadan önce userjslerin nasıl yüklendiklerini öğrenmek için zahek adlı arkadaşımızın bloguna göz atın.

http://my.opera.com/ZAHEK/blog/show.dml/1628016

Betiğin çalışma mantığı şöyle;

Sayfadaki rapidshare linklerini tespit ediyor ve linkin hemen öncesine bir img elementi ekliyor.
Bu img elementinin src özelliğine ise aşağıdaki değeri veriyor.

"http://www.benrobot.org/servis/rapid.php?rapid=sayfadabulunanrapidsharelinki" 
rapid.php adlı dosya ise rapid parametresinden gelen linki kontrol ediyor. Eğer link çalışıyorsa "image/png" biçiminde yeşil transparan bir ok işareti, çalışmıyor ise kırmızı bir çarpı işareti veriyor.

Opera userjslerde xmlhttprequest objesine ne derece izin veriyor bilmiyorum o yüzden bu şekilde yazdım.

Çalışan linkler

Çalışmayan linkler


rapidshare_link_checker.userjs.js
// ==UserScript==
// @name Rapidshare Link Checker
// @author h4ckinger
// @web www.h4ckinger.org
// @description  Usefull userjs for automated rapidshare link checking
// ==/UserScript==
document.addEventListener("DOMContentLoaded",function() {
 var linkler = document.getElementsByTagName("a");
 var rapid1 = /^http\:\/\/rapidshare\.com\/files\/(\d+)\/(.*?)$/;
  var kontrollink="http://www.benrobot.org/servis/rapid.php";//rapid.php adresiniz
 for (var x = 0; x <= linkler.length-1; x++) {
  if (linkler[x].href.match(rapid1)) {
   var picLink = document.createElement("img");
   picLink.setAttribute("src", kontrollink+"?rapid="+escape(linkler[x].href));
   picLink.setAttribute("border",0);
   linkler[x].parentNode.insertBefore(picLink,linkler[x]);
  }
 }
}, false);
rapid.php dosyasını indirmek için tıklayın

0 yorum:

Yorum Gönder

Yorumlarınızı adsız olarak yapmamanız konuya olan ilgi ve samimiyetinizi göstericektir