IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Hazır Kodlar (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/)
-   -   Paylaşım Ağı. (Web Server) | Binary/Socket/Javascript (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/917856-paylasim-agi-web-server-binary-socket-javascript.html)

SuLh 24 Mayıs 2021 19:46

Paylaşım Ağı. (Web Server) | Binary/Socket/Javascript
 
Merhaba, fantezi fikir serisinin devamı olarak; bir web server ve web server üzerinden bir dosya paylaşım ağı yaptım.

Avantajları: Bu ağ ile birlikte Herhangi bir dosya upload etmeye veya farklı sitelerle uğraşmaya gerek kalmıyor. Yeterince hızlı ve düşük dosya boyutlarında çok işe yarıyor.

Sadece Text ve Jpg/Jpeg gibi grafikleri test ettim. Her zamanki gibi hedefim bir temel oluşturmak. Bundan güzel projeler çıkarmak isteyen arkadaşlar olursa diye.

Kullanım:

/p-ac -> Paylaşım ağını açarsınız.
/p-kapat -> Paylaşım ağını kapatırsınız.
/linkver Dosya.uzantı -> mIRC Ana dizininizdeki bir dosyayı paylaşırsınız. Örnek: /linkver bjk.jpg

Kullanım Örnekleri ve Görseller:

Kod:

>> /linkver bjk.jpg
<SuLh> http://1.2.3.4:3000/indir?bjk.jpg

>> Biri ağa dosya indirmeye girdiğinde..
*Bilgi:5 10.10.10.10 IP Adresi bjk.jpg Dosyası için paylaşım ağına girdi.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Ayrıca: Eksik link girdiğinde ana sayfaya yönlendirir. Olmayan dosya linkine tıklarsa dosyanın olmadığı uyarısı verilir.

Kod:

Kod:

