J'ai ressorti ça de derrière les fagots, j'avais scripté ça avec un pote j'ai juste modeifier un petit peu. Bon pour présenter la source...tout est dit dans le titre.
Source / Exemple :
menu menubar,status {
aconnex
.Configuration:aconnex
.$submenu($aconnex.menu($1))
}
alias -l aconnex.menu {
if ($1 == begin) return -
if ($1 isnum) return $readini($+($scriptdir,aconnex.ini),Main,$+(n,$calc($1 - 1))) $+ :aconnex $readini($+($scriptdir,aconnex.ini),Main,$+(n,$calc($1 - 1)))
}
on *:START: {
var %i = 0, %servers
while ($readini($+($scriptdir,aconnex.ini),Main,$+(n,%i))) {
if ($readini($+($scriptdir,aconnex.ini),$ifmatch,aconnex) == on) {
var %servers = %servers $readini($+($scriptdir,aconnex.ini),Main,$+(n,%i))
}
inc %i
}
aconnex %servers
}
on *:DISCONNECT: {
if (%aconnex [ $+ [ $cid ] ]) {
var %Server = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Server)
var %Fullname = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Fullname)
var %Email = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Email)
var %pseudo = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Nick)
var %Alternative = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Alternative)
var %Firewall = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Firewall)
var %Firewall-Type = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Firewall-Type)
var %Firewall-Host = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Firewall-Host)
var %Firewall-Port = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Firewall-Port)
var %Firewall-User = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Firewall-User)
var %Firewall-Pass = $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],Firewall-Pass)
if (%Server && %Firewall && %pseudo && %Alternative && %Email && %Fullname) {
if (%Firewall == on) .firewall -m $+ %Firewall-Type on %Firewall-Host %Firewall-Port %Firewall-User %Firewall-Pass
else .firewall off
server %Server -i %pseudo %Alternative %Email %Fullname
}
}
}
on *:CONNECT: {
if (%aconnex [ $+ [ $cid ] ]) {
var %i = 1
while ($readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],action-avantJoin $+ %i)) {
var %actionb = $iif(%actionb,%actionb $chr(124)) $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],action-avantJoin $+ %i)
inc %i
}
if (%actionb) {
alias action-avantJoin { %actionb }
action-avantJoin
alias action-avantJoin
}
$iif($readini($+($scriptdir,aconnex.ini),%aconnex [ $+ [ $cid ] ],Channels),join $ifmatch)
var %i = 1
while ($readini($+($scriptdir,aconnex.ini),%aconnex [ $+ [ $cid ] ],action-aprèsJoin $+ %i)) {
var %actiona = $iif(%actiona,%actiona $chr(124)) $readini($+($scriptdir,aconnex.ini),n,%aconnex [ $+ [ $cid ] ],action-aprèsJoin $+ %i)
inc %i
}
if (%actiona) {
alias action-aprèsJoin { %actiona }
action-aprèsJoin
alias action-aprèsJoin
}
}
}
on ^*:CLOSE:*: if (($target == Status Window) && (%aconnex [ $+ [ $cid ] ])) unset %aconnex [ $+ [ $cid ] ]
on *:EXIT: unset %aconnex*
alias aconnex {
if (!$1) dialog -m aconnex aconnex
else {
var %i = 1
while (%i <= $0) {
var %Server = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Server)
var %Fullname = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Fullname)
var %Email = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Email)
var %pseudo = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Nick)
var %Alternative = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Alternative)
var %Firewall = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Firewall)
var %Firewall-Type = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Firewall-Type)
var %Firewall-Host = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Firewall-Host)
var %Firewall-Port = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Firewall-Port)
var %Firewall-User = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Firewall-User)
var %Firewall-Pass = $readini($+($scriptdir,aconnex.ini),$gettok($1-,%i,32),Firewall-Pass)
if (%Server && %Firewall && %pseudo && %Alternative && %Email && %Fullname) {
if (%Firewall == on) .firewall -m $+ %Firewall-Type on %Firewall-Host %Firewall-Port %Firewall-User %Firewall-Pass
else .firewall off
var %newWindow = $iif($status != disconnected,-m,$null)
server %newWindow %Server -i %pseudo %Alternative %Email %Fullname
set %aconnex [ $+ [ $iif(%newWindow,$scon($scon(0)).cid,$cid) ] ] $gettok($1-,%i,32)
}
inc %i
}
return
}
}
dialog -l aconnex {
title "Auto Connexion"
size -1 -1 165 165
option dbu
text "Selection", 1, 4 9 22 8
combo 2, 27 9 68 133, size edit vsbar drop
button "Ajout", 3, 96 8 20 10, disable
button "Efface", 4, 117 8 20 10, disable
button "Ordre", 5, 138 8 20 10
tab "Configuration", 6, 8 22 148 119
box "", 7, 16 39 135 98, tab 6
text "Network", 8, 21 48 38 8, tab 6 right
combo 9, 60 47 86 96, tab 6 size vsbar drop
text "Server", 10, 21 61 38 8, tab 6 right
combo 11, 60 60 86 83, tab 6 size vsbar drop
text "Nom complet", 12, 21 76 38 8, tab 6 right
edit $fullname, 13, 60 75 86 10, tab 6
text "E-mail", 14, 21 87 38 8, tab 6 right
edit $email, 15, 60 86 86 10, tab 6
text "Pseudo", 16, 21 101 38 8, tab 6 right
edit $mnick, 17, 60 100 60 10, tab 6
text "Alternative", 18, 21 112 38 8, tab 6 right
edit $anick, 19, 60 111 60 10, tab 6
check "Auto Connection à l'ouverture", 20, 21 124 84 10, tab 6
tab "Channel", 21
box "", 22, 16 39 135 98, tab 21
list 23, 21 47 116 74, tab 21 size vsbar
button "^", 24, 137 48 8 35, disable tab 21 flat
button "v", 25, 137 84 8 35, disable tab 21 flat
button "Ajout", 26, 21 121 41 10, tab 21
button "Editer", 27, 103 121 42 10, disable tab 21
button "Efface", 28, 62 121 41 10, disable tab 21
tab "Execution", 29
box "Avant de joindre", 30, 16 39 135 47, tab 29
edit "", 31, 21 47 125 34, tab 29 multi return autohs autovs hsbar vsbar
box "Après avoir join", 32, 16 90 135 47, tab 29
edit "", 33, 21 98 125 34, tab 29 multi return autohs autovs hsbar vsbar
tab "Firewall", 34
check "Firewall", 35, 16 40 49 10, tab 34
box "", 36, 16 52 135 85, tab 34
text "Protocol:", 37, 21 64 38 8, disable tab 34 right
combo 38, 60 63 50 50, disable tab 34 size drop
text "Hostname:", 39, 21 81 38 8, disable tab 34 right
edit "", 40, 60 80 50 10, disable tab 34
text "Port:", 41, 21 93 38 8, disable tab 34 right
edit "", 42, 60 92 30 10, disable tab 34
text "User ID:", 43, 21 108 38 8, disable tab 34 right
edit "", 44, 60 107 40 10, disable tab 34
text "Mot de passe", 45, 21 120 38 8, disable tab 34 right
edit "", 46, 60 120 40 10, disable tab 34
button "OK", 48, 79 147 37 12, ok
button "Annuler", 49, 120 147 37 12, cancel
list 50, 0 0 0 0, hide
}
dialog -l aconnex-Ordre {
title "Ordre"
size -1 -1 106 92
option dbu
list 1, 8 8 81 62, size vsbar
button "^", 2, 90 9 8 30, disable flat
button "v", 3, 90 39 8 30, disable flat
button "OK", 4, 9 74 89 10, ok
}
dialog -l aconnex-AddChan {
title "Ajout de channel"
size -1 -1 105 46
option dbu
text "Channel", 1, 8 9 29 8
edit "", 2, 37 8 60 10
text "Mot de passe", 3, 2 22 35 8
edit "", 4, 37 21 60 10
button "OK", 5, 8 34 88 10, ok
}
dialog -l aconnex-EditChan {
title "Edition de channel"
size -1 -1 105 46
option dbu
text "Channel", 1, 8 9 29 8
edit "", 2, 37 8 60 10
text "Mot de passe", 3, 2 22 35 8
edit "", 4, 37 21 60 10
button "OK", 5, 8 34 88 10, ok
}
alias -l aconnex:new.init {
did -a aconnex 3 Add
did $iif($did(2),-e,-b) aconnex 3
did -b aconnex 4,24,25,27,28,37,38,39,40,41,42,43,44,45,46
did -u aconnex 20,35,38
did -r aconnex 13,15,17,19,23,31,33,40,42,44,46
if ($did(9).seltext != All) {
did -r aconnex 11,50
var %server = 1
while (%server <= $server(0)) {
didtok aconnex 11,50 32 $server(%server).desc $server(%server) $server(%server).port
inc %server
}
}
did -c aconnex 9,11,50 1
didtok aconnex 13,15,17,19 32 $fullname $email $mnick $anick
}
alias -l aconnex:load {
did -a aconnex 3 Save
did -e aconnex 3,4
var %i = 1, %actionb, %actiona
did -r aconnex 11,13,15,17,19,23,31,33,40,42,44,46,50
did -c aconnex 9 $didwm(9,$readini($+($scriptdir,aconnex.ini),n,$did(2),Network))
while (%i <= $server(0)) {
if (($readini($+($scriptdir,aconnex.ini),n,$did(2),Network) == $server(%i).group) || ($readini($+($scriptdir,aconnex.ini),n,$did(2),Network) == All)) {
did -a aconnex 11 $server(%i).desc
did -a aconnex 50 $server(%i) $server(%i).port
}
inc %i
}
did -c aconnex 11,50 $didwm(50,$readini($+($scriptdir,aconnex.ini),n,$did(2),Server))
didtok aconnex 13,15,17,19 32 $readini($+($scriptdir,aconnex.ini),n,$did(2),Fullname) $readini($+($scriptdir,aconnex.ini),n,$did(2),Email) $readini($+($scriptdir,aconnex.ini),n,$did(2),Nick) $readini($+($scriptdir,aconnex.ini),n,$did(2),Alternative)
did $iif($readini($+($scriptdir,aconnex.ini),n,$did(2),aconnex) == on,-c,-u) aconnex 20
var %i = 1
while ($gettok($gettok($readini($+($scriptdir,aconnex.ini),n,$did(2),Channels),1,32),%i,44)) {
did -a aconnex 23 $gettok($gettok($readini($+($scriptdir,aconnex.ini),n,$did(2),Channels),1,32),%i,44) $iif($gettok($gettok($readini($+($scriptdir,aconnex.ini),$did(2),Channels),2,32),%i,44) != nokey,$ifmatch)
inc %i
}
var %i = 1
while ($readini($+($scriptdir,aconnex.ini),n,$did(2),action-avantJoin $+ %i)) {
var %actionb = $iif(%actionb,%actionb $+ $crlf) $+ $readini($+($scriptdir,aconnex.ini),n,$did(2),action-avantJoin $+ %i)
inc %i
}
did -a aconnex 31 %actionb
var %i = 1
while ($readini($+($scriptdir,aconnex.ini),n,$did(2),action-aprèsJoin $+ %i)) {
var %actiona = $iif(%actiona,%actiona $+ $crlf) $+ $readini($+($scriptdir,aconnex.ini),n,$did(2),action-aprèsJoin $+ %i)
inc %i
}
did -a aconnex 33 %actiona
did $iif($readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall) == on,-c,-u) aconnex 35
did $iif($readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall) == on,-e,-b) aconnex 37,38,39,40,41,42,43,44,45,46
if ($readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall) == on) {
did -c aconnex 38 $replace($readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall-Type),4,1,5,2,p,3)
didtok aconnex 40,42,44,46 32 $readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall-Host) $readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall-Port) $readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall-User) $readini($+($scriptdir,aconnex.ini),n,$did(2),Firewall-Pass)
}
}
on *:DIALOG:aconnex:*:*: {
if $devent == init {
var %server = 1, %name = 0, %network
while ($readini($+($scriptdir,aconnex.ini),n,Main,$+(n,%name))) {
did -a aconnex 2 $ifmatch
inc %name
}
did -a aconnex 9 All
while (%server <= $server(0)) {
didtok aconnex 11,50 32 $server(%server).desc $server(%server) $server(%server).port
if (!$didwm(9,$server(%server).group)) {
did -a aconnex 9 $server(%server).group
}
inc %server
}
did -c aconnex 9,11 1
didtok aconnex 38 32 Socks4 Socks5 Proxy
}
if $devent == edit {
if $did == 2 {
if ($len($did(2)) <= 1) {
aconnex:new.init
}
}
}
if $devent == sclick {
if $did == 2 {
aconnex:load
}
if $did == 4 {
var %name = 1, %i = 0
remini $+(",$scriptdir,aconnex.ini,") $did(2).seltext
while (%name <= $did(2).lines) {
if ($did(2,%name) != $did(2).seltext) {
writeini -n $+(",$scriptdir,aconnex.ini,") Main $+(n,%i) $did(2,%name)
inc %i
}
inc %name
}
remini $+(",$scriptdir,aconnex.ini,") Main $+(n,%i)
did -d aconnex 2 $did(2).sel
did -d aconnex 2 0
aconnex:new.init
}
if $did == 5 {
dialog -m aconnex-Ordre aconnex-Ordre
}
if $did == 9 {
var %server = 1
did -r aconnex 11,50
while (%server <= $server(0)) {
if (($did(9) == $server(%server).group) || ($did(9) == All)) {
didtok aconnex 11,50 32 $server(%server).desc $server(%server) $server(%server).port
}
inc %server
}
did -c aconnex 11 1
}
if $did == 23 {
did $iif($did(23).sel > 1,-e,-b) aconnex 24
did $iif($did(23).sel < $did(23).lines,-e,-b) aconnex 25
did $iif($did(23).sel,-e,-b) aconnex 27,28
}
if $did == 24 {
var %seltxt = $did(23).seltext, %selid = $did(23).sel, %uptxt = $did(23,$calc($did(23).sel - 1)), %upid = $calc($did(23).sel - 1)
did -o aconnex 23 %upid %seltxt
did -o aconnex 23 %selid %uptxt
did -c aconnex 23 %upid
did $iif($did(23).sel > 1,-e,-b) aconnex 24
did $iif($did(23).sel < $did(23).lines,-e,-b) aconnex 25
}
if $did == 25 {
var %seltxt = $did(23).seltext, %selid = $did(23).sel, %downtxt = $did(23,$calc($did(23).sel + 1)), %downid = $calc($did(23).sel + 1)
did -o aconnex 23 %downid %seltxt
did -o aconnex 23 %selid %downtxt
did -c aconnex 23 %downid
did $iif($did(23).sel > 1,-e,-b) aconnex 24
did $iif($did(23).sel < $did(23).lines,-e,-b) aconnex 25
}
if $did == 26 {
dialog -m aconnex-addchan aconnex-addchan
}
if $did == 27 {
if $did(23).sel {
dialog -m aconnex-editchan aconnex-editchan
}
}
if $did == 28 {
if $did(23).sel {
did -d aconnex 23 $did(23).sel
did -b aconnex 24,25
}
}
if $did == 35 {
did $iif($did(35).state,-e,-b) aconnex 37,38,39,40,41,42,43,44,45,46
}
if $did == 3,48 {
if ($did(2)) {
var %i = 0, %channels, %passes
if ($did(3) == Add) {
:start
if (Main == $did(2)) {
if ($?="Entrer un autre nom. $crlf $+ Mot non autoriser: Main") { did -o aconnex 2 0 $replace($ifmatch,$chr(32),$chr(160)) | goto start }
else halt
}
did -o aconnex 2 0 $replace($did(2),$chr(32),$chr(160))
while ($readini($+($scriptdir,aconnex.ini),n,Main,$+(n,%i))) inc %i
writeini -n $+(",$scriptdir,aconnex.ini,") Main $+(n,%i) $did(2)
didtok aconnex 2,3 32 $did(2) Save
did -c aconnex 2 $calc(%i + 1)
did -e aconnex 4
}
writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Network $did(9)
writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Server $did(50,$did(11).sel)
writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Fullname $did(13)
writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Email $did(15)
writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Nick $did(17)
writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Alternative $did(19)
writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) aconnex $iif($did(20).state,on,off)
var %chan = 1
while (%chan <= $did(23).lines) {
var %channels = $iif(%channels != $null,$+(%channels,$chr(44))) $+ $gettok($did(23,%chan),1,32)
var %passes = $iif(%passes != $null,$+(%passes,$chr(44))) $+ $iif($gettok($did(23,%chan),2,32),$ifmatch,nokey)
inc %chan
}
if (%channels) writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Channels %channels %passes
else remini $+(",$scriptdir,aconnex.ini,") $did(2) Channels
var %i = 1, %j = 1
while (%i <= $did(31).lines) {
if ($did(31,%i)) {
writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) action-avantJoin $+ %j $did(31,%i)
inc %j
}
inc %i
}
while ($readini($+($scriptdir,aconnex.ini),$did(2),action-avantJoin $+ %j)) {
remini $+(",$scriptdir,aconnex.ini,") $did(2) action-avantJoin $+ %j
inc %j
}
var %i = 1, %j = 1
while (%i <= $did(33).lines) {
if ($did(33,%i)) {
writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) action-aprèsJoin $+ %j $did(33,%i)
inc %j
}
inc %i
}
while ($readini($+($scriptdir,aconnex.ini),$did(2),action-aprèsJoin $+ %j)) {
remini $+(",$scriptdir,aconnex.ini,") $did(2) action-aprèsJoin $+ %j
inc %j
}
writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Firewall $iif($did(35).state,on,off)
if ($did(38)) writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Firewall-Type $replace($did(38),Socks4,4,Socks5,5,Proxy,p)
if ($did(40)) writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Firewall-Host $did(40)
if ($did(42)) writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Firewall-Port $did(42)
if ($did(44)) writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Firewall-User $did(44)
if ($did(46)) writeini -n $+(",$scriptdir,aconnex.ini,") $did(2) Firewall-Pass $did(46)
if ($did == 3) aconnex:load
flushini $+(",$scriptdir,aconnex.ini,")
}
}
}
if $devent == dclick {
if $did == 23 {
dialog -m aconnex-editchan aconnex-editchan
}
}
}
on *:DIALOG:aconnex-Ordre:*:*: {
if $devent == init {
var %i = 0
while ($readini($+($scriptdir,aconnex.ini),n,Main,$+(n,%i))) {
did -a aconnex-Ordre 1 $ifmatch
inc %i
}
}
if $devent == sclick {
if $did == 1 {
did $iif($did(1).sel > 1,-e,-b) aconnex-Ordre 2
did $iif($did(1).sel < $did(1).lines,-e,-b) aconnex-Ordre 3
}
if $did == 2 {
var %seltxt = $did(1).seltext, %selid = $did(1).sel, %uptxt = $did(1,$calc($did(1).sel - 1)), %upid = $calc($did(1).sel - 1)
did -o aconnex-Ordre 1 %upid %seltxt
did -o aconnex-Ordre 1 %selid %uptxt
did -c aconnex-Ordre 1 %upid
did $iif($did(1).sel > 1,-e,-b) aconnex-Ordre 2
did $iif($did(1).sel < $did(1).lines,-e,-b) aconnex-Ordre 3
}
if $did == 3 {
var %seltxt = $did(1).seltext, %selid = $did(1).sel, %downtxt = $did(1,$calc($did(1).sel + 1)), %downid = $calc($did(1).sel + 1)
did -o aconnex-Ordre 1 %downid %seltxt
did -o aconnex-Ordre 1 %selid %downtxt
did -c aconnex-Ordre 1 %downid
did $iif($did(1).sel > 1,-e,-b) aconnex-Ordre 2
did $iif($did(1).sel < $did(1).lines,-e,-b) aconnex-Ordre 3
}
if $did == 4 {
var %i = 1
did -r aconnex 2
while (%i <= $did(1).lines) {
writeini -n $+(",$scriptdir,aconnex.ini,") Main $+(n,$calc(%i - 1)) $did(1,%i)
did -a aconnex 2 $did(1,%i)
inc %i
}
}
}
}
on *:DIALOG:aconnex-AddChan:*:*: {
if $devent == sclick {
if $did == 5 {
if ($did(2)) did -a aconnex 23 $did(2) $did(4)
did $iif($did(aconnex,23).sel < $did(aconnex,23).lines,-e,-b) aconnex 25
}
}
}
on *:DIALOG:aconnex-EditChan:init:0: {
if $devent == init {
dialog -t aconnex-EditChan Edit Channel
did -a aconnex-EditChan 2 $gettok($did(aconnex,23).seltext,1,32)
did -a aconnex-EditChan 4 $gettok($did(aconnex,23).seltext,2,32)
}
if $devent == sclick {
if $did == 5 {
if ($did(2)) did -o aconnex 23 $did(aconnex,23).sel $did(2) $did(4)
}
}
}
Conclusion :
Enjoy =D pas de bug répértoriés. j'attends vos commentaires sur la sources pour l'améliorer et l'optimiser
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.