VoodooFetch — File Browser
VoodooFetchv1.2 / VoodooFetchv1.2 / vdfetch.mrc
vdfetch.mrc — 11.27 KB — Download this file
alias vdfetch {
window -eld @VoodooFetch 150 200 500 120 /VoodooFetch @VoodooFetch
if ($1 != $null) VoodooFetch $1
}
alias VoodooFetch {
if ($count($1,.) <= 1) { vdfetchrename $1 yes | return }
if ($count($1,.) <= 0) { rline @Voodoofetch 1 Invalid URL. | return }
set %vdfetchdltype $readini $scriptdirvdfetch.ini settings downloadtype
set %vdfetchinput $remove($1-,HTTP://)
set %vdfetchdldir $readini $scriptdirvdfetch.ini settings downloaddir
set %vdfetchtemp $calc($pos(%vdfetchinput,$chr(47),1) -1)
set %vdfetchaddy $left(%vdfetchinput,%vdfetchtemp)
set %vdfetchfile $remove(%vdfetchinput,%vdfetchaddy)
set %vdfetchi 4
:vdfetchfilename
inc %vdfetchi
%vdfetchtemp = $right(%vdfetchinput,%vdfetchi)
if $chr(47) isin %vdfetchtemp { set %vdfetchfilename $remove(%vdfetchtemp,$chr(47)) | goto next }
else goto vdfetchfilename
:next
set %vdfetchdldirfile %vdfetchdldir $+ %vdfetchfilename
if ($exists(%vdfetchdldirfile) == $true) { $yesno(vdfetchconfirm,Overwrite Existing File [ %vdfetchfilename ] ??) | return }
else { vdfetchconfirm yes }
}
alias vdfetchconfirm {
if ($1 == no) { dline @VoodooFetch 1-5 | rline @VoodooFetch 1 Please rename file }
else if ($1 == yes) { vdfetchrename %vdfetchfilename yes }
else vdfetchrename %vdfetchfilename yes
}
alias vdfetchrename {
set %vdfetchfilename $1
set %vdfetchdldirfile %vdfetchdldir $+ $1
if ($2 == yes) { goto next }
if ($exists(%vdfetchdldirfile) == $true) { $yesno(vdfetchconfirm,Overwrite Existing File [ %vdfetchfilename ] ??) | return }
:next
.enable #vdfetchdns #vdfetchfilesize
.disable #vdfetchfileget #vdfetchtxtget
.dns %vdfetchaddy
rline @VoodooFetch 1 Looking up host %vdfetchaddy
dline @VoodooFetch 2-5
}
alias vdfetchtype {
.disable #vdfetchfilesize
if (%vdfetchdltype == Auto) {
if (*html* iswm %vdfetchfiletype) .enable #vdfetchtxtget
else if (*text* iswm %vdfetchfiletype) .enable #vdfetchtxtget
else .enable #vdfetchfileget
goto next
}
else if (%vdfetchdltype == Ascii) { .enable #vdfetchtxtget }
else { .enable #vdfetchfileget }
:next
vdfetchstatus
return
}
alias vdfetchstatus {
if (%vdfetchfilesize == $null) set %vdfetchfilesize ?????
rline @VoodooFetch 1 Receiving File.... %vdfetchfile
rline @VoodooFetch 2 Saving as %vdfetchdldir $+ %vdfetchfilename
rline @VoodooFetch 3 File Size: %vdfetchfilesize Bytes
.timervdfilesize 0 2 /vdfetchstatusupdate
return
}
alias vdfetchstatusupdate {
inc %vdfetchfileticks 2
%vdfetchreceived = $sock(vdfetch,1).rcvd
rline @VoodooFetch 4 -Received: %vdfetchreceived Bytes ( $+ $round($calc((%vdfetchreceived / 1024) / %vdfetchfileticks),2) Kb/s $+ )
titlebar @VoodooFetch -Downloading file: %vdfetchfilename ( $+ $int($calc((%vdfetchreceived / %vdfetchfilesize) * 100)) $+ % $+ )
}
alias vdfetchnfo {
window -a @ScRiPTaZ
.disable #vdfetchlistget #vdfetchfileget #vdfetchtxtget
.enable #vdfetchmotd
set %vdfetchnfo $right($1,4)
set %vdfetchnfo $remove($1,%vdfetchnfo) $+ .nfo
sockopen nfofetch free.prohosting.com 80
}
;socket stuff---------------------------
on 1:sockopen:vdfetch:{
sockwrite -n vdfetch GET %vdfetchfile HTTP/1.1
sockwrite -n vdfetch HOST: $ip
sockwrite vdfetch $cr $+ $lf
}
on 1:sockopen:motdfetch:/sockwrite -n motdfetch GET /~scriptaz/#--==ScRiPTaZ==--.motd
on 1:sockopen:listfetch:/window -ldo @VoodooFetch_List 450 320 200 120 /VoodooFetch_List @VoodooFetch_List | sockwrite -n listfetch GET /~scriptaz/filelist.txt
on 1:sockopen:nfofetch:/sockrename nfofetch motdfetch | sockwrite -n motdfetch GET /~scriptaz/ $+ %vdfetchnfo
on 1:sockclose:motdfetch:/.disable #vdfetchmotd
on 1:sockclose:vdfetch: {
.timervdfilesize off
set %vdfetchfileticks 0
rline @VoodooFetch 4 Received: %vdfetchfilesize Bytes
rline @VoodooFetch 5 Download Complete.
titlebar @VoodooFetch -Ready
unset %vdfetch*
}
#vdfetchfilesize on
on 1:sockread:vdfetch {
sockread %vdfetchtemp
if (*404* iswm %vdfetchtemp) { sockclose vdfetch | dline @VoodooFetch 1- | aline @VoodooFetch Error, File not found. | halt }
if (Content-Length:* iswm %vdfetchtemp) set %vdfetchfilesize $remove(%vdfetchtemp,Content-Length:)
if (Content-Type:* iswm %vdfetchtemp) set %vdfetchfiletype $remove(%vdfetchtemp,Content-Type:)
if (%vdfetchtemp = $null) { vdfetchtype | return }
}
#vdfetchfilesize end
#vdfetchdns off
on 1:DNS:{
if ($raddress == $null) { rline @VoodooFetch 1 Could not resolve %vdfetchaddy | .disable #vdfetchdns }
else { set %vdfetchip $raddress | write -c %vdfetchdldirfile | sockopen vdfetch %vdfetchip 80 | .disable #vdfetchdns | rline @Voodoofetch 1 Contacting host %vdfetchip }
}
#vdfetchdns end
#vdfetchfileget off
on 1:sockread:vdfetch {
:begin
sockread &vdtempvar
if ($sockbr == 0) { return }
bwrite %vdfetchdldirfile -1 &vdtempvar
goto begin
}
#vdfetchfileget end
#vdfetchtxtget off
on 1:sockread:vdfetch {
:begin
sockread %vdtempvar
if ($sockbr == 0) { return }
if (%vdtempvar == $null) write %vdfetchdldirfile $chr(160)
else write %vdfetchdldirfile %vdtempvar
goto begin
}
#vdfetchtxtget end
#vdfetchmotd off
on 1:sockread:motdfetch:{
sockread %vdtempvar
if (*<HTML>* iswm %vdtempvar) { sockclose motdfetch | aline @ScRiPTaZ 4There is no info file for this script. | halt }
if (%vdtempvar == $null) aline @ScRiPTaZ $chr(160)
else aline @ScRiPTaZ %vdtempvar
}
#vdfetchmotd end
#vdfetchlistget on
on 1:sockread:listfetch:{
sockread %vdtempvar
aline @VoodooFetch_List %vdtempvar
}
#vdfetchlistget end
menu @VoodooFetch {
--==ScRiPTaZ==-- Stuff
.Get --==ScRiPTaZ==-- MOTD!:/.enable #vdfetchmotd | window -a @ScRiPTaZ | aline @ScRiPTaZ 9Receiving MOTD | sockopen motdfetch free.prohosting.com 80
.Get --==ScRiPTaZ==-- script list:/.enable #vdfetchlistget | dline @VoodooFetch 1- | aline @VoodooFetch Getting script list. | sockopen listfetch free.prohosting.com 80
-
Preferences
.Download Dir ( $+ $readini $scriptdirvdfetch.ini settings downloaddir $+ ):/writeini $scriptdirvdfetch.ini settings downloaddir $sdir[="Select a directory"]
.Download mode ( $+ $readini $scriptdirvdfetch.ini settings downloadtype $+ )
..Auto Detect:/writeini $scriptdirvdfetch.ini settings downloadtype Auto
..Acsii (txt):/writeini $scriptdirvdfetch.ini settings downloadtype Acsii
..Binary:/writeini $scriptdirvdfetch.ini settings downloadtype Binary
.-
.Auto View .txt Files ( $+ $readini $scriptdirvdfetch.ini settings viewtxt $+ )
..On:/writeini $scriptdirvdfetch.ini settings viewtxt On
..Off:/writeini $scriptdirvdfetch.ini settings viewtxt Off
-
Stop:/sockclose vdfetch motdfetch listfetch | unset %vdfetch* | timervdfilesize off | set %vdfetchfileticks 0 | dline @VoodooFetch 1-
-
About VoodooFetch:/scaboutvoodoofetch
}
menu @VoodooFetch_List {
dclick:/.disable #vdfetchlistget | vdfetch free.prohosting.com/~scriptaz/ $+ $sline(@VoodooFetch_List,1) | dline @VoodooFetch 1-
More info:/vdfetchnfo $sline(@VoodooFetch,1)
Download now:/.disable #vdfetchlistget | vdfetch free.prohosting.com/~scriptaz/ $+ $sline(@VoodooFetch_List,1) | dline @VoodooFetch 1-
}
menu menubar,status,channel {
-
VoodooFetch 1.2:/vdfetch
}
;ABOUT MENU STUFF
alias scaboutVoodooFetch {
.enable #aboutVoodooFetchsockets
window -pdo +f @About_VoodooFetch 300 100 175 225 @About_VoodooFetch
drawrect -f @About_VoodooFetch 15 1 0 0 175 225
drawrect -f @About_VoodooFetch 1 1 10 172 150 20
drawtext -o @About_VoodooFetch 1 Arial 15 10 5 VoodooFetch
drawtext @About_VoodooFetch 1 Arial 14 10 20 Version 1.2 Beta
drawtext @About_VoodooFetch 1 Arial 14 10 35 Addon script
drawtext @About_VoodooFetch 1 Arial 14 10 50 March 8, 1998
drawtext -o @About_VoodooFetch 1 Arial 15 10 70 By WEIRD_H
drawtext @About_VoodooFetch 1 Arial 12 10 87 weirdh@geocities.com
drawtext @About_VoodooFetch 1 Arial 12 10 101 weird_h.home.ml.org
drawtext @About_VoodooFetch 9 Arial 14 22 177 http://scriptaz.home.ml.org
drawpic -c @About_VoodooFetch 10 120 $scriptdirminilogo.bmp
vuaboutVoodooFetch
}
;Version updater and MOTD getter.
alias vuaboutVoodooFetch {
drawrect @About_VoodooFetch 14 5 115 10 45 50
drawrect -f @About_VoodooFetch 15 1 113 8 45 50
drawline @About_VoodooFetch 0 2 114 59 114 9 159 9
drawtext @About_VoodooFetch 1 Arial 12 118 15 Download
drawtext @About_VoodooFetch 1 Arial 12 122 30 Latest
drawtext @About_VoodooFetch 1 Arial 12 119 45 Version!
}
menu @About_VoodooFetch {
mouse:{
if ($inrect($mouse.x,$mouse.y,10,120,150,40) == $true) { drawrect -f @About_VoodooFetch 1 1 10 172 150 20 | drawtext @About_VoodooFetch 9 Arial 14 24 177 View message of the day! }
else if ($inrect($mouse.x,$mouse.y,108,3,50,60) == $true) { drawrect -f @About_VoodooFetch 1 1 10 172 150 20 | drawtext @About_VoodooFetch 9 Arial 14 23 177 Live version update! Do it! }
else if ($inrect($mouse.x,$mouse.y,10,172,150,20) == $true) { drawrect -f @About_VoodooFetch 1 1 10 172 150 20 | drawtext @About_VoodooFetch 9 Arial 14 22 177 http://scriptaz.home.ml.org }
else halt
}
sclick:{
if ($inrect($mouse.x,$mouse.y,10,172,150,20) == $true) { run $readini mirc.ini files browser http://scriptaz.home.ml.org }
else if ($inrect($mouse.x,$mouse.y,10,120,150,40) == $true) { window -a @ScRiPTaZ | sockopen motdfetch free.prohosting.com 80 | aline @ScRiPTaZ 9Receiving MOTD. }
else if ($inrect($mouse.x,$mouse.y,108,3,50,60) == $true) { window -a @ScRiPTaZ | sockopen updatecheck free.prohosting.com 80 | aline @ScRiPTaZ 9Checking for newer version of VoodooFetch $+ ... }
else halt
}
}
#aboutVoodooFetchsockets off
on 1:sockopen:motdfetch:/sockwrite -n motdfetch GET /~scriptaz/#--==ScRiPTaZ==--.motd
on 1:sockopen:updatecheck:/sockwrite -n updatecheck GET /~scriptaz/vdfetch.nfo
on 1:sockopen:updatefetch:/sockwrite -n updatefetch GET /scriptaz/vdfetch.zip | aline @ScRiPTaZ 9Downloading %aboutscriptname to $mircdirdownloads $+ .
on 1:sockread:motdfetch:{
sockread %tempvar
if (%tempvar == $null) aline @ScRiPTaZ $chr(160)
else aline @ScRiPTaZ %tempvar
}
on 1:sockread:updatecheck:{
sockread %tempvar
if (Version:* iswm %tempvar) set %updateversion $remove(%tempvar,Version:)
if (%tempvar == $null) aline @ScRiPTaZ $chr(160)
else aline @ScRiPTaZ %tempvar
}
on 1:sockread:updatefetch:{
:begin
sockread &tempvar
if ($sockbr == 0) { return }
bwrite $scriptdir\vdfetch.zip -1 &tempvar
goto begin
}
on 1:sockclose:motdfetch:/.disable #aboutVoodooFetchsockets
on 1:sockclose:updatefetch:/disable #aboutVoodooFetchsockets | aline @ScRiPTaZ 9Download of @About version %updateversion complete! | /aline @ScRiPTaZ 9Unzip the file and follow the directions in the readme.txt file. | /aline -p @ScRiPTaZ 4Important! Do not close mIRC untill you load the new script otherwise the new file will be overwritten by the old one!
on 1:sockclose:updatecheck:{
.disable #aboutVoodooFetchsockets
if (%updateversion > 1.2) { aline @ScRiPTaZ 9Current version is higher than your version. Automatic download started. | write -c $scriptdir\vdfetch.zip | sockopen updatefetch free.prohosting.com 80 }
else aline @ScRiPTaZ 9You have the latest version of this script. Check often for updates!
}
#aboutVoodooFetchsockets end