alias payport return 3000
alias payip return $iif($server,$ip,127.0.0.1)
alias p-ac { echo -a Paylaşım açıldı! | if ($sock(paylasim)) sockclose paylasim | socklisten paylasim $payport }
alias p-kapat { echo -a Paylaşım kapatıldı! | if (!$sock(paylasim)) return | sockclose paylasim }
alias linkver { if !$sock(paylasim) { echo 4 -a Önce Paylaşımı açın! | return } | if $1 { msg $active $+(http://,$payip,:,$payport,/indir?,$1) } }
on *:socklisten:paylasim: sockaccept $+(q,$r(1,999))
on *:sockread:q*: {
  sockread %s | tokenize 32 %s
  if $regex($1-,/Get.+HTTP\/1\.1/i) {
    datagonder $sockname
    if $len($2) = 1 { anasayfa $sockname }
    else {
      if $regex($2,/\/indir\?.+/i) { echo 3 -a *Bilgi:5 $sock($sockname).ip IP Adresi $token($2,2,63) Dosyası için paylaşım ağına girdi. | dindir $sockname $token($2,2,63) }
      else { sockwrite -n $sockname <html><meta http-equiv="refresh" content="0; URL= $+ $+(http://,$payip,:,$payport) $+ " /></html> | sockclose $sockname }
    }
  }
}
alias datagonder {
  sockwrite -n $1 HTTP/1.0 200 Ok \n\r
  sockwrite -n $1 Connection: Keep-Alive
  sockwrite -n $1  Content-Type: text/html; charset=UTF-8
  sockwrite -n $1 Vary: Accept-Encoding
  sockwrite -n $1 Date: $fulldate
  sockwrite -n $1 $crlf $crlf
}
alias dindir {
  if $isfile($2) {
    sockwrite -n $1 <script>
    if !$regex($token($2,$token($2,0,46),46),/(jpg|png)/i) {
      sockwrite $1 var ba = `
      databol $2 $1
      sockwrite -n $1 `;
      sockwrite -n $1 var dt = [];
      sockwrite -n $1 for (var i = 0; i < ba.length; i++) $chr(123)  $&
        dt.push(ba.charCodeAt(i)); $&
        $chr(125)
    }
    if !$regex($token($2,$token($2,0,46),46),/(jpg|png)/i) {
      sockwrite -n $1 let base64data = btoa(unescape(encodeURIComponent(String.fromCharCode.apply(null, dt))));
    }
    else {
      sockwrite $1 let base64data = "
      databol $2 $1 image
      sockwrite $1 ";
      sockwrite $1 $crlf
    }
    sockwrite -n $1 let a = document.createElement('a');
    if $regex($token($2,$token($2,0,46),46),/(jpg|png)/i) {
      sockwrite -n $1 a.href = 'data:image/png;base64,' + base64data;
    }
    else {
      sockwrite -n $1 a.href = 'data:;base64,' + base64data;
    }
    sockwrite -n $1 a.download = $+(',$2,');
    sockwrite -n $1 a.click();
    sockwrite -n $1  </script>
    sockwrite -n $1 <!DOCTYPE html> $&
      <html> $&
      <head><title>Dosya indirme sayfasi</title></head> $&
      <body bgcolor="black"> $&
      <center><font size="15px" color="white">Dosya iniyor. Hadi bakim!</font></center> $&
      </body> $&
      </html>
  }
  else {
    sockwrite -n $1 <!DOCTYPE html> $&
      <html> $&
      <head><title>Dosya indirme sayfasi</title></head> $&
      <body bgcolor="black"> $&
      <center><font size="15px" color="white">Aradiginiz dosya sistemde yok.</font></center> $&
      </body> $&
      </html>
  }
  sockclose $1
  if $fopen(0) { fclose paylasim }
}
alias anasayfa {
  sockwrite -n $1 <!DOCTYPE html> $&
    <html> $&
    <head><title>Dosya indirme sayfasi</title></head> $&
    <body bgcolor="black"> $&
    <center><font size="15px" color="white">Dosya indirme sitemi anasayfa.</font></center> $&
    </body> $&
    </html>
  sockclose $1
}
alias databol {
  if $3 = image {
    bread $qt($1) 0 $file($1).size &a
    if $encode(&a,mb) {
      var %dboyut $bvar(&a,0)
      var %bolum $calc(%dboyut / 8192)
      if $token(%bolum,0,46) {
        var %newbolum $calc($token(%bolum,1,46) + 1),%q 1
        while %q <= %newbolum {
          var %pozisyon $iif(%q = 1,1,$calc($calc($calc(%q - 1) * 8192) + 1))
          bcopy &file 1 &a %pozisyon 8192
          if !$bvar(&file,0)  { break | retrun }
          ;$iif(%q = 1,echo -a $bvar(&file,1-99).text,)
          sockwrite $2 &file
          bunset &file
          inc %q
        }
      }
      else {
        var %q 1 | while %q <= %bolum {
          var %pozisyon $iif(%q = 1,8192,$calc($calc($calc(%q - 1) * 8192) + 1))
          bcopy &file 1 &a %pozisyon 8192
          sockwrite $2 &file
          bunset &file
          inc %q
        }
      }
    }
    return
  }
  if $file($1).size > 16384 {
    .fopen data $1 | noop $fread(data,9999999999999,&a)
    var %dboyut $bvar(&a,0)
    var %bolum $calc(%dboyut / 8192)
    if $len(%bolum) > 1 {
      var %newbolum $calc($token(%bolum,1,46) + 1),%q 1
      while %q <= %newbolum {
        var %pozisyon $calc(%q - 1)
        bread $qt($1) %pozisyon 8192 &file
        sockwrite $2 &file
        bunset &file
        inc %q
      }
    }
    else {
      var %q 1 | while %q <= %bolum {
        var %pozisyon $calc(%q - 1)
        bread $qt($1) %pozisyon 8192 &file
        sockwrite $2 &file
        bunset &file
        inc %q
      }
    }
    .fclose data
  }
  else {
    bread $qt($1) 0 $file($1).size &file
    sockwrite $2 &file
  }
}


PeNDoR 25 Mayıs 2021 11:12

Cevap: Paylaşım Ağı. (Web Server) | Binary/Socket/Javascript
 
Nice :gulucuk: Güzel fikirler, güzel projeler

YouMyCure 25 Mayıs 2021 21:29

Cevap: Paylaşım Ağı. (Web Server) | Binary/Socket/Javascript
 
Güzel fikir güzel proje :)

DjXugo 25 Mayıs 2021 22:47

Cevap: Paylaşım Ağı. (Web Server) | Binary/Socket/Javascript
 
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] yine farkını ortaya koymuşsun, yenilikler iyidir :) Emeğine Sağlık.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 18:56.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk