alias getfile {
if ($regex($1,/http:\/\/([^\/]+)(\/(?:.+\/)?)([^\/]+)/)) {
.dccserver +scf on 59
var %newsock = fdcc $+ $sock(fdcc*,0)
sockopen %newsock 127.0.0.1 59
sockmark %newsock $regml(1) $regml(2) $regml(3)
}
else { echo -a Invalid web address. }
}
on 1:sockopen:fdcc*:{
tokenize 32 $sock($sockname).mark
sockwrite -n $sockname 120 FakeSend 500000000 $iif($3,$replace($3,$chr(32),_),file.ext)
var %newsock = gethttp $+ $remove($sockname,fdcc)
sockopen %newsock $1 80
sockmark %newsock $2 $3
}
on *:sockopen:gethttp*:{
tokenize 32 $sock($sockname).mark
sockwrite -n $sockname GET $1 $+ $2
}
on *:sockread:gethttp*:{
if ($sockerr > 0) { return }
var %pushsock = fdcc $+ $remove($sockname,gethttp)
sockread $iif($calc(16384 - $sock(%pushsock).sq) >= 4096, 4096, 128) &binvar
if (($sock(%pushsock)) && ($calc($bvar(&binvar,0) + $sock(%pushsock).sq) <= 16384)) { sockwrite %pushsock &binvar }
else { sockclose $sockname }
}
on 1:sockclose:fdcc*:{ if ($sock(gethttp $+ $remove($sockname, fdcc))) { sockclose gethttp $+ $remove($sockname, fdcc) } }
on 1:sockclose:gethttp*:{ if ($sock(fdcc $+ $remove($sockname, gethttp))) { sockclose fdcc $+ $remove($sockname, gethttp) } }