Radio Server — File Browser
RadioServerv1.0 / RadioServerv1.0 / server.mrc
server.mrc — 18.13 KB — Download this file
; Radio Server 1.0 By SCouNDReL
; Work With /RadioServer Command
; Please Read Readme.txt Before Working
; Have Fun! (:
alias Radioserver { $iif(!$dialog(sjn.radyo),dialog -md sjn.radyo sjn.radyo,echo -a Radio Server Has Already Opened) }
alias -l sjn.basla {
hdel sjn.mp3 sjn.dosya
hdel sjn.mp3 sjn.sonraki
sockclose sjn.sock*
sockclose sjn.web
if ($dialog(sjn.radyo)) {
did -a sjn.radyo 3 $sjn.zaman Server: $hget(sjn.mp3,sjn.ip) $+ $+(:,$hget(sjn.mp3,sjn.port)) $+ $crlf
did -a sjn.radyo 3 $sjn.zaman Main Page: http:// $+ $hget(sjn.mp3,sjn.ip) $+ $+(:,$hget(sjn.mp3,sjn.port)) $+ / $+ $crlf
did -a sjn.radyo 3 $sjn.zaman Select Song for Starting Radio $+ $crlf
hdel sjn.mp3 sjn.gecis
}
if (!$sock(sjn.web)) { $iif($portfree($hget(sjn.mp3,sjn.port)),socklisten sjn.web $hget(sjn.mp3,sjn.port),did -a sjn.radyo 3 $sjn.zaman Port $hget(sjn.mp3,sjn.port) Is Using) $+ $crlf }
if (!$sock(sjn.web2)) { $iif($portfree(80),socklisten sjn.web2 80,did -a sjn.radyo 3 $sjn.zaman Port 80 Is Using) $+ $crlf }
.timersjn.data 0 1 sjn.baslat
write -c listen.pls
write listen.pls [playlist]
write listen.pls File1= $+ http:// $+ $hget(sjn.mp3,sjn.ip) $+ $+(:,$hget(sjn.mp3,sjn.port))
write listen.pls NumberOfEntries=1
run $shortfn($mircdirlisten.pls)
}
on *:SockListen:sjn.web*:{
if ($hget(sjn.mp3,sjn.max) != $null) {
if ($sock(sjn.sock*,0) < $hget(sjn.mp3,sjn.max)) {
sockaccept sjn.sock $+ $rand(0,9999)
}
}
else { sockaccept sjn.sock $+ $rand(0,9999) }
}
on *:SockRead:sjn.sock*:{
var %a
sockread %a
if ($level($sock($sockname).ip) != sjn.ban) {
if (GET isin %a) { hadd sjn.mp3 sjn.link $gettok(%a,2,32) }
if (Winamp isin $gettok(%a,2,32)) {
write log1.sjn $sockname Winamp
sockwrite -n $sockname ICY 200 OK
sockwrite -n $sockname icy-notice1: <BR>This Stream Created With<a href ="http://www.mirc.com">mIRC</a><BR>
sockwrite -n $sockname icy-notice2: mIRC Radio Server By SCouNDReL <BR>
sockwrite -n $sockname icy-name: $hget(sjn.mp3,sjn.isim)
sockwrite -n $sockname icy-genre: $sound($hget(sjn.mp3,sjn.dosya)).genre
sockwrite -n $sockname content-type: audio/mpeg
sockwrite -n $sockname icy-pub: 1
sockwrite -n $sockname icy-br: 32
if ($hget(sjn.mp3,sjn.dosya)) && ($exists($hget(sjn.mp3,sjn.dosya))) {
bread $shortfn($hget(sjn.mp3,sjn.dosya)) $hget(sjn.mp3,sjn.data) $file($hget(sjn.mp3,sjn.dosya)).size &sjn.mp3
sockwrite -n $sockname &sjn.mp3
}
}
if (NSPlayer isin $gettok(%a,2,32)) {
write log1.sjn $sockname Winamp
if ($hget(sjn.mp3,sjn.dosya)) && ($exists($hget(sjn.mp3,sjn.dosya))) {
bread $shortfn($hget(sjn.mp3,sjn.dosya)) $hget(sjn.mp3,sjn.data) $file($hget(sjn.mp3,sjn.dosya)).size &sjn.mp3
sockwrite -n $sockname &sjn.mp3
}
}
if (Mozilla isin $gettok(%a,2,32)) { write log1.sjn $sockname Mozilla }
if (Mozilla isin $gettok(%a,2,32)) && ($hget(sjn.mp3,sjn.link) == /) && (FrontPage !isin $gettok(%a,2-,32)) {
sockwrite -n $sockname <title> $+ $hget(sjn.mp3,sjn.isim) Radio Server</title>
sockwrite -n $sockname <font size = "2" face="Tahoma"
sockwrite -n $sockname <p> </p>
sockwrite -n $sockname Your Ip: $sock($sockname).ip
sockwrite -n $sockname </font>
sockwrite -n $sockname <p> </p>
sockwrite -n $sockname <font size = "6" face="Tahoma"
sockwrite -n $sockname <BR><a title="Click Here For Listening With Winamp" href="http:// $+ $hget(sjn.mp3,sjn.ip) $+ $+(:,$hget(sjn.mp3,sjn.port)) $+ /listen.pls"><p align="center"><font size = 5>Listen With Winamp</font></p></a><BR>
sockwrite -n $sockname </font>
sockwrite -n $sockname <font size = "4" face="Tahoma"
sockwrite -n $sockname <p> </p>
sockwrite -n $sockname <p align="center">Radio Name: $hget(sjn.mp3,sjn.isim) </p>
sockwrite -n $sockname <p align="center">URL: <a href=" $+ http:// $+ $hget(sjn.mp3,sjn.ip) $+ $+(:,$hget(sjn.mp3,sjn.port)) $+ " > $+ http:// $+ $hget(sjn.mp3,sjn.ip) $+ </a></p>
sockwrite -n $sockname <p align="center">Playing Song: $remove($gettok($hget(sjn.mp3,sjn.dosya),-1,$asc(\)),.mp3) </p>
sockwrite -n $sockname <p align="center">Genre: $sound($hget(sjn.mp3,sjn.dosya)).genre </p>
sockwrite -n $sockname <p align="center">Number Of Listener: $calc($sock(sjn.sock*,0) -1) </p>
sockwrite -n $sockname </font>
var %i 1
while %i <= 5 {
whilefix
sockwrite -n $sockname <p> </p>
inc %i
}
sockwrite -n $sockname <p align="right"><font size="1" face ="Tahoma">mIRC Radio Server By <a target="_blank" title="We aRe Here, u ?" href =" $+ http://www.forumturk.eu $+ "> $+ SCouNDReL $+ </a> </font></p>
sockclose $sockname
}
if (Mozilla isin $gettok(%a,2,32)) && ($hget(sjn.mp3,sjn.link) == /) && (FrontPage isin $gettok(%a,2-,32)) {
sockwrite -n $sockname <p><b><font size="7">Cannot Open With Frontpage</font></b></p>
var %i 1
while %i <= 15 {
whilefix
sockwrite -n $sockname <p> </p>
inc %i
}
sockwrite -n $sockname <p align="right"><font size="1" face ="Tahoma">mIRC Radyo Server By <a target="_blank" title="We aRe Here, u ?" href =" $+ http://www.forumturk.eu $+ "> $+ SCouNDReL $+ </a> </font></p>
sockclose $sockname
}
if (host isin %a) && ($dialog(sjn.radyo)) {
did -a sjn.radyo 3 $sjn.zaman Listener Connected Ip : $gettok(%a,2,$asc(:)) $+ $crlf
did -a sjn.radyo 3 $sjn.zaman Number Of Listener: $sock(sjn.sock*,0) $+ $crlf
}
if (/listen isin $hget(sjn.mp3,sjn.link)) && ($gettok($read(log1.sjn, w , * $+ $sockname $+ *),2,32) == Mozilla) && (Mozilla isin $gettok(%a,2,32)) {
sockwrite -n $sockname HTTP/1.1 200 OK
var %i 1,%q
while %i <= $lines($mircdirlisten.pls) {
%q = %q $+ $lf $+ $read($mircdirlisten.pls,%i)
inc %i
}
%q = %q $+ $lf
sockwrite -n $sockname Content-Type:audio/x-scpls $+ $crlf connection:close $+ $crlf $+ $crlf $+ $right(%q,-1)
sockclose $sockname
}
if ($hget(sjn.mp3,sjn.link) != /) && (/listen.pls !isin $hget(sjn.mp3,sjn.link)) {
sockwrite -n $sockname <title> $+ $hget(sjn.mp3,sjn.isim) Radio Server</title>
sockwrite -n $sockname <p align="center"><font size="7">Nothing Found</font></p>
var %i 1
while %i <= 15 {
whilefix
sockwrite -n $sockname <p> </p>
inc %i
}
sockwrite -n $sockname <p align="right"><font size="1" face ="Tahoma">mIRC Radyo Server By <a target="_blank" title="We aRe Here, u ?" href =" $+ http://www.forumturk.eu $+ "> $+ SCouNDReL $+ </a> </font></p>
sockclose $sockname
}
}
else { sockclose $sockname }
}
dialog sjn.radyo {
title "Radio Server [/RadioServer]"
size -1 -1 378 335
icon $scriptdirradyo.ico
tab "BroadCast", 17, 0 2 380 380
text "ServerName",16,50 30 59 13, tab 17
list 1,6 166 268 164,tab 17 vsbar size
button "Play",2,297 173 58 26, tab 17
edit "",5,120 30 100 20,tab 17 autohs
button "Start",9,238 30 82 30, tab 17
button "Load Mp3",10,289 214 74 24, tab 17
edit "",3,8 71 364 76,tab 17 read multi autovs vsbar
button "Delete Song",11,289 268 74 24, tab 17
button "Clear List",12,289 241 74 24, tab 17
button "Close",14,300 300 60 30, ok tab 17
edit "",30,120 50 100 20, tab 17
text "Port",31,55 51 47 13, tab 17
scroll "",15,32 150 319 16,tab 17 range 0 100 horizontal
tab "Security", 18
text "List Of Banned Ips",19,51 51 90 17, tab 18
text "Listeners' Ips",20,201 51 164 17, tab 18
text "Max. Listener",21,78 275 99 17, tab 18
list 22,20 70 151 127, tab 18 vsbar size
button "Add",23,30 216 60 22, tab 18
button "Del",24,96 216 60 22, tab 18
list 25,200 70 151 127, tab 18 vsbar size
button "Ban",26,213 216 60 22, tab 18
button "Disconnect",27,277 216 60 22, tab 18
edit "",28,175 272 62 20, tab 18
button "Refresh",29,243 248 60 22, tab 18
}
on *:dialog:sjn.radyo:*:*:{
if ($devent == init) {
$iif(!$hget(sjn.mp3),hmake sjn.mp3 1000)
hadd sjn.mp3 sjn.ip $iif($ip,$ip,127.0.0.1)
$iif($sock(sjn.web),sjn.durum)
var %i 1
while %i <= $lines(liste.sjn) {
whilefix
$iif(!$dialog(sjn.yukle),dialog -m sjn.yukle sjn.yukle)
$iif($dialog(sjn.radyo),did -a sjn.radyo 1 $gettok($read(liste.sjn,%i),-1,$asc(\)))
dialog -t sjn.yukle Loading.. % $+ $round($calc($calc(%i * 100) / $lines(liste.sjn)),0)
$iif($dialog(sjn.yukle),$iif($round($calc($calc($lines(liste.sjn) * 100) / %i),0) == 100,dialog -x sjn.yukle sjn.yukle))
$iif($dialog(sjn.yukle),did -ra sjn.yukle 1 Load: $read(liste.sjn,%i))
inc %i
}
var %i 1
while %i <= $ulist(*,sjn.ban,0) {
whilefix
did -a sjn.radyo 22 $ulist(*,sjn.ban,%i)
inc %i
}
}
if ($devent == sclick) {
if ($did == 9) {
if ($did(9) == Disconnect) {
sockclose sjn.*
did -e sjn.radyo 5
did -ra sjn.radyo 9 Start
did -r sjn.radyo 3
did -e sjn.radyo 30
.remove log1.sjn
hadd sjn.mp3 sjn.data 0
.timersjn.data off
hdel sjn.mp3 sjn.dosya
hdel sjn.mp3 sjn.sonraki
}
else {
.remove log1.sjn
$iif($did(5),hadd sjn.mp3 sjn.isim $did(5),hadd sjn.mp3 sjn.isim N/A)
$iif($did(30),hadd sjn.mp3 sjn.port $did(30),hadd sjn.mp3 sjn.port $r(1000,9999))
sjn.basla
sjn.durum
did -ra sjn.radyo 9 Disconnect
did -b sjn.radyo 5
did -b sjn.radyo 30
}
}
if ($did == 2) {
if ($sock(sjn.web)) {
hadd sjn.mp3 sjn.sonraki $read(liste.sjn,$did(1).sel)
did -a sjn.radyo 3 $sjn.zaman After Song: $remove($gettok($read(liste.sjn,$did(1).sel),-1,$asc(\)),.mp3) $+ $crlf
}
}
if (!$sock(sjn.web)) {
hadd sjn.mp3 sjn.dosya $read(liste.sjn,$did(1).sel)
}
if ($did == 10) { sjn.mp3yukle }
if ($did == 11) && ($did(1).sel) { write $+(-dl,$did(1).sel) liste.sjn | did -d sjn.radyo 1 $did(1).sel }
if ($did == 12) { .remove liste.sjn | did -r sjn.radyo 1 }
if ($did == 18) {
did -r sjn.radyo 25
var %i 1
while %i <= $sock(sjn.sock*,0) {
did -a sjn.radyo 25 %i - $sock(sjn.sock*,%i).ip $+ : $+ $sock(sjn.sock*,%i).port
inc %i
}
}
if ($did == 29) {
did -r sjn.radyo 25
var %i 1
while %i <= $sock(sjn.sock*,0) {
whilefix
did -a sjn.radyo 25 %i - $sock(sjn.sock*,%i).ip $+ : $+ $sock(sjn.sock*,%i).port
inc %i
}
}
if ($did == 27) { if ($did(sjn.radyo,25).sel) { sockclose $sock(sjn.sock*,$did(sjn.radyo,25).sel) | did -d sjn.radyo 25 $did(sjn.radyo,25).sel } }
if ($did == 26) && ($did(25).sel) {
.auser sjn.ban $gettok($did(25).seltext,1,$asc(:))
did -a sjn.radyo 22 $gettok($did(25).seltext,1,$asc(:))
var %q 1,%z $sock(sjn.sock*,0),%m $gettok($did(25).seltext,1,$asc(:)),%t 0
while %q <= %z {
whilefix
if ($sock(sjn.sock*,%q).ip == %m) { hadd sjn.mp3 sjn.banned $+ %q $sock(sjn.sock*,%q) | inc %t }
inc %q
}
var %r 1
while %r <= %t {
whilefix
sockclose $eval($ $+ hget $+ (sjn.mp3,sjn.banned $+ %r $+ ),2)
hdel sjn.mp3 $+(sjn.banned,%r)
inc %r
}
did -r sjn.radyo 25
var %i 1
while %i <= $sock(sjn.sock*,0) {
whilefix
did -a sjn.radyo 25 %i - $sock(sjn.sock*,%i).ip $+ : $+ $sock(sjn.sock*,%i).port
inc %i
}
}
if ($did == 24) && ($did(22).sel) { .ruser sjn.ban $did(22).seltext | did -d sjn.radyo 22 $did(22).sel }
if ($did == 23) { var %i $?"Ip yi Yaziniz." | if (%i) { .auser sjn.ban %i | did -a sjn.radyo 22 %i } }
}
if ($devent == dclick) {
if ($did == 1) {
if ($sock(sjn.web)) {
hadd sjn.mp3 sjn.Sonraki $read(liste.sjn,$did(1).sel)
did -a sjn.radyo 3 $sjn.zaman After Song: $remove($gettok($read(liste.sjn,$did(1).sel),-1,$asc(\)),.mp3) $+ $crlf }
}
if (!$sock(sjn.web)) {
hadd sjn.mp3 sjn.dosya $read(liste.sjn,$did(1).sel))
}
}
if ($devent == Close) { dialog -m sjn.yukle sjn.yukle | hadd sjn.mp3 sjn.data 0 | dialog -s sjn.yukle -1 -1 100 25 | did -ra sjn.yukle 1 Radio Closed | dialog -t sjn.yukle Radio Server | sockclose sjn.* | .remove log1.sjn | hdel sjn.mp3 sjn.dosya | hdel sjn.mp3 sjn.sonraki }
if ($devent == edit) {
if ($did == 28) { if ($did(28) isnum) { hadd sjn.mp3 sjn.max $did(28) }
if ($did(28) !isnum) && ($did(28)) { dialog -m sjn.yukle sjn.yukle | dialog -s sjn.yukle -1 -1 100 25 | did -ra sjn.yukle 1 OnLy Number! | dialog -t sjn.yukle Radio Server | did -r sjn.radyo 28 }
}
if ($did == 30) { if ($did(30) !isnum) && ($did(30)) { dialog -m sjn.yukle sjn.yukle | dialog -s sjn.yukle -1 -1 100 25 | did -ra sjn.yukle 1 OnLy Number! | dialog -t sjn.yukle Radio Server | did -r sjn.radyo 30 } }
}
}
alias -l whilefix { dll $+(",$scriptdir,whilefix\WhileFix.dll,") WhileFix . }
alias -l whilefixfile { dll $+(",$scriptdir,whilefix\WhileFix.dll,") W_FindFile -l $1 $2 -1 $3 0 }
alias -l whilefixfilesayi { dll $+(",$scriptdir,whilefix\WhileFix.dll,") W_FindFile $1 $2 -1 $3 0 }
alias sjn.mp3yukle {
$iif($dialog(sjn.yukle),.dialog -x sjn.yukle sjn.yukle)
hadd sjn.mp3 sjn.yukleklasor $sdir(*.mp3,Klasörü Secin)
$iif($hget(sjn.mp3,sjn.yukleklasor),whilefixfilesayi $shortfn($hget(sjn.mp3,sjn.yukleklasor)) *.mp3 sjn.yukle1)
}
alias sjn.yukle1 {
hadd sjn.mp3 sjn.mp3sayi $2
if ($1 == WF_SDONE) { sjn.yukle2 }
}
alias sjn.yukle2 {
whilefixfile $shortfn($hget(sjn.mp3,sjn.yukleklasor)) *.mp3 sjn.yukle3
}
alias sjn.yukle3 {
$iif(!$dialog(sjn.yukle),dialog -m sjn.yukle sjn.yukle)
if ($dialog(sjn.yukle)) { dialog -t sjn.yukle Loading : % $+ $round($calc($calc($2 * 100) / $hget(sjn.mp3,sjn.mp3sayi)),0) | did -ra sjn.yukle 1 Loading: $3- }
if ($round($calc($calc($2 * 100) / $hget(sjn.mp3,sjn.mp3sayi)),0) == 100) { $iif($dialog(sjn.yukle),dialog -x sjn.yukle sjn.yukle) }
write liste.sjn $3-
$iif($dialog(sjn.radyo) && $gettok($3-,-1,$asc(\)),did -a sjn.radyo 1 $gettok($3-,-1,$asc(\)))
hdel sjn.mp3 sjn.yukleklasor
}
dialog sjn.yukle {
title "Loading Please Wait"
icon $shortfn($scriptdirradyo.ico)
size -1 -1 144 25
option dbu
text "Loading..", 1, 5 2 134 21
}
alias -l sjn.durum {
if ($dialog(sjn.radyo)) {
did -a sjn.radyo 3 $sjn.zaman Playing Song: $remove($gettok($hget(sjn.mp3,sjn.dosya),-1,$asc(\)),.mp3) $+ $crlf
did -a sjn.radyo 3 $sjn.zaman After Song: $remove($gettok($hget(sjn.mp3,sjn.sonraki),-1,$asc(\)),.mp3) $+ $crlf
if (!$1) { did -a sjn.radyo 3 $sjn.zaman Number Of Listener: $sock(sjn.sock*,0) $+ $crlf }
}
}
alias -l sjn.zaman { return < $+ $time(HH:nn) $+ > }
alias -l sjn.baslat {
if ($hget(sjn.mp3,sjn.data) == 0) && ($sock(sjn.sock*,0) != 0) && ($hget(sjn.mp3,sjn.gecis) != Ok!) { $iif(!$timer(sjn.sonraki),.timersjn.sonraki 1 3 sjn.sonraki) }
if ($hget(sjn.mp3,sjn.data) != 0) { did -c sjn.radyo 15 $round($calc($calc($calc($file($hget(sjn.mp3,sjn.dosya)).size - $hget(sjn.mp3,sjn.data)) * 100) / $file($hget(sjn.mp3,sjn.dosya)).size),0) }
var %i 1
while %i <= $sock(sjn.sock*,0) {
whilefix
if ($gettok($read(log1.sjn,w, * $+ $sock(sjn.sock*,%i) $+ *),2,32) == Winamp) { hadd sjn.mp3 sjn.data $sock(sjn.sock*,%i).sq | return }
inc %i
}
}
alias -l sjn.sonraki {
hadd sjn.mp3 sjn.gecis Ok!
hadd sjn.mp3 sjn.dosya $hget(sjn.mp3,sjn.sonraki)
var %q 1
while %q <= $lines(liste.sjn) {
whilefix
if ($read(liste.sjn,%q) == $hget(sjn.mp3,sjn.dosya)) {
if ($calc(%q +1) <= $lines(liste.sjn)) {
hadd sjn.mp3 sjn.sonraki $read(liste.sjn,$calc(%q +1))
}
else { hadd sjn.mp3 sjn.sonraki $read(liste.sjn,1) }
}
inc %q
}
if ($hget(sjn.mp3,sjn.dosya)) && ($exists($hget(sjn.mp3,sjn.dosya))) {
var %z 1
while %z <= $lines(liste.sjn) {
whilefix
if ($read(liste.sjn,%z) == $hget(sjn.mp3,sjn.dosya)) {
did -c sjn.radyo 1 %z
}
inc %z
}
$iif($hget(sjn.mp3,sjn.dosya) && $exists($hget(sjn.mp3,sjn.dosya)),bread $shortfn($hget(sjn.mp3,sjn.dosya)) 0 $file($hget(sjn.mp3,sjn.dosya)).size &sjn.mp3)
did -a sjn.radyo 3 $sjn.zaman Playing Song: $remove($gettok($hget(sjn.mp3,sjn.dosya),-1,$asc(\)),.mp3) $+ $crlf
did -a sjn.radyo 3 $sjn.zaman After Song: $remove($gettok($hget(sjn.mp3,sjn.sonraki),-1,$asc(\)),.mp3) $+ $crlf
var %i 1
while %i <= $sock(sjn.sock*,0) {
whilefix
if ($gettok($read(log1.sjn,w, * $+ $sock(sjn.sock*,%i) $+ *),2,32) == Winamp) {
$iif($sock(sjn.sock*,%i).sq < 16384,sockwrite -n $sock(sjn.sock*,%i) &sjn.mp3)
}
inc %i
}
}
.timer 1 2 hdel sjn.mp3 sjn.gecis
.timersjn.sonraki off
}
alias help {
if ($1 == radioserver) {
$iif($exists($shortfn($scriptdirbenioku.txt)),run $shortfn($scriptdirreadme.txt),echo -a Readme.txt Has Deleted) }
else { help $1- }
}
menu status,channel,menubar {
$iif($dialog(sjn.radyo),$style(2) Radio Server Opened,$style(0) Run Radio Server):.radioserver
}
on *:LOAD:{
if ($version < 6.16) { echo -a 4 Addon Cannot Load: Your mIRC's Version must be higher than 6.16 | unload -rs $shortfn($script) | return }
echo -a 4 Radio Server Loaded Successfully
echo -a 4 You Can Work With /Radioserver Command Or With Popups
echo -a 4 For Help: /Help radyoserver Command
echo -a 4 SCouNDReL ...
}
on *:UNLOAD:{
echo -a 4 Radio Server Unloaded Succssfully
echo -a 4 SCouNDReL ...
.timersjn* off
}