All pastes #719067 Raw Edit

Miscellany

public text v1 · immutable
#719067 ·published 2007-09-28 22:29 UTC
rendered paste body
Alias Clone { 
  If ($Dialog(Clone)) { Dialog -v Clone } 
  Else { Dialog -md Clone Clone } 
} 

dialog Clone { 
  title "Clone" 
  size -1 -1 577 512 
  option pixels 
  tab "Settings", 75, 8 8 559 463 
  box "Settings", 1, 16 40 540 420, tab 75 
  edit "irc.chatvn.com", 2, 66 62 242 21, tab 75 autohs 
  text "Server:", 3, 24 64 34 16, tab 75 
  edit "6667", 4, 312 62 44 20, tab 75 limit 5 
  text "Protocol:", 5, 24 90 42 16, tab 75 
  combo 6, 66 86 80 68, tab 75 size drop 
  box "On Connect", 7, 24 248 332 204, tab 75 
  box "Nickname and Real Name", 8, 24 120 332 124, tab 75 
  text "Connections:", 9, 152 90 66 16, tab 75 
  edit "128", 10, 224 88 44 20, tab 75 limit 4 
  radio "Random", 11, 32 136 58 20, tab 75 
  radio "Nicklist:", 12, 32 160 54 20, tab 75 
  radio "Other:", 13, 32 184 54 20, tab 75 
  edit "", 14, 88 160 196 20, disable tab 75 autohs 
  edit "", 15, 88 184 196 20, disable tab 75 limit 10 
  button "&Browse", 16, 288 160 58 20, disable tab 75 
  text "UserMode:", 17, 32 272 50 16, tab 75 
  edit "+id", 18, 88 270 60 20, tab 75 
  edit "", 19, 32 312 316 132, tab 75 multi return autohs autovs 
  text "Raw IRC Commands:", 20, 32 296 106 16, tab 75 
  box "Proxy/Socks List", 26, 360 56 188 396, tab 75 
  edit "", 85, 88 214 260 21, tab 75 autohs limit 70 
  text "Host:", 27, 368 80 26 16, tab 75 
  text "Port:", 28, 368 104 26 16, tab 75 
  edit "", 29, 400 78 140 20, tab 75 limit 15 
  edit "", 30, 400 102 140 20, tab 75 limit 5 
  button "Add", 31, 368 128 82 20, tab 75 
  button "Remove", 32, 456 128 82 20, tab 75 
  button "Import File", 33, 368 152 82 20, tab 75 
  list 34, 368 176 172 238, tab 75 size 
  button "Remove All", 35, 368 418 170 24, tab 75 
  check "CTCP Replies", 81, 272 89 84 20, tab 75 
  text "Real Name:", 82, 32 216 56 16, tab 75 
  button "Clipboard", 83, 456 152 82 20, tab 75 
  tab "Actions", 76 
  box "Actions", 36, 176 39 380 420, tab 76 
  box "Nicklist", 37, 16 40 156 356, tab 76 
  button "Join", 41, 184 62 67 20, disable tab 76 
  edit "", 42, 256 62 84 21, tab 76 autohs 
  button "Part", 43, 184 86 67 20, disable tab 76 
  edit "", 44, 256 86 84 21, tab 76 autohs 
  edit "", 45, 344 86 204 21, tab 76 autohs 
  button "Join Part", 46, 184 110 67 20, disable tab 76 
  edit "", 47, 256 110 84 21, tab 76 autohs 
  edit "", 48, 344 110 204 21, tab 76 autohs 
  button "Message", 49, 184 142 67 20, disable tab 76 
  edit "", 50, 256 142 84 21, tab 76 autohs 
  edit "", 51, 344 142 204 21, tab 76 autohs 
  button "Notice", 52, 184 166 67 20, disable tab 76 
  edit "", 53, 256 166 84 21, tab 76 autohs 
  edit "", 54, 344 166 204 21, tab 76 autohs 
  button "Describe", 55, 184 190 67 20, disable tab 76 
  edit "", 56, 256 190 84 21, tab 76 autohs 
  edit "", 57, 344 190 204 21, tab 76 autohs 
  button "CTCP", 58, 184 222 67 20, disable tab 76 
  edit "", 59, 256 222 84 21, tab 76 autohs 
  combo 60, 344 222 204 76, tab 76 size edit drop 
  button "DCC Send", 61, 184 246 67 20, disable tab 76 
  edit "", 62, 256 246 84 21, tab 76 autohs 
  edit "", 63, 344 246 204 21, tab 76 autohs 
  button "DCC Chat", 64, 184 270 67 20, disable tab 76 
  edit "", 65, 256 270 84 21, tab 76 autohs 
  button "Nick", 66, 184 294 67 20, tab 76 
  radio "Nicklist:", 68, 256 320 54 20, tab 76 
  radio "Other:", 69, 256 344 54 20, tab 76 
  radio "Random", 67, 256 296 58 20, tab 76 
  button "Browse", 72, 480 320 67 20, disable tab 76 
  edit "", 70, 312 320 164 21, disable tab 76 autohs 
  edit "", 74, 256 374 292 77, tab 76 multi return autohs autovs 
  button "Raw", 73, 184 374 67 20, disable tab 76 
  edit "", 71, 312 344 164 21, disable tab 76 limit 10 
  list 38, 24 56 140 308, tab 76 size extsel 
  text "Perform:", 39, 24 370 42 16, tab 76 
  combo 40, 72 368 92 60, tab 76 size drop 
  box "Statistics", 21, 16 400 156 60, tab 76 
  text "Total Connections:", 23, 24 436 92 16, tab 76 
  text "Connected Clones:", 22, 24 420 92 16, tab 76 
  text "0", 24, 120 420 42 16, tab 76 
  text "0", 25, 120 436 42 16, tab 76 
  tab "Get Lists", 97 
  edit "", 98, 24 56 260 21, tab 97 autohs 
  button "&Add URL", 99, 288 56 67 20, tab 97 
  list 100, 24 80 332 340, tab 97 size hsbar 
  box "URL List", 101, 16 40 348 420, tab 97 
  box "Taken Proxies/Socks", 102, 368 40 188 316, tab 97 
  list 103, 376 56 172 244, tab 97 size 
  button "Export", 104, 465 306 84 20, tab 97 
  text "Completed:", 105, 368 392 58 16, tab 97 
  text "0", 106, 432 408 122 16, tab 97 
  button "Get List", 107, 368 432 187 25, tab 97 
  button "Move to Proxy/Socks List", 109, 376 328 173 20, tab 97 
  text "Total Sites:", 110, 368 408 58 16, tab 97 
  text "0", 111, 432 392 122 16, tab 97 
  text "Socks/Proxies Taken:", 112, 368 368 106 16, tab 97 
  text "0", 113, 480 368 74 16, tab 97 
  button "Clear", 108, 376 306 84 20, tab 97 
  button "Remove Selected", 114, 24 432 163 20, tab 97 
  button "Remove All", 115, 192 432 163 20, tab 97 
  button "&Connect", 77, 8 480 83 25 
  button "&Disconnect", 78, 96 480 83 25 
  button "&Exit", 79, 490 480 75 25 
  button "Connected IP:Ports", 80, 368 480 115 25 
  button "Close Sockets", 84, 184 480 83 25 
} 

