mIRC Home    About    Download    Register    News    Help

Print Thread
#86153 09/06/04 07:28 PM
Joined: Jun 2003
Posts: 19
U
Pikka bird
OP Offline
Pikka bird
U
Joined: Jun 2003
Posts: 19
I just wrote a script to automatically update my servers.ini file whenever a new one is released. Then I got to thinking.. how about mIRC itself when a new version comes out? So I searched google.. the first result took me to a post on these boards:

https://forums.mirc.com/showflat.php?Cat=...&fpart=

I understand that mIRC (and a silent install) can be dangerous.. but wouldn't any malicious user with half a brain simply use mirc.exe, not an installer? The installer adds itself to the Add/Remove Programs list and surely adds some registry entries, whereas the regular mirc.exe can be used as-is and be just as malicious without being as obvious.

So is there a silent install option? Or a way to extract the files from installers of new versions of mIRC?

Last edited by UrbanPuppet; 09/06/04 07:30 PM.
#86154 11/06/04 04:25 PM
Joined: May 2004
Posts: 50
Z
zaz Offline
Babel fish
Offline
Babel fish
Z
Joined: May 2004
Posts: 50
Try posting this in the feature suggestions forum. You posted in the forum where users get help with their mIRC problems.

https://forums.mirc.com/postlist.php?Cat=&Board=featuresuggestions

As for the feature, it's something a lot of applications are doing today, but it shouldn't be "silent" and automatic by default. If implimented it should prompt the users "do you want to check for updates".

The biggest problem is that it will generate a bit more web traffic to perform the update checks. And with as many users as mIRC has on a regular basis that can add up real quick.

Anyway, good luck with your suggestion.


zaz @ DALnet #mIRC http://www.mirc.org/ & #HelpDesk http://helpdesk.zaz.net/
#86155 14/06/04 06:18 PM
Joined: May 2004
Posts: 50
Z
zaz Offline
Babel fish
Offline
Babel fish
Z
Joined: May 2004
Posts: 50
Hope you are still watching this thread. I found a script today at mIRCScripts.Org that seems to do what you want. Copied it below for you...

Code:
;mIRC Update Checker v2.0
;by Soul_Eater
;/download alias by ^andy, has been modified.
;Syntax:
;/mircupd check 
;<<--checks version of mIRC.
;/mircupd list
;<<--retrieves the list of whats new in mIRC
;/mircupd get
;<<--downloads the newest copy of mIRC

alias -l input1 { var %x $input(Your copy of mIRC is up to date!,oi,Status) }
alias -l input2 { 
  if ($input(The latest copy of mIRC available is %mu-num Update?,yi,Status)) { mircupd get }
}
;on *:start:mircupd check
alias mircupd {
  unset %sockread*
  sockopen mirc www.mirc.co.uk 80
  set %mu-r $1
}
ON *:SOCKOPEN:mirc:{
  if ($sockerr) {
    echo -s $sock($sockname).wsmsg
    return
  }
  if (%mu-r == check) { sockwrite -n $sockname GET /index.html HTTP/1.1 }
  if (%mu-r == list) { set %mu-x 0 | sockwrite -n $sockname GET /whatsnew.txt HTTP/1.1 | window -a @MU-List }
  if (%mu-r == get) { sockwrite -n $sockname GET /get.html HTTP/1.1 }
  sockwrite -n $sockname Host: www.mirc.co.uk $+ $str($crlf,2)
}
ON *:SOCKREAD:mirc:{
  if ($sockerr) {
    sockclose mirc
    return
  }
  sockread %sockread
  if (%mu-r == list) { 
    if (%sockread) {
      if (%mu-x >= 9) {
        aline @MU-List %sockread
      }
      inc %mu-x
    }
  }
  if (%mu-r == check) {
    if (*<B>mIRC* iswm %sockread)  {
      if (%mu-num) { sockclose $sockname }
      set %mu-num $gettok($remove($gettok(%sockread,3,62),</B),2,32)
      if ($version == %mu-num) { .timer -m 1 0 input1 }
      if ($version < %mu-num) { .timer -m 1 0 input2 }
    }
  }
  if (%mu-r == get) {
    if (*cabinet* iswm %sockread) && (*older* !iswm %sockread) { set %mu-fn $remove($gettok(%sockread,2,62),</B) }
    if (%mu-fn isin %sockread)  { set %mu-fd $gettok(%sockread,2,34) }
  }
}
ON *:SOCKCLOSE:mirc:{
  if (%mu-r == list) { unset %sockread* %mu-* }
  if (%mu-r == get) { download %mu-fd } 
  else { unset %sockread* %mu-* }
}

alias -l download {
  if ($sock(dl)) {
    echo $colour(info text) @download *** already downloading; please wait.
    return
  }
  sockopen dl $gettok($1,2,47) 80
}
on *:sockopen:dl:{
  if ($sockerr) {
    echo $colour(info text) @download *** error $sock($sockname).wsmsg when downloading
    return
  }
  write -c %mu-fn
  unset %downloadlength %downloadready
  window -c @download
  sockwrite -n $sockname GET $+(/,$gettok(%mu-fd,3-,47)) HTTP/1.0
  sockwrite -n $sockname Accept: */*
  sockwrite -n $sockname Host: $gettok(%mu-fd,2,47) $+ $str($crlf,2)
  sockwrite -n $sockname
}
on *:sockread:dl:{
  if (%downloadready != 1) {
    var %header
    sockread %header
    while ($sockbr) {
      if (Content-length: * iswm %header) {
        %downloadlength = $gettok(%header,2,32)
        if (* !iswm $window(@download)) window @download
        echo $colour(info text) @download *** file size: %downloadlength bytes
      }
      elseif (* !iswm %header) {
        %downloadready = 1
        %downloadoffset = $sock($sockname).rcvd
        break
      }
      sockread %header
    }
  }
  sockread 4096 &d
  while ($sockbr) {
    if (* !iswm $window(@download)) window @download
    echo $colour(info text) @download *** received: $round( $calc(100 * ($sock($sockname).rcvd - %downloadoffset) / %downloadlength) ,1) $+ %
    bwrite %mu-fn -1 -1 &d
    sockread 4096 &d
  }
}
on *:sockclose:dl:{
  echo $colour(info text) @download *** done downloading %mu-fn
  run %mu-fn
}
menu @download {
  Stop Downloading:sockclose dl | .remove %mu-fn
  Close Window:window -c @download
}


zaz @ DALnet #mIRC http://www.mirc.org/ & #HelpDesk http://helpdesk.zaz.net/

Link Copied to Clipboard