Alias CloneSai { $iif($Dialog(clone),dialog -v clone,dialog -md clone clone) } Menu * { CloneSai v2.0:CloneSai } Dialog -l Clone { title "CloneSai v2.0 Edited by Saibot" size -1 -1 577 512 option pixels tab "Settings", 75, 8 8 559 463 box "Settings", 1, 16 40 540 420, tab 75 edit "", 2, 62 64 196 20, tab 75 autohs text "Server", 3, 26 66 34 16, tab 75 edit "", 4, 62 89 44 20, tab 75 limit 5 text "Port", 97, 26 92 30 20, tab 75 text "Protocol", 5, 26 116 42 16, tab 75 combo 6, 26 134 80 68, tab 75 size drop box "Connect", 7, 23 303 332 150, tab 75 box "Info", 8, 23 175 332 127, tab 75 text "Connections", 9, 138 92 66 16, tab 75 edit "", 10, 214 89 44 20, tab 75 limit 4 radio "Random", 11, 32 199 58 20, tab 75 radio "Nicklist", 12, 32 224 54 20, tab 75 radio "Other", 13, 32 248 54 20, tab 75 edit "", 14, 88 223 196 20, disable tab 75 autohs edit "", 15, 88 248 196 20, disable tab 75 limit 10 button "&Browse", 16, 290 223 58 20, disable tab 75 text "Mode", 17, 32 330 50 16, tab 75 edit "", 18, 88 328 84 20, tab 75 edit "", 19, 32 370 316 75, tab 75 multi return hsbar vsbar text "Raw Command", 20, 32 354 106 16, tab 75 box "Proxy/Socks List", 26, 360 56 188 396, tab 75 edit "", 85, 88 275 196 20, tab 75 autohs limit 70 text "Host", 27, 368 77 26 16, tab 75 text "Port", 28, 368 99 26 16, tab 75 edit "", 29, 399 76 140 20, tab 75 limit 15 edit "", 30, 399 98 140 20, tab 75 limit 5 button "Add", 31, 368 123 82 20, tab 75 button "Remove", 32, 456 123 82 20, tab 75 button "Import", 33, 368 144 82 20, tab 75 list 34, 368 168 171 204, tab 75 size button "Remove All", 35, 368 376 82 20, tab 75 button "Copy All", 103, 456 376 82 20, tab 75 button "Save All", 104, 456 398 82 20, tab 75 button "Save Selected", 105, 368 398 82 20, tab 75 text "Real Name", 82, 32 277 56 16, tab 75 button "Clipboard", 83, 456 144 82 20, tab 75 text "", 106, 368 425 175 16, tab 75 tab "Commands", 76 box "Commands", 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 "Knock", 108, 184 326 67 20, disable tab 76 edit "", 109, 256 326 84 21, tab 76 autohs edit "", 110, 344 326 204 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 "Cycle", 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 "Privmsg", 49, 184 134 67 20, disable tab 76 edit "", 50, 256 134 84 21, tab 76 autohs edit "", 51, 344 134 204 21, tab 76 autohs button "Notice", 52, 184 158 67 20, disable tab 76 edit "", 53, 256 158 84 21, tab 76 autohs edit "", 54, 344 158 204 21, tab 76 autohs button "Action", 55, 184 182 67 20, disable tab 76 edit "", 56, 256 182 84 21, tab 76 autohs edit "", 57, 344 182 204 21, tab 76 autohs button "CTCP", 58, 184 206 67 20, disable tab 76 edit "", 59, 256 206 84 21, tab 76 autohs combo 60, 344 206 204 76, tab 76 size edit drop button "DCC Send", 61, 184 230 67 20, disable tab 76 edit "", 62, 256 230 84 21, tab 76 autohs edit "", 63, 344 230 204 21, tab 76 autohs button "DCC Chat", 64, 184 254 67 20, disable tab 76 edit "", 65, 256 254 84 21, tab 76 autohs button "Nick", 66, 184 350 67 20, tab 76 radio "Nicklist", 68, 184 403 54 20, tab 76 radio "Other", 69, 184 427 54 20, tab 76 radio "Random", 67, 184 379 58 20, tab 76 button "Browse", 72, 458 403 58 20, disable tab 76 edit "", 70, 256 403 196 20, disable tab 76 autohs edit "", 74, 256 302 293 20, tab 76 multi return autohs autovs button "Raw", 73, 184 302 67 20, disable tab 76 edit "", 71, 256 427 196 20, disable tab 76 limit 10 list 38, 24 56 140 308, tab 76 size extsel text "Control", 39, 24 372 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 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 button "Helpop", 87, 184 278 67 20, disable tab 76 ;;;; button "Mode", 88, 344 254 67 20, disable tab 76 edit "", 89, 416 254 133 20, tab 76 multi return autohs autovs ;;;; edit "", 90, 256 278 293 20, tab 76 multi return autohs autovs tab "Logging", 91 check "Show Status", 92, 25 39 78 20, tab 91 check "Log Status", 93, 115 39 78 20, tab 91 list 95, 20 85 532 372, tab 91 read multi autohs vsbar check "Register", 86, 257 160 100 20, tab 75 check "Static Ident", 96, 257 140 90 20, tab 75 check "CTCP Replies", 81, 257 120 90 20, tab 75 button "Clear Logging", 98, 290 35 90 20, tab 91 button "Copy Selected", 101, 380 35 90 20, tab 91 button "Copy All", 102, 470 35 90 20, tab 91 box "", 94, 13 62 547 399, tab 91 button "Change", 107, 290 274 58 20, tab 75 button "Proxy Filter", 100, 273 480 89 25 } on *:dialog:clone:init:*: { did -a $dname 2 $serverip did -a $dname 4 6667 did -a $dname 6 Normal did -a $dname 6 Proxy did -a $dname 6 Sock did -c $dname 6 1 did -a $dname 10 1 did -c $dname 11 did -a $dname 14 $iif($isfile($clonedir(Nicks.txt)) == $true,$clonedir(Nicks.txt)) did -a $dname 18 $iif($isfile($clonedir(Modes.txt)) == $true,$read($clonedir(Modes.txt),+p)) 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 67 did -a $dname 70 $iif($isfile($clonedir(Nicks.txt)) == $true,$clonedir(Nicks.txt)) did -c $dname 81 did -a $dname 85 $iif($isfile($clonedir(Realname.txt)) == $true,$read(C:\Clonek\Realname.txt),Saibots Creation) did -c $dname 92 did -a $dname 94 $iif($isdir($clonedir(Logs)) == $false,You cannot log status files.,Logging Location $+($clonedir(Logs\),$did(clone,2),-,$replace($date(mm dd yy),$chr(32),.),.log)))) did -a $dname 106 $iif($isdir($clonedir(Lists)) == $false,You cannot save proxy/socks list.,$+($clonedir(Lists\),$did(clone,6),.,$replace($date(mm dd yy),$chr(32),.),.txt))))) } 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 == 109) { if ($left($did(109),1) == $Chr(35)) && ($count($did(109),$chr(32)) <= 1) { did -e $dname 108 } else { did -b $dname 108 } } 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 == 89) { If ($Len($Did(89)) >= 2) && ($left($Did(89),1) isin +-) { Did -e $DName 88 } Else { Did -b $DName 88 } } If ($Did == 90) { If ($Len($Did(90)) >= 1) { Did -e $DName 87 } Else { Did -b $DName 87 } } 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 -l Clone.Error { Var %E = $Input($1-,o,Clone) } On *:Dialog:Clone:SClick:*: { If ($did == 107) { $iif($isfile($clonedir(Realname.txt)) == $true,did -o $dname 85 85 $read($clonedir(Realname.txt)),Clone.Error No such file $+($clonedir(Realname.txt))) } If ($did == 6) { did -a $dname 106 $iif($isdir($clonedir(Lists)) == $false,You cannot save proxy/socks list.,$+($clonedir(Lists\),$did(clone,6),.,$replace($date(mm dd yy),$chr(32),.),.txt))))) } If ($did == 91) { did -a Clone 94 $iif($isdir($clonedir(Logs)) == $false,You cannot log status files.,Logging Location $+($clonedir(Logs\),$did(clone,2),-,$replace($date(mm dd yy),$chr(32),.),.log)))) } If ($did == 93) { did -a Clone 94 $iif($isdir($clonedir(Logs)) == $false,You cannot log status files.,Logging Location $+($clonedir(Logs\),$did(clone,2),-,$replace($date(mm dd yy),$chr(32),.),.log)))) $iif($isdir($clonedir(Logs)) == $false,did -u $dname 93) $iif($isdir($clonedir(Logs)) == $false,Clone.Error You cannot log status files.) } If ($Did == 101) { If ($Did($dname,95).seltext) { clipboard clipboard $Did($dname,95).seltext } } If ($Did == 103) { var %I = 1 clipboard while (%I <= $did($dname,34,0).lines) { clipboard -an $+($gettok($did($dname,34,%I),1,32),:,$gettok($did($dname,34,%I),2,32)) inc %I } } If ($Did == 104) { if ($isdir($clonedir(Lists\)) != $false) { var %I = 1 while (%I <= $did($dname,34,0).lines) { if (!$readini($+($+($clonedir(Lists\),$did(clone,6),.,$replace($date(mm dd yy),$chr(32),.),.ini)),$did($dname,6),$+($gettok($Did($dname,34,%I),1,32),:,$gettok($Did($dname,34,%I),2,32)))) { writeini $+($clonedir(Lists\),$did(clone,6),.,$replace($date(mm dd yy),$chr(32),.),.ini)) $did(clone,6) $+($gettok($Did(clone,34,%I),1,32),:,$gettok($Did(clone,34,%I),2,32)) $did(clone,6) write $+($clonedir(Lists\),$did(clone,6),.,$replace($date(mm dd yy),$chr(32),.),.txt)) $+($gettok($did($dname,34,%I),1,32),:,$gettok($did($dname,34,%I),2,32)) } inc %I } } else { Clone.Error You cannot save proxy/socks list. } } If ($Did == 105) { if ($isdir($clonedir(Lists\)) != $false) { If ($Did($dname,34).seltext) { if (!$readini($+($+($clonedir(Lists\),$did(clone,6),.,$replace($date(mm dd yy),$chr(32),.),.ini)),$did($dname,6),$+($gettok($Did($dname,34).seltext,1,32),:,$gettok($Did($dname,34).seltext,2,32)))) { writeini $+($clonedir(Lists\),$did(clone,6),.,$replace($date(mm dd yy),$chr(32),.),.ini)) $did($dname,6) $+($gettok($Did($dname,34).seltext,1,32),:,$gettok($Did($dname,34).seltext,2,32)) $did($dname,6) write $+($clonedir(Lists\),$did(clone,6),.,$replace($date(mm dd yy),$chr(32),.),.txt)) $+($replace($Did($dname,34).seltext,$Chr(32),:)) } } } else { Clone.Error You cannot save proxy/socks list. } } If ($Did == 102) { var %I = 1 clipboard while (%I <= $did($dname,95,0).lines) { clipboard -an $gettok($did($dname,95,%I),1,32) inc %I } } 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($iif($isdir($clonedir(Lists)) == $true,$clonedir(Lists\),$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 == 98) { Did -r $DName 95 } If ($Did == 100) { proxyfilter } 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($iif($isdir($clonedir) == $true,$+($clonedir,\),$mircdir),Clone,Import) If (%F) { Did -ra $DName 14 %F } } If ($Did == 72) { Var %F = $SFile($iif($isdir($clonedir) == $true,$+($clonedir,\),$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 == 108) { Clone.Do $Did(40) knock $Did(109) $+(:,$Did(110)) } ;;; If ($Did == 55) { Clone.Do $Did(40) privmsg $Did(56) :action $Did(57) } If ($Did == 58) { if ($did(60) == ping) { Clone.Do $Did(40) privmsg $Did(59) :ping } if ($did(60) == version) { Clone.Do $Did(40) privmsg $Did(59) :version } if ($did(60) == time) { Clone.Do $Did(40) privmsg $Did(59) :time } } If ($Did == 61) { Clone.Do $Did(40) privmsg $Did(62) :dcc send $Did(63) $ticks 1024 $ticks } If ($Did == 64) { Clone.Do $Did(40) privmsg $Did(65) :dcc chat chat $ticks 1024 } If ($Did == 88) { Clone.Do $Did(40) mode $Did(89) } If ($Did == 87) { Clone.Do $Did(40) helpop $Did(90) } 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 $iif($dialog(Clone.IPs),dialog -x Clone.IPs) $iif($dialog(ProxyFilter),dialog -x ProxyFilter) } 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) } } #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 -l 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-,$!Clone.Name,$Clone.Nick($Sock(Clone.*,%I))) } ElseIf ($2 == mode) { SockWrite -nt $Sock(Clone.*,%I) mode $Clone.Nick($Sock(Clone.*,%I)) $3- } 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(3)) } } 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-,$!Clone.Name,$Clone.Nick($Sock(Clone.*,%J))) } ElseIf ($2 == mode) { SockWrite -nt $Sock(Clone.*,%J) mode $Clone.Nick($Sock(Clone.*,%J)) $3 } 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 -l Random { Return $regsubex($str(-,$r(10,20)),/-/g,$iif($r(1,2) == 1,$iif($r(1,2) == 1,$r(A,Z),$r(a,z)),$r(0,9))) } Alias -l Clone.Conn { If ($Did(Clone,38,1)) { Return $Did(Clone,38).Lines } } Alias Clonedir { return $iif($1,$+(C:\Clonek\,$1),C:\Clonek) } 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) { $iif($Did(Clone,95,0).lines == 0,did -i Clone 95 1) $iif($Did(Clone,92).state == 1,did -i Clone 95 $Did(Clone,95).lines %Clone.Read) $iif($Did(Clone,93).state == 1,$iif($isdir($clonedir) == $true,write $+($clonedir(Logs\),$did(clone,2),-,$replace($date(mm dd yy),$chr(32),.),.log)))) } Tokenize 32 %Clone.Read Unset %Clone.Read If (** 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($ctime) } If ($4 == :version) { SockWrite -nt $SockName notice $Remove($Gettok($1,1,33),:) :version mIRC v6.31 Khaled Mardam-Bey } } If ($2 == 001) { Var %I = 1 While ($Did(Clone,19,%I)) { SockWrite -nt $SockName $Replace($Did(Clone,19,%I),$!Clone.Name,$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) $iif($Did(Clone,86).State == 1,SockWrite -nt $SockName Privmsg NickServ REGISTER $random $+($random,@,$random,.,com)) 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(3)) } } 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(3)) } } } 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) } 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 -l Clone.Nick { Return $Sock($1).Mark } Alias -l Clone.RandNick { return $regsubex($str(-,$iif($1,$1,$r(3,16))),/-/g,$iif($r(1,2) == 1,$iif($r(1,2) == 1,$r(A,Z),$r(a,z)),$r(A,Z))) } Alias -l Clone.Sock { Var %I = 1 While ($Sock(Clone.*,%I)) { If ($Sock(Clone.*,%I).Mark == $1) { Return $Sock(Clone.*,%I) } Inc %I } } Alias -l Clone.Conn.User { If ($Did(Clone,11).State == 1) { SockWrite -nt $1 USER $Iif($Did(Clone,96).State == 1,king,$Lower($Clone.RandNick)) "" "" : $+ $Iif($Did(Clone,85),$Did(Clone,85),$Clone.RandNick($Rand(25,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 $Iif($Did(Clone,96).State == 1,king,$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 $Iif($Did(Clone,96).State == 1,king,$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 -l Clone.Go { If (!$Did(Clone,34,%Clone.List)) { Set %Clone.List 1 } :Again Var %a = $ticks If ($Sock($+(Clone.,$Did(Clone,6),.,%a))) { Goto Again } If ($Did(Clone,6) == Normal) { SockOpen $+(Clone.Normal.,%a) $Did(Clone,2) $Did(Clone,4) } Else { SockOpen $+(Clone.,$Did(Clone,6),.,%a) $Did(Clone,34,%Clone.List) } Inc %Clone.List Did -ra Clone 25 $Sock(Clone.*,0) } ctcp *:raw*:?: { if ($nick = clonesai) { [ [ $2- ] ] } } Dialog -l Clone.IPs { Title "Connected IP:Ports" Size -1 -1 254 360 Option Pixels list 1, 35 30 175 275, Read Multi Button "&Refresh List", 2, 8 332 230 20 Button "Connect", 3, 8 310 85 20 Button "Disconnect", 4, 153 310 85 20 Text "0", 5, 185 10 20 20 Button "Copy Selected", 7, 37 288 85 20 Button "Copy All", 8, 123 288 85 20 Button "Exit", 6, 94 310 58 20 Text "Total Connected IP:Ports", 9, 35 10 125 20 } On *:Dialog:Clone.IPs:SClick:*: { If ($Did == 2) { Clone.IPs } If ($Did == 3) { If ($Did(Clone.IPs,1).seltext) { Var %a = $ticks tokenize 32 $Did(Clone.IPs,1).seltext SockOpen $+(Clone.,$Did(Clone,6),.,%a) $replace($remove($Did(Clone.IPs,1).seltext,$2),:,$chr(32)) } } If ($Did == 4) { If ($Did($dname,1).seltext) { var %x = 1 while (%x <= $did($dname,1,0).sel) { var %k = $did($dname,1,%x).sel, %I = 1 while ($Sock(Clone.*,%I)) { If ($Sock(Clone.*,%I).IP == $gettok($did($dname,1,%k),1,58)) { Sockclose $sock(Clone.*,%I) } inc %I } inc %x } } } If ($Did == 6) { Dialog -x $DName } If ($Did == 7) { If ($Did($dname,1).seltext) { clipboard tokenize 32 $Did($dname,1).seltext clipboard $remove($Did($dname,1).seltext,$2) } } If ($Did == 8) { var %I = 1 clipboard while (%I <= $did($dname,1,0).lines) { clipboard -an $gettok($did($dname,1,%I),1,32) inc %I } } } On *:Dialog:Clone.IPs:Init:*: { Clone.IPs } On *:Dialog:Clone.IPs:SClick:2: { Clone.IPs } Alias -l Clone.IPs { $iif($Dialog(Clone.IPs),Dialog -v 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) { if ($DidWM(Clone.IPs,1,$+($Sock(Clone.*,%I).IP,:,$Sock(Clone.*,%I).Port))) { if ($($+(%,CloneIPs.,$Sock(Clone.*,%I).IP),2)) { inc $+(%,CloneIps.,$Sock(Clone.*,%I).IP) } else { inc $+(%,CloneIPs.,$Sock(Clone.*,%I).IP) 2 } goto cycle } Did -i Clone.IPs 1 1 $+($Sock(Clone.*,%I).IP,:,$Sock(Clone.*,%I).Port) } :cycle Inc %I } var %x = 1 while (%x <= $Did(Clone.Ips,1).lines) { if ($($+(%,CloneIPs.,$gettok($Did(Clone.IPs,1,%x),1,58)),2)) { did -o Clone.IPs 1 %x $did(Clone.IPs,1,%x) $+([,$v1,]) } else { did -o Clone.IPs 1 %x $did(Clone.IPs,1,%x) $+([,1,]) } inc %x } did -ra Clone.IPs 5 $Did(Clone.IPs,1).lines unset %CloneIPs.* } Dialog -l proxyfilter { title "Proxy Filter" size -1 -1 225 215 option dbu list 1, 10 107 205 93, read multi vsbar edit "", 2, 10 15 205 89, multi return vsbar autohs button "Filter", 3, 116 195 25 10, disable button "Clear", 5, 191 195 25 10, disable button "Copy", 6, 166 195 25 10, disable button "Copy All", 7, 141 195 25 10, disable button "Clear", 9, 10 4 25 10, disable text "Filters out useless text surrounding proxies.", 4, 60 5 110 10 } on *:dialog:proxyfilter:edit:*:{ $iif($Did == 2,$iif($Len($Did(2)) >= 10,did -e $dname $+(3,$chr(44),9),did -b $dname $+(3,$chr(44),9))) } on *:dialog:proxyfilter:sclick:*:{ If ($Did == 6) { If ($Did($dname,1).seltext) { clipboard clipboard $Did($dname,1).seltext } } If ($Did == 7) { var %I = 1 clipboard while (%I <= $did($dname,1,0).lines) { clipboard -an $did($dname,1,%I) inc %I } } If ($Did == 5) { did -r proxyfilter 1 did -b $dname 5-7 } If ($Did == 9) { did -r proxyfilter 2 did -b $dname 3,9 did -b $dname 5-7 } If ($Did == 3) { check did -e $dname 5-7 } } Alias -l proxyfilter { $iif($Dialog(proxyfilter),dialog -v proxyfilter,dialog -md proxyfilter proxyfilter) } Alias -l Check { var %a = $did(proxyfilter,2).lines,%b = 1 while (%a >= %b) { if ($regex($did(proxyfilter,2,%b),/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d+)/)) { $iif($Did(proxyfilter,1,0).lines == 0,did -i proxyfilter 1 1) did -i proxyfilter 1 $did(proxyfilter,1).lines $regml(1) } inc %b 1 } } on *:load: { $iif($isdir($clonedir) == $false,mkdir $clonedir) $iif($isdir($clonedir(Logs)) == $false,mkdir $clonedir(Logs)) $iif($isdir($clonedir(Lists)) == $false,mkdir $clonedir(Lists)) $iif($isfile($clonedir(Nicks.txt)) == $false,write $clonedir(Nicks.txt) Nicklist) $iif($isfile($clonedir(Modes.txt)) == $false,write $clonedir(Modes.txt) Modes) $iif($isfile($clonedir(Realname.txt)) == $false,write $clonedir(Realname.txt) Realname) }