On *:Dialog:Clone:Init:*: { 
  Did -a $DName 6 Normal 
  Did -a $DName 6 Proxy 
  Did -a $DName 6 Sock 
  Did -c $DName 6 2 
  Did -a $DName 40 All 
  Did -a $DName 40 Selected 
  Did -c $DName 40 1 
  Did -a $DName 60 PING 
  Did -a $DName 60 TIME 
  Did -a $DName 60 VERSION 
  Did -c $DName 11 
  Did -c $DName 67 
  Add Socks 
} 

On *:Dialog:Clone:Edit:*: { 
  If ($Did == 42) { 
    If ($Left($Did(42),1) == $Chr(35)) && ($Count($Did(42),$Chr(32)) <= 1) { Did -e $DName 41 } 
    Else { Did -b $DName 41 } 
  } 
  If ($Did == 44) { 
    If ($Left($Did(44),1) == $Chr(35)) && ($Count($Did(44),$Chr(32)) == 0) { Did -e $DName 43 } 
    Else { Did -b $DName 43 } 
  } 
  If ($Did == 47) { 
    If ($Left($Did(47),1) == $Chr(35)) && ($Count($Did(47),$Chr(32)) == 0) { Did -e $DName 46 } 
    Else { Did -b $DName 46 } 
  } 
  If ($Did == 50) { 
    If ($Count($Did(50),$Chr(32)) == 0) && ($Len($Did(50)) >= 1) && ($Did(51)) { Did -e $DName 49 } 
    Else { Did -b $DName 49 } 
  } 
  If ($Did == 51) { 
    If ($Count($Did(50),$Chr(32)) == 0) && ($Len($Did(50)) >= 1) && ($Did(51)) { Did -e $DName 49 } 
    Else { Did -b $DName 49 } 
  } 
  If ($Did == 53) { 
    If ($Count($Did(53),$Chr(32)) == 0) && ($Len($Did(53)) >= 1) && ($Did(54)) { Did -e $DName 52 } 
    Else { Did -b $DName 52 } 
  } 
  If ($Did == 54) { 
    If ($Count($Did(53),$Chr(32)) == 0) && ($Len($Did(50)) >= 1) && ($Did(54)) { Did -e $DName 52 } 
    Else { Did -b $DName 52 } 
  } 
  If ($Did == 56) { 
    If ($Count($Did(56),$Chr(32)) == 0) && ($Len($Did(56)) >= 1) && ($Did(57)) { Did -e $DName 55 } 
    Else { Did -b $DName 55 } 
  } 
  If ($Did == 57) { 
    If ($Count($Did(56),$Chr(32)) == 0) && ($Len($Did(56)) >= 1) && ($Did(57)) { Did -e $DName 55 } 
    Else { Did -b $DName 55 } 
  } 
  If ($Did == 59) { 
    If ($Count($Did(59),$Chr(32)) == 0) && ($Len($Did(59)) >= 1) && ($Did(60)) { Did -e $DName 58 } 
    Else { Did -b $DName 58 } 
  } 
  If ($Did == 60) { 
    If ($Count($Did(59),$Chr(32)) == 0) && ($Len($Did(59)) >= 1) && ($Did(60)) { Did -e $DName 58 } 
    Else { Did -b $DName 58 } 
  } 
  If ($Did == 62) { 
    If ($Count($Did(62),$Chr(32)) == 0) && ($Len($Did(62)) >= 1) && ($Left($Did(62),1) != $Chr(35)) && ($Did(63)) { Did -e $DName 61 } 
    Else { Did -b $DName 61 } 
  } 
  If ($Did == 63) { 
    If ($Count($Did(62),$Chr(32)) == 0) && ($Len($Did(62)) >= 1) && ($Left($Did(62),1) != $Chr(35)) && ($Did(63)) { Did -e $DName 61 } 
    Else { Did -b $DName 61 } 
  } 
  If ($Did == 65) { 
    If ($Count($Did(65),$Chr(32)) == 0) && ($Len($Did(65)) >= 1) && ($Left($Did(65),1) != $Chr(35)) { Did -e $DName 64 } 
    Else { Did -b $DName 64 } 
  } 
  If ($Did == 74) { 
    If ($Len($Did(74)) >= 1) { Did -e $DName 73 } 
    Else { Did -b $DName 73 } 
  } 
  If ($Did == 70) { 
    If ($Did(70)) { Did -e $DName 66 } 
    Else { Did -b $DName 66 } 
  } 
  If ($Did == 71) { 
    If ($Did(71)) { Did -e $DName 66 } 
    Else { Did -b $DName 66 } 
  } 
} 

