Ghost dialog v2.0

Contenu du snippet

ben c'est la version améliorée de mon ancien add-on

Source / Exemple :


menu channel,nicklist,status {
  -  
  ghost-dialog: {
    /set %chanenquestion $chan
    /dialog -m ghost ghost
  }
}
dialog ghost {
  title " ---------=====>> GHOST DIALOG <<=====-------- "
  size -1 -1 370 400
  tab "méthode 1",24, 5 5 370 293
  tab "méthode 2",25
  box "pseudo" ,1, 13 40 145 160, tab24
  edit "" ,2, 23 60 130 20, tab24
  edit "" ,3, 23 85 130 20, tab24
  edit "" ,4, 23 110 130 20, tab24
  edit "" ,5, 23 135 130 20, tab24
  edit "" ,6, 23 160 130 20, tab24
  box "mot de passe",7, 157 40 120 160, tab24
  edit "" ,8, 167 60 100 20, pass, tab24
  edit "" ,9, 167 85 100 20, pass, tab24
  edit "" ,10, 167 110 100 20, pass, tab24
  edit "" ,11, 167 135 100 20, pass, tab24
  edit "" ,12, 167 160 100 20, pass, tab24
  button "ghoster" ,13, 280 60 60 20, tab24
  button "ghoster" ,14, 280 85 60 20, tab24
  button "ghoster" ,15, 280 110 60 20, tab24
  button "ghoster" ,16, 280 135 60 20, tab24
  button "ghoster" ,17, 280 160 60 20, tab24
  box "ghoster",18, 276 40 80 160, tab24
  button "VALIDER" ,19, 13 210 100 48, flat ok
  button "ANNULER" ,20, 257 210 100 48, flat cancel
  text "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!",23, 10 265 365 15
  box "",26, 10 30 140 175, tab25
  list 27, 15 40 130 175, tab25
  edit "",28, 220 50 120 20, read, autohs, tab25
  text "Pseudo",29, 160 50 60 20, tab25
  text "Pass",30, 160 90 60 20, tab25
  edit "",31, 220 90 120 20, tab25, pass
  button "ghoster",32, 215 140 80 25, tab25
  box "",33, 210 130 90 40, tab25
  box "méthode de ghost",34, 5 300 360 80
  radio "normale(votre pseudo aparaitra lors du ghost)",35, 15 320 250 20
  radio "par socket",36, 15 350 75 20
  text "état  :",37, 5 385 100 20
  text "",38, 40 385 100 20
  check "Firewall",39, 250 350 80 20
}
dialog Firewall {
  size -1 -1 150 100
  option dbu
  title "Firewall"
  button "valider",1, 5 90 140 9, ok
  box "protocole",2, 5 5 140 30
  radio "proxy",3, 10 15 25 15
  radio "socks4",4, 45 15 30 15
  radio "socks5",5, 85 15 30 15
  text "host/ip",6, 5 50 30 10
  edit %ip,7, 40 50 50 10, limit 15
  text "port",8, 5 70 30 10
  edit %port,9, 40 70 30 10, limit 8
}
Alias Err.pseudo { //echo $input(Erreur tu dois saisir un pseudo) | /set %pseudo_du_ghost $?"entre le pseudo que tu auras lors du ghost" | $iif(!%pseudo_du_ghost,Err.pseudo,) | /set %methode socket | .did -a ghost 38 Socket | .did -e ghost 39 }

Alias affichelist {
  If ($server) {
    Var %nickchan = 1
    :affichage
    While (%nickchan <= $nick(%chanenquestion,0)) {
      .did -a ghost 27 $nick(%chanenquestion,%nickchan)
      Inc %nickchan
      Goto affichage
    }
  }
}

ON *:DIALOG:Firewall:*:*: {
  if ($devent == sclick) {
    if ($did == 3) { /set %protocole proxy }
    elseif ($did == 4) { /set %protocole socks4 }
    elseif ($did == 5) { /set %protocole socks5 }
  }
  if ($devent == edit) {
    if ($did == 7) { /set %ip $did(7) }
    if ($did == 9) { /set %port $did(9) }
  }
  if ($devent == init) {
    if (%protocole == proxy) { .did -c Firewall 3 }
    elseif (%protocole == socks4) { .did -c Firewall 4 }
    elseif (%protocole == socks5) { .did -c Firewall 5 }
  }
}

ON *:DIALOG:ghost:*:*: { 
  if ($devent == sclick) {
    if ($did == 39) && ($did(39).state == 1) { /dialog -m Firewall Firewall | /set %firewall on } 
    if ($did == 39) && ($did(39).state == 0) { $iif($dialog(Firewall),/dialog -x Firewall Firewall,) | /set %firewall off }
    if ($did == 27) { .did -ra ghost 28 $did(27).seltext | .did -n ghost 31 | /set %pseudo_a_ghoster $did(27).seltext }
    if ($did == 32) && (%methode == normale) { /NickServ ghost $did(28) $did(31) }
    if ($did == 32) && (%methode == socket) { .set %pass_du_pseudo $did(31) | .set %numBouton 6  | ghost }
    if ($did == 13) && (%methode == normale) { /msg Nickserv ghost $hget(pseudolist,pseudo1) $hget(pseudolist,pass1) }
    if ($did == 13) && (%methode == socket) { ghost | .set %pseudo_a_ghoster $did(2) | .set %pass_du_pseudo $did(8) | .set %numBouton 1 }
    if ($did == 14) && (%methode == normale) { /msg Nickserv ghost $hget(pseudolist,pseudo2) $hget(pseudolist,pass2) }
    if ($did == 14) && (%methode == socket) { ghost | .set %pseudo_a_ghoster $did(3) | .set %pass_du_pseudo $did(9) | .set %numBouton 2 }
    if ($did == 15) && (%methode == normale) { /msg Nickserv ghost $hget(pseudolist,pseudo3) $hget(pseudolist,pass3) }
    if ($did == 15) && (%methode == socket) { ghost | .set %pseudo_a_ghoster $did(4) | .set %pass_du_pseudo $did(10) | .set %numBouton 3 }
    if ($did == 16) && (%methode == normale) { /msg Nickserv ghost $hget(pseudolist,pseudo4) $hget(pseudolist,pass4) }
    if ($did == 16) && (%methode == socket) { ghost | .set %pseudo_a_ghoster $did(5) | .set %pass_du_pseudo $did(11) | .set %numBouton 4 }
    if ($did == 17) && (%methode == normale) { /msg Nickserv ghost $hget(pseudolist,pseudo5) $hget(pseudolist,pass5) }
    if ($did == 17) && (%methode == socket) { ghost | .set %pseudo_a_ghoster $did(6) | .set %pass_du_pseudo $did(12) | .set %numBouton 5 }
    if ($did == 36) { /set %pseudo_du_ghost $?"entre le pseudo que tu auras lors du ghost" | $iif(!%pseudo_du_ghost,Err.pseudo,) | /set %methode socket | .did -a ghost 38 Socket | .did -e ghost 39 }
    if ($did == 35) { /set %methode normale | .did -a ghost 38 Normal | .did -b ghost 39 }
    if ($did == 19) { /hsave -o pseudolist ghostconf.txt }
    if ($did == 20) { /hsave -o pseudolist ghostconf.txt }
  }
  if ($devent == init) {
    /affichelist
    if (!$did(31)) { .did -m ghost 31 | .did -b ghost 32 }
    .did -c ghost 35 
    .did -b ghost 39
    /set %methode normale
    /set %firewall off
    .did -a ghost 2 $hget(pseudolist,pseudo1)
    .did -a ghost 3 $hget(pseudolist,pseudo2)
    .did -a ghost 4 $hget(pseudolist,pseudo3)
    .did -a ghost 5 $hget(pseudolist,pseudo4)
    .did -a ghost 6 $hget(pseudolist,pseudo5)
    .did -a ghost 8 $hget(pseudolist,pass1)
    .did -a ghost 9 $hget(pseudolist,pass2)
    .did -a ghost 10 $hget(pseudolist,pass3)
    .did -a ghost 11 $hget(pseudolist,pass4)
    .did -a ghost 12 $hget(pseudolist,pass5)
    .did -a ghost 38 Normal
    if (!$hget(pseudolist,pseudo1)) || (!$hget(pseudolist,pass1)) { .did -b ghost 13 }
    if (!$hget(pseudolist,pseudo2)) || (!$hget(pseudolist,pass2)) { .did -b ghost 14 }
    if (!$hget(pseudolist,pseudo3)) || (!$hget(pseudolist,pass3)) { .did -b ghost 15 }
    if (!$hget(pseudolist,pseudo4)) || (!$hget(pseudolist,pass4)) { .did -b ghost 16 }
    if (!$hget(pseudolist,pseudo5)) || (!$hget(pseudolist,pass5)) { .did -b ghost 17 }
  }
  if ($devent == edit) {
    if ($did == 31) && (!$did(31)) { .did -b ghost 32 }
    if ($did == 31) && ($did(31)) { .did -e ghost 32 }
    if ($did == 2)  { 
      .hadd -m pseudolist pseudo1 $did(2) 
      if (!$did(2)) || (!$did(8)) { .did -b ghost 13 }
      else { .did -e ghost 13 }
    }
    if ($did == 3) { 
      .hadd -m pseudolist pseudo2 $did(3) 
      if ($did(3) == $null) || ($did(9) == $null) { .did -b ghost 14 }
      else { .did -e ghost 14 }
    }
    if ($did == 4) {
      .hadd -m pseudolist pseudo3 $did(4) 
      if ($did(4) == $null) || ($did(10) == $null) { .did -b ghost 15 }
      else { .did -e ghost 15 }
    }
    if ($did == 5) {
      .hadd -m pseudolist pseudo4 $did(5) 
      if (!$did(5)) || (!$did(11)) { .did -b ghost 16 }
      else { .did -e ghost 16 }
    }
    if ($did == 6) { 
    .hadd -m pseudolist pseudo5 $did(6) }
    if (!$did(6)) || (!$did(12)) { .did -b ghost 17 }
    elseif ($did(6)) && ($did(12)) { .did -e ghost 17 }
  }
  if ($did == 8) {
    .hadd -m pseudolist pass1 $did(8) 
    if (!$did(8)) || (!$did(2)) { .did -b ghost 13 }
    else { .did -e ghost 13 }
  }
  if ($did == 10) {
    .hadd -m pseudolist pass3 $did(10) 
    if (!$did(10)) || (!$did(4)) { .did -b ghost 15 }
    else { .did -e ghost 15 }
  }
  if ($did == 11) {
    .hadd -m pseudolist pass4 $did(11) 
    if (!$did(11)) || (!$did(5)) { .did -b ghost 16 }
    else { .did -e ghost 16 }
  }
  if ($did == 12) {
    .hadd -m pseudolist pass5 $did(12) 
    if (!$did(12)) || (!$did(6)) { .did -b ghost 17 }
    else { .did -e ghost 17 }
  }
  if ($did == 9) {
    .hadd -m pseudolist pass2 $did(9) 
    if (!$did(9)) || (!$did(3)) { .did -b ghost 14 }
    else { .did -e ghost 14 }
  }
}
}