Alias Clone.Error { Var %E = $Input($1-,o,Clone) } 

On *:Dialog:Clone:SClick:*: { 
  If ($Did == 31) { 
    If (*.*.* iswm $Did(29)) && ($Did(30) <= 65535) && ($Did(30) >= 1) { Did -a $DName 34 $Did(29) $Did(30) } 
    Else { Clone.Error Invalid Sock/Proxy or Port } 
  } 
  If ($Did == 32) && ($Did(34).Sel) { Did -d $DName 34 $Did(34).Sel } 
  If ($Did == 33) { 
    Var %F = $SFile($mIRCDir,Clone,Import) 
    If (%F) { 
      Var %I = 1 
      While ($Read(%F,%I)) { 
        Var %F1 = $Read(%F,%I) 
        If ($Gettok(%F1,0,58) == 2) { Var %F1 = $Replace(%F1,$Chr(58),$Chr(32)) } 
        If ($Gettok(%F1,0,32) != 2) || ($Abs($Gettok(%F1,2,32)) == 0) { Clone.Error Invalid Sock/Proxy file | Return } 
        Else { Did -a $DName 34 %F1 } 
        Inc %I 
      } 
    } 
  } 
  If ($Did == 83) { 
    Var %I = 1 
    While ($CB(%I)) { 
      Var %F1 = $CB(%I) 
      If ($Gettok(%F1,0,58) == 2) { Var %F1 = $Replace(%F1,$Chr(58),$Chr(32)) } 
      If ($Gettok(%F1,0,32) != 2) || ($Abs($Gettok(%F1,2,32)) == 0) { Clone.Error Invalid Socks/Proxys in Clipboard | Return } 
      Else { Did -a $DName 34 %F1 } 
      Inc %I 
    } 
  } 
  If ($Did == 35) { Did -r $DName 34 } 
  If ($Did == 11) { Did -b $DName 14 | Did -b $DName 15 | Did -b $DName 16 } 
  If ($Did == 12) { Did -e $DName 14 | Did -b $DName 15 | Did -e $DName 16 } 
  If ($Did == 13) { Did -b $DName 14 | Did -e $DName 15 | Did -b $DName 16 } 
  If ($Did == 67) { Did -b $DName 70 | Did -b $DName 71 | Did -b $DName 72 | Did -e $DName 66 } 
  If ($Did == 68) { 
    Did -e $DName 70 | Did -b $DName 71 | Did -e $DName 72 
    If ($Did(70)) { Did -e $DName 66 } 
    Else { Did -b $DName 66 } 
  } 
  If ($Did == 69) { 
    Did -b $DName 70 | Did -e $DName 71 | Did -b $DName 72 
    If ($Did(71)) { Did -e $DName 66 } 
    Else { Did -b $DName 66 } 
  } 
  If ($Did == 16) { 
    Var %F = $SFile($mIRCDir,Clone,Import) 
    If (%F) { Did -ra $DName 14 %F } 
  } 
  If ($Did == 72) { 
    Var %F = $SFile($mIRCDir,Clone,Import) 
    If (%F) { Did -ra $DName 70 %F | Did -e $DName 66 } 
  } 
  If ($Did == 60) { 
    If ($Count($Did(59),$Chr(32)) == 0) && ($Len($Did(59)) >= 1) && ($Did(60)) { Did -e $DName 58 } 
    Else { Did -b $DName 58 } 
  } 
  If ($Did == 41) { Clone.Do $Did(40) JOIN $Did(42) } 
  If ($Did == 43) { Clone.Do $Did(40) PART $Did(44) : $+ $Did(45) } 
  If ($Did == 46) { Clone.Do $Did(40) JOINPART $Did(47) : $+ $Did(48) } 
  If ($Did == 49) { Clone.Do $Did(40) PRIVMSG $Did(50) : $+ $Did(51) } 
  If ($Did == 52) { Clone.Do $Did(40) NOTICE $Did(53) : $+ $Did(54) } 
  If ($Did == 55) { Clone.Do $Did(40) PRIVMSG $Did(56) :ACTION $Did(57) $+  } 
  If ($Did == 58) { Clone.Do $Did(40) PRIVMSG $Did(59) : $+ $Did(60) $+  } 
  If ($Did == 61) { Clone.Do $Did(40) PRIVMSG $Did(62) :DCC SEND $Did(63) $Rand(0,4294967294) 1024 $Rand(10000,500000) $+  } 
  If ($Did == 64) { Clone.Do $Did(40) PRIVMSG $Did(65) :DCC CHAT chat $Rand(0,4294967294) 1024 } 
  If ($Did == 66) { Clone.Do $Did(40) NICK } 
  If ($Did == 73) { 
    Var %I = 1 
    While ($Did(74,%I)) { Clone.Do $Did(40) RAW $Did(74,%I) | Inc %I } 
  } 
  If ($Did == 77) { 
    If (!$Did(34,1)) && (($Did(6) == Proxy) || ($Did(6) == Sock)) { Clone.Error Enter $Did(6) to the $Did(6) list } 
    ElseIf (*.*.* !iswm $Did(2)) { Clone.Error Enter a valid Server } 
    ElseIf ($Did(4) <= 0) && ($Did(4) >= 65535) { Clone.Error Enter a valid Port } 
    ElseIf (!$Did(10)) || ($Did(10) !isnum) { Clone.Error Enter the number clones to connect } 
    ElseIf ($Did(12).State == 1) && ($Exists($Did(14)) == $False) { Clone.Error Nicklist doesnt Exist } 
    ElseIf ($Did(13).State == 1) && (!$Did(15)) { Clone.Error Enter a Nickname } 
    ElseIf ($Did(6) == Sock) && ($Remove($Did(2),.) !isnum) { .Enable #Clone.DNS | .DNS $Did(2) } 
    Else { .TimerClone.Go $Did(10) 0 Clone.Go } 
  } 
  If ($Did == 78) { Did -r $DName 38 | Did -ra $DName 24 0 | Did -ra $DName 25 0 | SockClose Clone.* | Unset %Clone.* } 
  If ($Did == 79) { SockClose Clone.* | Dialog -x $DName } 
  If ($Did == 80) { Clone.IPs } 
  If ($Did == 84) { 
    Var %I = 1 
    While ($Sock(Clone.*,%I)) { 
      If (!$Sock(Clone.*,%I).Mark) { SockClose $Sock(Clone.*,%I) } 
      Inc %I 
    } 
    Did -ra Clone 25 $Sock(Clone.*,0) 
  } 
  If ($Did == 99) { 
    Did -a $DName 100 $Did(98) 
    Did -ra $DName 106 $Calc($Did(106) + 1) 
  } 
  If ($Did == 104) { 
    Var %F = $Input(Enter Filename:,ego,Clone) 
    If (%F) { 
      Var %I = 1 
      While ($Did(103,%I)) { Write %F $Did(103,%I) | Inc %I } 
    } 
  } 
  If ($Did == 107) { 
    Did -ra $DName 111 0 
    Var %I = 1 
    While ($Did(100,%I)) { 
      SockQueue CloneGet. [ $+ [ %I ] ] $Gettok($Remove($Did(100,%I),http://,www.),1,47) 80 
      Set %Clone.Get.URL. [ $+ [ %I ] ] $Gettok($Remove($Did(100,%I),http://,www.),1,47) 
      Set %Clone.Get.Ext. [ $+ [ %I ] ] $Iif($Gettok($Remove($Did(100,%I),http://,www.),2-,47),$Chr(47) $+ $Gettok($Remove($Did(100,%I),http://,www.),2-,47),$Chr(47)) 
      Inc %I 
    } 
  } 
  If ($Did == 108) { Did -r $DName 103 } 
  If ($Did == 109) { 
    Did -r $DName 34 
    Var %I = 1 
    While ($Did(103,%I)) { Did -a $DName 34 $Replace($Did(103,%I),$Chr(58),$Chr(32)) | Inc %I } 
  } 
  If ($Did == 114) && ($Did(100).Sel) { Did -d $DName 100 $Did(100).Sel } 
  If ($Did == 115) { Did -r $DName 100 } 
} 

On *:SockOpen:CloneGet.*: { 
  SockWrite -n $SockName GET %Clone.Get.EXT. [ $+ [ $Gettok($SockName,2,46) ] ] HTTP/1.0 
  SockWrite -n $SockName Accept: */* 
  SockWrite -n $SockName Host: www. $+ %Clone.Get.URL. [ $+ [ $Gettok($SockName,2,46) ] ] 
  SockWrite -n $SockName Connection: Keep-Alive 
  SockWrite -n $SockName 
  Unset %Clone.Get.EXT. [ $+ [ $Gettok($SockName,2,46) ] ] 
  Unset %Clone.Get.URL. [ $+ [ $Gettok($SockName,2,46) ] ] 
} 

On *:SockRead:CloneGet.*: { 
  SockRead %R 
  If $WildTok(%R,*.*.*.*:*,1,32) && ($Remove($WildTok(%R,*.*.*.*:*,1,32),$Chr(46),$Chr(58)) isnum) { 
    Did -a Clone 103 $WildTok(%R,*.*.*.*:*,1,32) 
    Did -ra Clone 113 $Calc($Did(Clone,113) + 1) 
  } 
  Unset %R 
} 

Alias SockQueue { 
  If ($Sock(CloneGet.*,0) <= 6) { SockOpen $1- } 
  Else { Set %Clone.Queue. [ $+ [ $Rand(1,9999999) ] ] $1- } 
} 

On *:SockClose:CloneGet.* { 
  If ($Var(%Clone.Queue.*,1)) { 
    SockOpen $Var(%Clone.Queue.*,1).Value 
    Unset $Var(%Clone.Queue.*,1) 
  } 
  Did -ra Clone 111 $Calc($Did(Clone,111) + 1) 
} 

#Clone.DNS off
On *:DNS: { 
  If ($RAddress) { Did -ra Clone 2 $RAddress | .TimerClone.Go $Did(Clone,10) 0 Clone.Go } 
  Else { Clone.Error Unable to resolve DNS of $Did(Clone,10) } 
  .Disable #Clone.DNS 
  Halt 
} 
#Clone.DNS End 

Alias Clone.Do { 
  If ($1 == All) { 
    Var %I = 1 
    While ($Sock(Clone.*,%I)) { 
      If ($2 == JOINPART) { SockWrite -nt $Sock(Clone.*,%I) JOIN $3 | SockWrite -nt $Sock(Clone.*,%I) PART $3- } 
      ElseIf ($2 == RAW) { SockWrite -nt $Sock(Clone.*,%I) $Replace($3-,^Nick^,$Clone.Nick($Sock(Clone.*,%I))) } 
      ElseIf ($2 == NICK) { 
        If ($Did(Clone,67).State == 1) { SockWrite -nt $Sock(Clone.*,%I) NICK $Clone.RandNick } 
        If ($Did(Clone,68).State == 1) { SockWrite -nt $Sock(Clone.*,%I) NICK $Gettok($Read($Did(Clone,70)),1,32) } 
        If ($Did(Clone,69).State == 1) { SockWrite -nt $Sock(Clone.*,%I) NICK $Did(Clone,71) $+ $Clone.RandNick(2) } 
      } 
      Else { SockWrite -nt $Sock(Clone.*,%I) $2- } 
      Inc %I 
    } 
  } 
  If ($1 == Selected) { 
    Var %I = 1 
    While ($Did(Clone,38,%I)) { 
      If ($Did(Clone,38,%I).State == 1) { 
        Var %J = 1 
        While ($Sock(Clone.*,%J)) { 
          If ($Sock(Clone.*,%J).Mark == $Did(Clone,38,%I)) { 
            If ($2 == JOINPART) { SockWrite -nt $Sock(Clone.*,%J) JOIN $3 | SockWrite -nt $Sock(Clone.*,%J) PART $3- } 
            ElseIf ($2 == RAW) { SockWrite -nt $Sock(Clone.*,%J) $Replace($3-,^Nick^,$Clone.Nick($Sock(Clone.*,%J))) } 
            ElseIf ($2 == NICK) { 
              If ($Did(Clone,67).State == 1) { SockWrite -nt $Sock(Clone.*,%J) NICK $Clone.RandNick } 
              If ($Did(Clone,68).State == 1) { SockWrite -nt $Sock(Clone.*,%J) NICK $Gettok($Read($Did(Clone,70)),1,32) } 
              If ($Did(Clone,69).State == 1) { SockWrite -nt $Sock(Clone.*,%J) NICK $Did(Clone,71) } 
            } 
            Else { SockWrite -nt $Sock(Clone.*,%J) $2- } 
          } 
          Inc %J 
        } 
      } 
      Inc %I 
    } 
  } 
} 

Alias Clone.Conn { If ($Did(Clone,38,1)) { Return $Did(Clone,38).Lines } } 

On *:SockOpen:Clone.*: { 
  If ($SockErr) { SockClose $SockName | Did -ra Clone 25 $Sock(Clone.*,0) | Return } 
  If (Clone.Sock.* iswm $SockName) { BSet &Clone 1 5 1 0 | SockWrite $SockName &Clone } 
  If (Clone.Proxy.* iswm $SockName) { 
    SockWrite $SockName CONNECT $+($Did(Clone,2),:,$Did(Clone,4)) HTTP/1.1 
    SockWrite $SockName $CRLF $+ $CRLF $+ $CRLF 
    Clone.Conn.User $SockName 
  } 
  If (Clone.Normal.* iswm $Sockname) { Clone.Conn.User $SockName } 
  Did -ra Clone 25 $Sock(Clone.*,0) 
} 

On *:SockRead:Clone.*: { 
  If ($SockErr) { SockClose $SockName | Did -ra Clone 25 $Sock(Clone.*,0) | Return } 
  If (Clone.Sock.* iswm $SockName) && (!$Sock($SockName).Mark) { 
    SockRead &Read 
    If ($BVar(&Read,1,2) == 5 0) && ($BVar(&Read,3) != 0) { 
      Var %Port = $Gettok($LongIP($Did(Clone,4)),3,46) $Gettok($LongIP($Did(Clone,4)),4,46) 
      Var %Serv = $Replace($Did(Clone,2),$Chr(46),$Chr(32)) 
      BSet &Clone.Send 1 5 1 0 1 %Serv %Port 
      SockWrite $SockName &Clone.Send 
    } 
    If ($BVar(&Read,1,3) == 5 0 0) { SockMark $SockName 1 | Clone.Conn.User $SockName } 
  } 
  SockRead %Clone.Read 
  If (%Clone.Read) { Echo %Clone.Read } 
  Tokenize 32 %Clone.Read 
  Unset %Clone.Read 
  If (*<HTML>* iswm $1-) && (!$Sock($SockName).Mark) { 
    SockClose $SockName 
  } 
  If ($1 == PING) { SockWrite -nt $SockName PONG : $+ $Remove($2,:) } 
  If ($2 == PRIVMSG) && ($Did(Clone,81).State == 1) { 
    If ($4 == :PING) { SockWrite -nt $SockName NOTICE $Remove($Gettok($1,1,33),:) :PING $5 } 
    If ($4 == :TIME) { SockWrite -nt $SockName NOTICE $Remove($Gettok($1,1,33),:) :TIME $ASCTime($Calc($Rand($Calc($CTime - 10000),$Calc($CTime + 10000)))) $+  } 
    If ($4 == :VERSION) { SockWrite -nt $SockName NOTICE $Remove($Gettok($1,1,33),:) :VERSION mIRC v6.16 Khaled Mardam-Bey } 
  } 
  If ($2 == 001) { 
    Var %I = 1 
    While ($Did(Clone,19,%I)) { SockWrite -nt $SockName $Replace($Did(Clone,19,%I),^Nick^,$3) | Inc %I } 
    If ($3) { Did -a Clone 38 $3 } 
    Did -ra Clone 24 $Iif($Clone.Conn,$Clone.Conn,0) 
    SockWrite -nt $SockName Mode $3 $Did(Clone,18) 
    SockMark $SockName $3 
  } 
  If ($2 == 433) { 
    If ($Sock($SockName).Mark) && ($Sock($SockName).Mark != 1) { 
      If ($Did(Clone,67).State == 1) { .TimerClone. [ $+ [ $SockName ] ] 1 1 SockWrite -nt $SockName NICK $Clone.RandNick } 
      If ($Did(Clone,68).State == 1) { .TimerClone. [ $+ [ $SockName ] ] 1 1 SockWrite -nt $SockName NICK $Read($Did(Clone,70)) } 
      If ($Did(Clone,69).State == 1) { .TimerClone. [ $+ [ $SockName ] ] 1 1 SockWrite -nt $SockName NICK $Did(Clone,71) $+ $Clone.RandNick(2) } 
    } 
    Else { 
      If ($Did(Clone,11).State == 1) { .TimerClone. [ $+ [ $SockName ] ] 1 1 SockWrite -nt $SockName NICK $Clone.RandNick } 
      If ($Did(Clone,12).State == 1) { .TimerClone. [ $+ [ $SockName ] ] 1 1 Clone.Conn.User $SockName } 
      If ($Did(Clone,13).State == 1) { .TimerClone. [ $+ [ $SockName ] ] 1 1 SockWrite -nt $SockName NICK $Did(Clone,15) $+ $Clone.RandNick(2) } 
    } 
  } 
  If ($2 == NICK) && ($Remove($Gettok($1,1,33),:) == $Sock($SockName).Mark) { 
    Var %I = 1 
    While ($Did(Clone,38,%I)) { 
      If ($Did(Clone,38,%I) == $Remove($Gettok($1,1,33),:)) { Did -o Clone 38 %I $Remove($3,:) } 
      Inc %I 
    } 
    SockMark $SockName $Remove($3,:) 
  } 
  Did -ra Clone 25 $Sock(Clone.*,0) 
} 

Alias Clone.Ignore { 
  Var %I = 1 
  While ($Did(Clone,96,%I)) { 
    If ($Did(Clone,96,%I) iswm $Remove($1,$Chr(58))) { Return $Did(Clone,96,%I) } 
    Inc %I 
  } 
} 

On *:SockClose:Clone.*: { 
  If ($Sock($SockName).Mark) && ($Sock($SockName).Mark != 1) { 
    Var %I = 1 
    While ($Did(Clone,38,%I)) { 
      If ($Did(Clone,38,%I) == $Sock($SockName).Mark) { Did -d Clone 38 %I } 
      Inc %I 
    } 
  } 
  Did -ra Clone 25 $Sock(Clone.*,0) 
  Did -ra Clone 24 $Iif($Clone.Conn,$Clone.Conn,0) 
} 

Alias Clone.Nick { Return $Sock($1).Mark } 

Alias Clone.Sock { 
  Var %I = 1 
  While ($Sock(Clone.*,%I)) { 
    If ($Sock(Clone.*,%I).Mark == $1) { Return $Sock(Clone.*,%I) } 
    Inc %I 
  } 
} 

Alias Clone.RandNick { 
  Var %I = $Iif($1,$1,$Rand(3,12)), %J = 1 
  While (%J <= %I) { Var %C = $Rand(1,0), %N = %N $+ $Iif(%C == 1,$Rand(A,Z),$Rand(a,z)) | Inc %J } 
  Return %N 
} 

Alias Clone.Conn.User { 
  If ($Did(Clone,11).State == 1) { 
    SockWrite -nt $1 USER $Lower($Clone.RandNick) "" "" : $+ $Iif($Did(Clone,85),$Did(Clone,85),$Clone.RandNick($Rand(20,70))) 
    SockWrite -nt $1 NICK $Clone.RandNick 
  } 
  If ($Did(Clone,12).State == 1) { 
    Var %N = $Gettok($Read($Did(Clone,14)),1,32) 
    SockWrite -nt $1 USER $Lower(%N) "" "" : $+ $Iif($Did(Clone,85),$Did(Clone,85),%N) 
    SockWrite -nt $1 NICK %N 
  } 
  If ($Did(Clone,13).State == 1) { 
    SockWrite -nt $1 USER $Lower($Did(Clone,15)) "" "" : $+ $Iif($Did(Clone,85),$Did(Clone,85),$Did(Clone,15)) 
    SockWrite -nt $1 NICK $Did(Clone,15) $+ $Clone.RandNick(2) 
  } 
} 

Alias Clone.Go { 
  If (!$Did(Clone,34,%Clone.List)) { Set %Clone.List 1 } 
  :Again 
  Var %R = $Rand(0,9999999) 
  If ($Sock($+(Clone.,$Did(Clone,6),.,%R))) { Goto Again } 
  If ($Did(Clone,6) == Normal) { SockOpen Clone.Normal. $+ %R $Did(Clone,2) $Did(Clone,4) } 
  Else { SockOpen $+(Clone.,$Did(Clone,6),.,%R) $Did(Clone,34,%Clone.List) } 
  Inc %Clone.List 
  Did -ra Clone 25 $Sock(Clone.*,0) 
} 

Dialog -l Clone.IPs { 
  Title "Connected IP Ports" 
  Size -1 -1 254 360 
  Option Pixels 
  Edit "", 1, 8 8 236 317, Read Multi 
  Button &Refresh List, 2, 8 332 235 20 
} 

On *:Dialog:Clone.IPs:Init:*: { Clone.IPs } 
On *:Dialog:Clone.IPs:SClick:2: { Clone.IPs } 

Alias Clone.IPs { 
  If (!$Dialog(Clone.IPs)) { Dialog -md Clone.IPs Clone.IPs } 
  Did -r Clone.IPs 1 
  Var %I = 1 
  While ($Sock(Clone.*,%I)) { 
    If ($Sock(Clone.*,%I).Mark) && ($Sock(Clone.*,%I).Mark != 1) && (!$DidWM(Clone.IPs,1,$Sock(Clone.*,%I).IP $Sock(Clone.*,%I).Port)) { 
      Did -i Clone.IPs 1 1 $Sock(Clone.*,%I).IP $Sock(Clone.*,%I).Port 
    } 
    Inc %I 
  } 
}