alias ghost {
  sockclose ghost
  if (%firewall == off) { sockopen ghost $server $port }
  elseif (%firewall == on) { sockopen ghost %ip %port }
}

ON *:SOCKOPEN:ghost: {
  ;/window -ek @ghost
  .did -a ghost 38 socket connected
  if ($sockerr) { .did -a ghost 38 Socket Disconnected }
  if (%firewall == on) {
    .sockwrite -n $sockname CONNECT $server $+ : $+ $port HTTP:/1.0 $+ $CRLF $+ $CRLF
    .sockwrite $sockname $CRLF
    .sockwrite -n $sockname nick %pseudo_du_ghost
    .sockwrite -n $sockname USER ghost X X :ghost
  }
  else {
    .sockwrite -n $sockname NICK %pseudo_du_ghost
    .sockwrite -n $sockname USER ghost X X :ghost
  }
}
ON *:SOCKREAD:ghost: {
  sockread %ghost
  ;echo @ghost %ghost
  if ($gettok(%ghost,1,32) == PING) sockwrite -n $sockname PONG $remove($gettok(%ghost,2,32),:)
  if ($remove($gettok(%ghost,1,33),:) == NickServ) {
    if (refusé isin $gettok(%ghost,2,58)) { echo $input([Ghoster] : Ghost invalide sur %pseudo_a_ghoster ( Mot de pass invalide ),64,Ghost Invalide) | sockclose ghost }
    if (déconnecté isin $gettok(%ghost,2,58)) { echo $input([Ghoster] : Ghost effectué avec succès sur %pseudo_a_ghoster,64,Ghost Effectué) | sockclose ghost }
    if (utilisé isin $gettok(%ghost,2,58)) { echo $input([Ghoster] : %pseudo_a_ghoster n'est actuellement pas connecté !,64,Ghost Invalide) | sockclose ghost }
  }
  if ($gettok(%ghost,2,32) == 432) { //echo $input(le pseudo que vous avez choisi ( %pseudo_du_ghost ) est invalide,512,Ghost invalide) }
  if ($gettok(%ghost,2,32) == 001) { .sockwrite -n $sockname PRIVMSG Nickserv :GHOST %pseudo_a_ghoster %pass_du_pseudo }
}  
ON *:SOCKCLOSE:ghost: { .did -a ghost  38 Socket Disconnected }

Conclusion :


aucun bug pour moi

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.