Accueil > > > SERVER FTP
SERVER FTP
Information sur la source
Description
A force de voir des sources en relation avec le ftp, j'ai eu envie de faire un server ftp en script.
Option :
- Création de différent compte utilisateur
- Log de la connection
- Black Ip pour les ip indésirable
- Raw pour envoyer des commandes irc via le server ftp ( seulement pour le compte administrator )
- ...
Cpd ce script ne permet qu'une seul connection à la fois. Peut être qu'une prochaîne version permettra plusieur utilisateur :-)
Source
- # mIRC Server Ftp by aBdOulaX #
-
- on *:load:{
- if ( $exists(FtpPage.txt) == $false ) {
- write FtpPage.txt -
- write FtpPage.txt Bienvenue sur mon server ftp
- write FtpPage.txt UpTime : $chr(36) $+ asctime( $+ $chr(36) $+ sock(ftplisten).to,nn) min $chr(36) $+ asctime( $+ $chr(36) $+ sock(ftplisten).to,ss) sec
- write FtpPage.txt -
- }
- if ( $exists(serverftp.cfg) == $false ) {
- write ServerFtp.cfg ftp page FtpPage.txt
- write ServerFtp.cfg ftp log -c
- write ServerFtp.cfg ftp raw -c
- write ServerFtp.cfg ftp timeout 600
- write ServerFtp.cfg ftp ip 127.0.0.1
- write ServerFtp.cfg user login
- write ServerFtp.cfg user dir -c C:\
- write ServerFtp.cfg user access -c -c -u -c -c -u
- write ServerFtp.cfg administrator login pass
- write ServerFtp.cfg administrator dir -u C:\
- write ServerFtp.cfg administrator access -c -c -c -c -c -c
- run cmd /c ipconfig /all > FtpIp | .timerftpip -m 1 500 FtpGetIp
- }
- if ( $exists(FtpBlackIp.cfg) == $false ) write FtpBlackIp.cfg 192.0.0.1
- echo 14 -a mIRC Server Ftp by 4aBdOulaX
- echo 15 -a -> Server running ...
- .timerftp1 1 1 ftpserver
- .timerftp2 1 2 ftpadmin
- }
-
- menu menubar {
- Ftp Server
- . $iif($sock(ftplisten),Close Server,Open Server) :if ( $sock(ftplisten) ) { sockclose ftplisten | FtpClose | echo 4 -a =>5 Server Close | renwin @FtpServer @FtpServer -> Server Close } | else ftpserver
- .Ftp Admin :/FtpAdmin
- .-
- .Open Log:/.run FtpLog.txt
- .Remove Log:/remove FtpLog.txt
- }
- menu @FtpServer {
- $iif($sock(ftp),Send message) :/Sftp 220 $$?="Input your message :"
- -
- Ftp Admin :/FtpAdmin
- Ftp Ip ( $+ $read -s"ftp ip" serverftp.cfg $+ ) :if ( $$?!"Auto get ip :" == $true ) { run cmd /c ipconfig /all > FtpIp | .timerftpip -m 1 500 FtpGetIp } | else write -s"ftp ip" serverftp.cfg ftp ip $$?="Input your ip :"
- -
- Open Log:/.run FtpLog.txt
- Remove Log:/remove FtpLog.txt
- -
- Close User Connection:/FtpClose
- $iif($sock(ftplisten),Close Server,Open Server) :if ( $sock(ftplisten) ) { sockclose ftplisten | FtpClose | echo 4 -a =>5 Server Close | renwin @FtpServer @FtpServer -> Server Close } | else ftpserver
- }
- # FTP connection #
-
- alias ftpserver {
- if ($sock(ftplisten)) { halt }
- unset %FtpDir %FtpUser %FtpPass %FtpAwrite %FtpAread %FtpArm %FtpAlist %FtpAmkdir %FtpArmdir %text
- .socklisten ftplisten 21
- window -e @FtpServer
- echo 4 -a => 5Welcom on the mIRC Server Ftp
- renwin @FtpServer @FtpServer -> UpTime : $asctime($sock(ftplisten).to,nn) min $asctime($sock(ftplisten).to,ss) sec -> My ip : $read -s"ftp ip" serverftp.cfg -> Waiting connection ...
- }
- on 1:socklisten:ftplisten: {
- sockaccept ftp
- window -e20 @FtpServer
- renwin @FtpServer @FtpServer -> UpTime : $asctime($sock(ftplisten).to,nn) min $asctime($sock(ftplisten).to,ss) sec -> My ip : $read -s"ftp ip" serverftp.cfg -> User connect : $sock(ftp).ip
- echo 4 @FtpServer *** connection détecté < $sock(ftp).ip >
- if ( $read -s"ftp log" serverftp.cfg == -c ) write FtpLog.txt *** connection < $sock(ftp).ip > -> $time $date
- var %f = 1
- while ( %f <= $lines(FtpBlackIp.cfg) ) {
- if ( $read -l $+ %f FtpBlackIp.cfg == $sock(ftp).ip ) { echo 4 @FtpServer /!\14 Black Ip < $sock(ftp).ip > 4/!\ | FtpClose | halt }
- inc %f
- }
- SFtp 220-mIRC Server FTP by aBd0ulaX
- if ( $read -s"ftp page" serverftp.cfg ) {
- %f = 1
- while ( %f <= $lines($read -s"ftp page" serverftp.cfg) ) {
- SFtp 220- $read -l $+ %f $read -s"ftp page" serverftp.cfg
- inc %f
- }
- }
- SFtp 220
- }
- on 1:sockread:ftp:{
- :suite
- if ( $sock(ftp) ) sockread -f %text
- else return
- if ($sockbr == 0) return
- echo @FtpServer %text
- FtpEvent %text
- if ( $read -s"ftp log" serverftp.cfg == -c ) write FtpLog.txt %text
- if ( $read -s"ftp timeout" serverftp.cfg ) .timerFtpOut 1 $read -s"ftp timeout" serverftp.cfg FtpClose
- goto suite
- }
-
- on *:close:@FtpServer:{ FtpClose | sockclose ftplisten }
-
- on *:input:@FtpServer:if ( $sock(ftp) ) && ( $mid($1,1,1) != / ) SFtp $1-
-
- alias FtpClose {
- if ( $read -s"ftp log" serverftp.cfg == -c ) write FtpLog.txt ***Connection close -> $time $date :: $asctime($sock(ftp).to,nn) min $asctime($sock(ftp).to,ss) sec up
- renwin @FtpServer @FtpServer -> UpTime : $asctime($sock(ftplisten).to,nn) min $asctime($sock(ftplisten).to,ss) sec -> My ip : $read -s"ftp ip" serverftp.cfg -> Waiting connection ...
- sockclose ftp
- echo 4 @ftpserver ***Connection fermé
- .timerFtpOut off
- unset %FtpDir %FtpUser %FtpPass %FtpAwrite %FtpAread %FtpArm %FtpAlist %FtpAmkdir %FtpArmdir %text
- }
-
- alias FtpLoad {
- set %FtpDir / $+ $replace($gettok($read -s" $+ %FtpUser dir" serverftp.cfg,2-,32),\,/)
- unset %FtpAwrite %FtpAread %FtpArm %FtpAlist %FtpAmkdir %FtpArmdir %FtpLock
- if ( $gettok($read -s" $+ %FtpUser dir" serverftp.cfg,1,32) == -c ) set %FtpLock / $+ $replace($gettok($read -s" $+ %FtpUser dir" serverftp.cfg,2-,32),\,/)
- if ( $gettok($read -s" $+ %FtpUser access" serverftp.cfg,1,32) == -c ) set %FtpAwrite 1
- if ( $gettok($read -s" $+ %FtpUser access" serverftp.cfg,2,32) == -c ) set %FtpAread 1
- if ( $gettok($read -s" $+ %FtpUser access" serverftp.cfg,3,32) == -c ) set %FtpArm 1
- if ( $gettok($read -s" $+ %FtpUser access" serverftp.cfg,4,32) == -c ) set %FtpAlist 1
- if ( $gettok($read -s" $+ %FtpUser access" serverftp.cfg,5,32) == -c ) set %FtpAmkdir 1
- if ( $gettok($read -s" $+ %FtpUser access" serverftp.cfg,6,32) == -c ) set %FtpArmdir 1
- }
- alias SFtp {
- echo 15 @ftpserver $1-
- sockwrite ftp $1- $crlf
- if ( $read -s"ftp log" serverftp.cfg == -c ) write FtpLog.txt $1-
- }
- alias FtpEvent {
- if ( $1 == USER ) { set %FtpUser $2 | SFtp 331 User name okay, need password. }
- elseif ( $1 == PASS ) {
- if ( $read -s" $+ %FtpUser login" ServerFtp.cfg == $2 ) { set %FtpPass ok | SFtp 230 User logged in. | FtpLoad }
- else { SFtp 530 Not logged in. | FtpClose }
- }
- elseif ( $1 == opts ) SFtp 501 Invalid option
- elseif ( ( !%FtpUser ) || ( !%FtpPass ) ) { SFtp 500 $1 not understood | halt }
- elseif ( $1 == SYST ) SFtp 215 Windows $os
- elseif ( $1 == NOOP ) SFtp 200 NOOP command successful
- elseif ( $1 == REST ) { SFtp 350 Restarting at $2 | set %FtpByte $2 }
- elseif ( $1 == PWD ) SFtp 257 " $+ $iif(!%FtpLock,%FtpDir,/ $+ $remove(%FtpDir,%FtpLock)) $+ " is current directory.
- elseif ( $1 == TYPE ) SFtp 200 Type set to $2 $+ .
- elseif ( $1 == QUIT ) FtpClose
- elseif ( $1 == PASV ) FtpPasv
- elseif ( $1 == LIST ) FtpList
-
- ;elseif ( $1 == CWD ) { if ( %FtpDir != $2 ) set %FtpDir $iif(/ !isin $2-,%FtpDir) $+ $2- $+ $iif($mid($2,$len($2),1) != /,/) | SFtp 250 Directory changed to %FtpDir }
- elseif ( $1 == CWD ) {
- if ( / isin $2- ) set %FtpDir $2-
- else set %FtpDir %FtpDir $+ $2- $+ /
- SFtp 250 Directory changed to %FtpDir
- }
-
- elseif ( $1 == CDUP ) {
- if ( %FtpLock == %FtpDir ) { SFtp 250 Directory changed to / | halt }
- if ( !$2 ) set %FtpDir / $+ $gettok(%FtpDir,1- $calc($gettok(%FtpDir,0,47)-1),47) $+ /
- elseif ( $gettok(%FtpDir,0,47) > 2 ) {
- var %FtpRem = $gettok(%FtpDir,$gettok(%FtpDir,0,47),47) $+ /
- set %FtpDir $remove(%FtpDir,%FtpRem)
- }
- SFtp 250 Directory changed to %FtpDir
- }
- elseif ( $1 == RETR ) FtpSend $2-
- elseif ( $1 == STOR ) FtpRecv $2-
- elseif ( $1 == ABOR ) { sockclose FtpPasv* | SFtp 200 abort }
- elseif ( $1 == DELE ) { if ( !%FtpArm ) { SFtp 550 Permission denied. | halt } | .remove %FtpDir $+ $2- | SFtp 250 DELE command successful. }
- elseif ( $1 == MKD ) { if ( !%FtpAmkdir ) { SFtp 550 Permission denied. | halt } | .mkdir %FtpDir $+ $2- | SFtp 257 " $+ %FtpDir $+ $2- $+ " directory created. }
- elseif ( $1 == RMD ) { if ( !%FtpAread ) { SFtp 550 Permission denied. | halt } | .rmdir $2- | SFtp 250 RMD command successful. }
- elseif ( $1 == RNFR ) { set %FtpRn %FtpDir $+ $2- | SFtp 350 File ready for destination name. }
- elseif ( $1 == RNTO ) { .rename %FtpRn $iif(\ !isin $2-,%FtpDir) $+ $2- | SFtp 250 RNTO command successful. }
- elseif ( $read -s"ftp raw" serverftp.cfg == -c ) && ( $1 == RAW ) && ( %FtpUser == administrator ) { $2- | SFtp 220 RAW ok }
- ;Les raws commandes peuvent être seulement envoyer par l'user administrator
- elseif ( $1 == PORT ) FtpPort $replace($gettok($2,1-4,44),$chr(44),.) $calc($gettok($2,5,44) * 256 + $gettok($2,6,44) )
- else SFtp 500 $1 not understood
- }
-
- # Passive Mode #
-
- alias FtpIp { return $gettok($iif($read -s"ftp ip" serverftp.cfg,$read -s"ftp ip" serverftp.cfg,$ip),$1,46) $+ , }
-
- alias FtpPort {
- sockclose FtpPasv*
- if ( !%FtpByte ) %FtpByte = 0
- sockopen ftppasv $1 $2
- }
- on *:sockopen:ftppasv:{
- SFtp 200 PORT Command successful.
- echo 14 @FtpServer -> Connection au Port
- }
-
- alias FtpPasv {
- sockclose FtpPasv*
- .socklisten ftppasvlisten 4000
- %FtpByte = 0
- SFtp 227 Entering Passive Mode ( $+ $FtpIp(1) $+ $FtpIp(2) $+ $FtpIp(3) $+ $FtpIp(4) $+ 15,160)
- ;4000 $calc(15*256+160)
- }
- on 1:socklisten:ftppasvlisten: {
- sockaccept ftppasv
- echo 14 @FtpServer -> Ouverture du passive mode.
- }
- alias FtpList {
- if ( !%FtpAlist ) SFtp 550 Permission denied.
- elseif ( !$sock(FtpPasv) ) { .timerFtpList -m 1 250 FtpList | halt }
- else {
- SFtp 150 Opening data connection for directory list.
- .echo -q $finddir($replace($mid(%FtpDir,2),/,\),*,0,1,sockwrite ftppasv drwx------ 1 user group 0 0 00:00 $nopath($1) $+ $crlf )
- .echo -q $findfile($replace($mid(%FtpDir,2),/,\),*,0,1,sockwrite ftppasv -rwx------ 1 user group $file($1).size $asctime($file($1).atime,mmm d HH:nn) $nopath($1) $+ $crlf )
- }
- FtpPasvClose
- }
-
- alias FtpPasvClose {
- if ( !$1 ) SFtp 226 Transfer complete.
- sockclose ftppasv*
- unset %FtpByte %FtpSfile
- echo 14 @FtpServer -> Fermeture du passive mode.
- }
-
- alias FtpSend {
- if ( !%FtpAread ) { SFtp 550 Permission denied. | FtpPasvClose 1 | halt }
- elseif ( !$sock(FtpPasv) ) { .timerFtpList -m 1 250 FtpSend $1- | halt }
- set %FtpSfile $replace($mid(%FtpDir,2),/,\) $+ $1-
- SFtp 150 Opening ASCII mode data connection for $1- ( $+ $file(%FtpSfile).size bytes).
- sockrename FtpPasv FtpPasvSend
- bread %FtpSfile %FtpByte 4092 &bftp
- sockwrite FtpPasvSend &bftp
- %FtpByte = %FtpByte + 4092
- }
-
- on *:sockwrite:FtpPasvSend:{
- if ( %FtpByte >= $file(%FtpSfile).size ) { FtpPasvClose | halt }
- bread %FtpSfile %FtpByte 4092 &bftp
- sockwrite FtpPasvSend &bftp
- %FtpByte = %FtpByte + 4092
- }
-
- alias FtpRecv {
- if ( !%FtpAwrite ) { SFtp 550 Permission denied. | FtpPasvClose 1 | halt }
- elseif ( !$sock(FtpPasv) ) { .timerFtpList -m 1 250 FtpRecv $1- | halt }
- sockrename ftppasv FtpPasvRecv
- set %FtpSfile $replace($mid(%FtpDir,2),/,\) $+ $1-
- SFtp 150 Opening BINARY mode data connection for Stats.dat.
- }
- on 1:sockread:FtpPasvRecv:{
- :suite
- sockread &data
- if ($sockbr == 0) return
- bwrite %FtpSfile -1 &data
- goto suite
- }
- on 1:sockclose:FtpPasvRecv:FtpPasvClose
-
- # administration #
-
- alias FtpAdmin { dialog -dm FtpAdmin FtpAdmin }
-
- dialog FtpAdmin {
- title "mIRC Server FTP administration"
- size -1 -1 280 165
- option dbu
- button "Close",1,234 145 40 15,cancel
- box "Users",2,6 4 185 95
- button "New",21,12 15 40 10
- button "Remove",22,12 85 40 10
- list 3,12 28 40 59
- text "Login :",4,60 16 20 8
- edit "",5,85 15 40 10
- text "Folder :",6,60 29 20 8
- edit "",7,85 28 100 10,read
- text "Pass :",8,130 16 20 8
- edit "",9,145 15 40 10,pass
- check "Lock in the directory",10,85 41 60 8
- button "Browse",11,145 41 40 10
- text "Access :",20,60 55 20 8
-
- box "Files",12,85 54 48 40
- check "Write",13,90 63 30 8
- check "Read",14,90 73 30 8
- check "Delete",15,90 83 30 8
-
- box "Directory",16,137 54 48 40
- check "List",17,142 63 30 8
- check "Create",18,142 73 30 8
- check "Delete",19,142 83 30 8
-
- box "Black Ip",23,198 4 75 95
- edit "",24,203 15 49 10
- button "Add",25,253 15 15 10
- list 26,203 28 64 59
- button "Remove",27,203 85 65 10
-
- box " Ftp ",28,6 104 267 37
- text "Ftp Page :",29,12 114 30 8
- edit "",30,57 113 100 10,read
- button "Browse",31,162 113 40 10
- text "TimeOut ( sec ) :",32,12 128 40 8
- edit "",33,57 126 30 10
- check "Log protocole",34,210 114 50 8
- check "Raw Administrator",35,210 128 60 8
- text "ip :",36,95 128 15 8
- edit "",37,107 127 50 10
- button "Auto",38,162 127 40 10
- }
-
- on *:dialog:FtpAdmin:*:*:{
- if ( $devent == init ) {
- var %login
- var %f = 1
- while ( %f <= $lines(ServerFtp.cfg) ) {
- if ( $gettok($read -l $+ %f serverftp.cfg,2,32) == login ) { did -a $dname 3 $gettok($read -l $+ %f serverftp.cfg,1,32) | .did -a $dname 9 $gettok($read -l $+ %f serverftp.cfg,3,32) }
- inc %f
- }
- %f = 1
- while ( %f <= $lines(FtpBlackIp.cfg) ) {
- did -a $dname 26 $read -l $+ %f FtpBlackIp.cfg
- inc %f
- }
- did -a $dname 5 $did($dname,3,1)
- did -a $dname 7 $gettok($read -s" $+ $did($dname,3,1) dir" serverftp.cfg,2-,32)
- did $gettok($read -s" $+ $did($dname,3,1) dir" serverftp.cfg,1,32) $dname 10
- did $gettok($read -s" $+ $did($dname,3,1) access" serverftp.cfg,1,32) $dname 13
- did $gettok($read -s" $+ $did($dname,3,1) access" serverftp.cfg,2,32) $dname 14
- did $gettok($read -s" $+ $did($dname,3,1) access" serverftp.cfg,3,32) $dname 15
- did $gettok($read -s" $+ $did($dname,3,1) access" serverftp.cfg,4,32) $dname 17
- did $gettok($read -s" $+ $did($dname,3,1) access" serverftp.cfg,5,32) $dname 18
- did $gettok($read -s" $+ $did($dname,3,1) access" serverftp.cfg,6,32) $dname 19
-
- did -a $dname 30 $nopath($read -s"ftp page" serverftp.cfg)
- did -a $dname 33 $read -s"ftp timeout" serverftp.cfg
- did -a $dname 37 $read -s"ftp ip" serverftp.cfg
- did $read -s"ftp log" serverftp.cfg $dname 34
- did $read -s"ftp raw" serverftp.cfg $dname 35
- }
- if ( $devent == edit ) {
- if ( $did == 9 ) write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) login" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) login $did($dname,9)
- elseif ( $did == 33 ) write -s"ftp timeout" serverftp.cfg ftp timeout $did($dname,33)
- elseif ( $did == 37 ) write -s"ftp ip" serverftp.cfg ftp ip $did($dname,37)
- elseif ( $did == 5 ) {
- while ( $read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) $+ " serverftp.cfg ) write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) $+ " serverftp.cfg $did($dname,5) $read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) $+ " serverftp.cfg
- did -o $dname 3 $iif($did($dname,3).sel,$did($dname,3).sel,1) $did($dname,5)
- }
- }
- if ( $devent == sclick ) {
- if ( $did == 10 ) {
- if ( $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir" serverftp.cfg,1,32) == -c ) write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir -u $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir" serverftp.cfg,2-,32)
- else write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir -c $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir" serverftp.cfg,2-,32)
- }
- elseif ( $did == 11 ) {
- write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir" serverftp.cfg,1,32) $sdir(c:\,"Choose the directory")
- did -ra $dname 7 $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir" serverftp.cfg,2-,32)
- }
- elseif ( $did == 13 ) {
- if ( $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1,32) == -c ) write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access -u $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,2-,32)
- else write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access -c $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,2-,32)
- }
- elseif ( $did == 14 ) {
- if ( $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,2,32) == -c ) write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1,32) -u $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,3-,32)
- else write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1,32) -c $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,3-,32)
- }
- elseif ( $did == 15 ) {
- if ( $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,3,32) == -c ) write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1-2,32) -u $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,4-,32)
- else write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1-2,32) -c $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,4-,32)
- }
- elseif ( $did == 17 ) {
- if ( $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,4,32) == -c ) write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1-3,32) -u $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,5-,32)
- else write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1-3,32) -c $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,5-,32)
- }
- elseif ( $did == 18 ) {
- if ( $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,5,32) == -c ) write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1-4,32) -u $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,6,32)
- else write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1-4,32) -c $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,6,32)
- }
- elseif ( $did == 19 ) {
- if ( $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,6,32) == -c ) write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1-5,32) -u
- else write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1-5,32) -c
- }
- elseif ( $did == 3 ) {
- did -ra $dname 5 $did($dname,3).seltext
- did -ra $dname 7 $gettok($read -s" $+ $did($dname,3).seltext dir" serverftp.cfg,2-,32)
- did -ra $dname 9 $read -s" $+ $did($dname,3).seltext login" serverftp.cfg
- did $gettok($read -s" $+ $did($dname,3).seltext dir" serverftp.cfg,1,32) $dname 10
- did $gettok($read -s" $+ $did($dname,3).seltext access" serverftp.cfg,1,32) $dname 13
- did $gettok($read -s" $+ $did($dname,3).seltext access" serverftp.cfg,2,32) $dname 14
- did $gettok($read -s" $+ $did($dname,3).seltext access" serverftp.cfg,3,32) $dname 15
- did $gettok($read -s" $+ $did($dname,3).seltext access" serverftp.cfg,4,32) $dname 17
- did $gettok($read -s" $+ $did($dname,3).seltext access" serverftp.cfg,5,32) $dname 18
- did $gettok($read -s" $+ $did($dname,3).seltext access" serverftp.cfg,6,32) $dname 19
- }
- elseif ( $did == 21 ) {
- var %FtpUsers = $$?="Enter the user name :"
- if ( $read -s" $+ %FtpUsers $+ " serverftp.cfg ) { if ( $$?!" $+ %FtpUsers already exist,do you want to replace it ?" == $false ) { dialog -v $dname | halt } }
- else did -a $dname 3 %FtpUsers
- write -s" $+ %FtpUsers login" serverftp.cfg %FtpUsers login
- write -s" $+ %FtpUsers dir" serverftp.cfg %FtpUsers dir -u C:\
- write -s" $+ %FtpUsers access" serverftp.cfg %FtpUsers access -u -u -u -u -u -u
- dialog -v $dname
- }
- elseif ( $did == 22 ) {
- if ( !$did($dname,3).seltext ) || ( $$?!"be you sure to want to remove $did($dname,3).seltext ?" == $false ) { dialog -v $dname | halt }
- while ( $read -s" $+ $did($dname,3).seltext $+ " serverftp.cfg ) write -ds" $+ $did($dname,3).seltext $+ " serverftp.cfg
- did -d $dname 3 $did($dname,3).sel
- dialog -v $dname
- }
- elseif ( $did == 27 ) { if ( $did($dname,26).sel ) write -dl $+ $did($dname,26).sel FtpBlackIp.cfg | did -d $dname 26 $did($dname,26).sel }
- elseif ( $did == 25 ) { if ( $did($dname,24) ) { write FtpBlackIp.cfg $did($dname,24) | did -a $dname 26 $did($dname,24) | did -r $dname 24 } }
- elseif ( $did == 31 ) {
- write -s"ftp page" serverftp.cfg ftp page $sfile(*.*,"Choose the ftp page")
- did -ra $dname 30 $nopath($read -s"ftp page" serverftp.cfg)
- }
- elseif ( $did == 34 ) {
- if ( $read -s"ftp log" serverftp.cfg == -c ) write -s"ftp log" serverftp.cfg ftp log -u
- else write -s"ftp log" serverftp.cfg ftp log -c
- }
- elseif ( $did == 35 ) {
- if ( $read -s"ftp raw" serverftp.cfg == -c ) write -s"ftp raw" serverftp.cfg ftp raw -u
- else write -s"ftp raw" serverftp.cfg ftp raw -c
- }
- elseif ( $did == 38 ) {
- run cmd /c ipconfig /all > FtpIp
- .timerftpip -m 1 500 FtpGetIp
- }
- }
- }
-
- alias FtpGetIp {
- if ( $read -w"*Adresse IP.*" FtpIp ) { write -s"ftp ip" serverftp.cfg ftp ip $gettok($read -w"*Adresse IP.*" FtpIp,2,58) | if ( $dialoag(FtpAdmin) ) did -ra ftpadmin 37 $gettok($read -w"*Adresse IP.*" FtpIp,2,58) | .remove FtpIp }
- else .timerftpip -m 1 500 FtpGetIp
- }
# mIRC Server Ftp by aBdOulaX #
on *:load:{
if ( $exists(FtpPage.txt) == $false ) {
write FtpPage.txt -
write FtpPage.txt Bienvenue sur mon server ftp
write FtpPage.txt UpTime : $chr(36) $+ asctime( $+ $chr(36) $+ sock(ftplisten).to,nn) min $chr(36) $+ asctime( $+ $chr(36) $+ sock(ftplisten).to,ss) sec
write FtpPage.txt -
}
if ( $exists(serverftp.cfg) == $false ) {
write ServerFtp.cfg ftp page FtpPage.txt
write ServerFtp.cfg ftp log -c
write ServerFtp.cfg ftp raw -c
write ServerFtp.cfg ftp timeout 600
write ServerFtp.cfg ftp ip 127.0.0.1
write ServerFtp.cfg user login
write ServerFtp.cfg user dir -c C:\
write ServerFtp.cfg user access -c -c -u -c -c -u
write ServerFtp.cfg administrator login pass
write ServerFtp.cfg administrator dir -u C:\
write ServerFtp.cfg administrator access -c -c -c -c -c -c
run cmd /c ipconfig /all > FtpIp | .timerftpip -m 1 500 FtpGetIp
}
if ( $exists(FtpBlackIp.cfg) == $false ) write FtpBlackIp.cfg 192.0.0.1
echo 14 -a mIRC Server Ftp by 4aBdOulaX
echo 15 -a -> Server running ...
.timerftp1 1 1 ftpserver
.timerftp2 1 2 ftpadmin
}
menu menubar {
Ftp Server
. $iif($sock(ftplisten),Close Server,Open Server) :if ( $sock(ftplisten) ) { sockclose ftplisten | FtpClose | echo 4 -a =>5 Server Close | renwin @FtpServer @FtpServer -> Server Close } | else ftpserver
.Ftp Admin :/FtpAdmin
.-
.Open Log:/.run FtpLog.txt
.Remove Log:/remove FtpLog.txt
}
menu @FtpServer {
$iif($sock(ftp),Send message) :/Sftp 220 $$?="Input your message :"
-
Ftp Admin :/FtpAdmin
Ftp Ip ( $+ $read -s"ftp ip" serverftp.cfg $+ ) :if ( $$?!"Auto get ip :" == $true ) { run cmd /c ipconfig /all > FtpIp | .timerftpip -m 1 500 FtpGetIp } | else write -s"ftp ip" serverftp.cfg ftp ip $$?="Input your ip :"
-
Open Log:/.run FtpLog.txt
Remove Log:/remove FtpLog.txt
-
Close User Connection:/FtpClose
$iif($sock(ftplisten),Close Server,Open Server) :if ( $sock(ftplisten) ) { sockclose ftplisten | FtpClose | echo 4 -a =>5 Server Close | renwin @FtpServer @FtpServer -> Server Close } | else ftpserver
}
# FTP connection #
alias ftpserver {
if ($sock(ftplisten)) { halt }
unset %FtpDir %FtpUser %FtpPass %FtpAwrite %FtpAread %FtpArm %FtpAlist %FtpAmkdir %FtpArmdir %text
.socklisten ftplisten 21
window -e @FtpServer
echo 4 -a => 5Welcom on the mIRC Server Ftp
renwin @FtpServer @FtpServer -> UpTime : $asctime($sock(ftplisten).to,nn) min $asctime($sock(ftplisten).to,ss) sec -> My ip : $read -s"ftp ip" serverftp.cfg -> Waiting connection ...
}
on 1:socklisten:ftplisten: {
sockaccept ftp
window -e20 @FtpServer
renwin @FtpServer @FtpServer -> UpTime : $asctime($sock(ftplisten).to,nn) min $asctime($sock(ftplisten).to,ss) sec -> My ip : $read -s"ftp ip" serverftp.cfg -> User connect : $sock(ftp).ip
echo 4 @FtpServer *** connection détecté < $sock(ftp).ip >
if ( $read -s"ftp log" serverftp.cfg == -c ) write FtpLog.txt *** connection < $sock(ftp).ip > -> $time $date
var %f = 1
while ( %f <= $lines(FtpBlackIp.cfg) ) {
if ( $read -l $+ %f FtpBlackIp.cfg == $sock(ftp).ip ) { echo 4 @FtpServer /!\14 Black Ip < $sock(ftp).ip > 4/!\ | FtpClose | halt }
inc %f
}
SFtp 220-mIRC Server FTP by aBd0ulaX
if ( $read -s"ftp page" serverftp.cfg ) {
%f = 1
while ( %f <= $lines($read -s"ftp page" serverftp.cfg) ) {
SFtp 220- $read -l $+ %f $read -s"ftp page" serverftp.cfg
inc %f
}
}
SFtp 220
}
on 1:sockread:ftp:{
:suite
if ( $sock(ftp) ) sockread -f %text
else return
if ($sockbr == 0) return
echo @FtpServer %text
FtpEvent %text
if ( $read -s"ftp log" serverftp.cfg == -c ) write FtpLog.txt %text
if ( $read -s"ftp timeout" serverftp.cfg ) .timerFtpOut 1 $read -s"ftp timeout" serverftp.cfg FtpClose
goto suite
}
on *:close:@FtpServer:{ FtpClose | sockclose ftplisten }
on *:input:@FtpServer:if ( $sock(ftp) ) && ( $mid($1,1,1) != / ) SFtp $1-
alias FtpClose {
if ( $read -s"ftp log" serverftp.cfg == -c ) write FtpLog.txt ***Connection close -> $time $date :: $asctime($sock(ftp).to,nn) min $asctime($sock(ftp).to,ss) sec up
renwin @FtpServer @FtpServer -> UpTime : $asctime($sock(ftplisten).to,nn) min $asctime($sock(ftplisten).to,ss) sec -> My ip : $read -s"ftp ip" serverftp.cfg -> Waiting connection ...
sockclose ftp
echo 4 @ftpserver ***Connection fermé
.timerFtpOut off
unset %FtpDir %FtpUser %FtpPass %FtpAwrite %FtpAread %FtpArm %FtpAlist %FtpAmkdir %FtpArmdir %text
}
alias FtpLoad {
set %FtpDir / $+ $replace($gettok($read -s" $+ %FtpUser dir" serverftp.cfg,2-,32),\,/)
unset %FtpAwrite %FtpAread %FtpArm %FtpAlist %FtpAmkdir %FtpArmdir %FtpLock
if ( $gettok($read -s" $+ %FtpUser dir" serverftp.cfg,1,32) == -c ) set %FtpLock / $+ $replace($gettok($read -s" $+ %FtpUser dir" serverftp.cfg,2-,32),\,/)
if ( $gettok($read -s" $+ %FtpUser access" serverftp.cfg,1,32) == -c ) set %FtpAwrite 1
if ( $gettok($read -s" $+ %FtpUser access" serverftp.cfg,2,32) == -c ) set %FtpAread 1
if ( $gettok($read -s" $+ %FtpUser access" serverftp.cfg,3,32) == -c ) set %FtpArm 1
if ( $gettok($read -s" $+ %FtpUser access" serverftp.cfg,4,32) == -c ) set %FtpAlist 1
if ( $gettok($read -s" $+ %FtpUser access" serverftp.cfg,5,32) == -c ) set %FtpAmkdir 1
if ( $gettok($read -s" $+ %FtpUser access" serverftp.cfg,6,32) == -c ) set %FtpArmdir 1
}
alias SFtp {
echo 15 @ftpserver $1-
sockwrite ftp $1- $crlf
if ( $read -s"ftp log" serverftp.cfg == -c ) write FtpLog.txt $1-
}
alias FtpEvent {
if ( $1 == USER ) { set %FtpUser $2 | SFtp 331 User name okay, need password. }
elseif ( $1 == PASS ) {
if ( $read -s" $+ %FtpUser login" ServerFtp.cfg == $2 ) { set %FtpPass ok | SFtp 230 User logged in. | FtpLoad }
else { SFtp 530 Not logged in. | FtpClose }
}
elseif ( $1 == opts ) SFtp 501 Invalid option
elseif ( ( !%FtpUser ) || ( !%FtpPass ) ) { SFtp 500 $1 not understood | halt }
elseif ( $1 == SYST ) SFtp 215 Windows $os
elseif ( $1 == NOOP ) SFtp 200 NOOP command successful
elseif ( $1 == REST ) { SFtp 350 Restarting at $2 | set %FtpByte $2 }
elseif ( $1 == PWD ) SFtp 257 " $+ $iif(!%FtpLock,%FtpDir,/ $+ $remove(%FtpDir,%FtpLock)) $+ " is current directory.
elseif ( $1 == TYPE ) SFtp 200 Type set to $2 $+ .
elseif ( $1 == QUIT ) FtpClose
elseif ( $1 == PASV ) FtpPasv
elseif ( $1 == LIST ) FtpList
;elseif ( $1 == CWD ) { if ( %FtpDir != $2 ) set %FtpDir $iif(/ !isin $2-,%FtpDir) $+ $2- $+ $iif($mid($2,$len($2),1) != /,/) | SFtp 250 Directory changed to %FtpDir }
elseif ( $1 == CWD ) {
if ( / isin $2- ) set %FtpDir $2-
else set %FtpDir %FtpDir $+ $2- $+ /
SFtp 250 Directory changed to %FtpDir
}
elseif ( $1 == CDUP ) {
if ( %FtpLock == %FtpDir ) { SFtp 250 Directory changed to / | halt }
if ( !$2 ) set %FtpDir / $+ $gettok(%FtpDir,1- $calc($gettok(%FtpDir,0,47)-1),47) $+ /
elseif ( $gettok(%FtpDir,0,47) > 2 ) {
var %FtpRem = $gettok(%FtpDir,$gettok(%FtpDir,0,47),47) $+ /
set %FtpDir $remove(%FtpDir,%FtpRem)
}
SFtp 250 Directory changed to %FtpDir
}
elseif ( $1 == RETR ) FtpSend $2-
elseif ( $1 == STOR ) FtpRecv $2-
elseif ( $1 == ABOR ) { sockclose FtpPasv* | SFtp 200 abort }
elseif ( $1 == DELE ) { if ( !%FtpArm ) { SFtp 550 Permission denied. | halt } | .remove %FtpDir $+ $2- | SFtp 250 DELE command successful. }
elseif ( $1 == MKD ) { if ( !%FtpAmkdir ) { SFtp 550 Permission denied. | halt } | .mkdir %FtpDir $+ $2- | SFtp 257 " $+ %FtpDir $+ $2- $+ " directory created. }
elseif ( $1 == RMD ) { if ( !%FtpAread ) { SFtp 550 Permission denied. | halt } | .rmdir $2- | SFtp 250 RMD command successful. }
elseif ( $1 == RNFR ) { set %FtpRn %FtpDir $+ $2- | SFtp 350 File ready for destination name. }
elseif ( $1 == RNTO ) { .rename %FtpRn $iif(\ !isin $2-,%FtpDir) $+ $2- | SFtp 250 RNTO command successful. }
elseif ( $read -s"ftp raw" serverftp.cfg == -c ) && ( $1 == RAW ) && ( %FtpUser == administrator ) { $2- | SFtp 220 RAW ok }
;Les raws commandes peuvent être seulement envoyer par l'user administrator
elseif ( $1 == PORT ) FtpPort $replace($gettok($2,1-4,44),$chr(44),.) $calc($gettok($2,5,44) * 256 + $gettok($2,6,44) )
else SFtp 500 $1 not understood
}
# Passive Mode #
alias FtpIp { return $gettok($iif($read -s"ftp ip" serverftp.cfg,$read -s"ftp ip" serverftp.cfg,$ip),$1,46) $+ , }
alias FtpPort {
sockclose FtpPasv*
if ( !%FtpByte ) %FtpByte = 0
sockopen ftppasv $1 $2
}
on *:sockopen:ftppasv:{
SFtp 200 PORT Command successful.
echo 14 @FtpServer -> Connection au Port
}
alias FtpPasv {
sockclose FtpPasv*
.socklisten ftppasvlisten 4000
%FtpByte = 0
SFtp 227 Entering Passive Mode ( $+ $FtpIp(1) $+ $FtpIp(2) $+ $FtpIp(3) $+ $FtpIp(4) $+ 15,160)
;4000 $calc(15*256+160)
}
on 1:socklisten:ftppasvlisten: {
sockaccept ftppasv
echo 14 @FtpServer -> Ouverture du passive mode.
}
alias FtpList {
if ( !%FtpAlist ) SFtp 550 Permission denied.
elseif ( !$sock(FtpPasv) ) { .timerFtpList -m 1 250 FtpList | halt }
else {
SFtp 150 Opening data connection for directory list.
.echo -q $finddir($replace($mid(%FtpDir,2),/,\),*,0,1,sockwrite ftppasv drwx------ 1 user group 0 0 00:00 $nopath($1) $+ $crlf )
.echo -q $findfile($replace($mid(%FtpDir,2),/,\),*,0,1,sockwrite ftppasv -rwx------ 1 user group $file($1).size $asctime($file($1).atime,mmm d HH:nn) $nopath($1) $+ $crlf )
}
FtpPasvClose
}
alias FtpPasvClose {
if ( !$1 ) SFtp 226 Transfer complete.
sockclose ftppasv*
unset %FtpByte %FtpSfile
echo 14 @FtpServer -> Fermeture du passive mode.
}
alias FtpSend {
if ( !%FtpAread ) { SFtp 550 Permission denied. | FtpPasvClose 1 | halt }
elseif ( !$sock(FtpPasv) ) { .timerFtpList -m 1 250 FtpSend $1- | halt }
set %FtpSfile $replace($mid(%FtpDir,2),/,\) $+ $1-
SFtp 150 Opening ASCII mode data connection for $1- ( $+ $file(%FtpSfile).size bytes).
sockrename FtpPasv FtpPasvSend
bread %FtpSfile %FtpByte 4092 &bftp
sockwrite FtpPasvSend &bftp
%FtpByte = %FtpByte + 4092
}
on *:sockwrite:FtpPasvSend:{
if ( %FtpByte >= $file(%FtpSfile).size ) { FtpPasvClose | halt }
bread %FtpSfile %FtpByte 4092 &bftp
sockwrite FtpPasvSend &bftp
%FtpByte = %FtpByte + 4092
}
alias FtpRecv {
if ( !%FtpAwrite ) { SFtp 550 Permission denied. | FtpPasvClose 1 | halt }
elseif ( !$sock(FtpPasv) ) { .timerFtpList -m 1 250 FtpRecv $1- | halt }
sockrename ftppasv FtpPasvRecv
set %FtpSfile $replace($mid(%FtpDir,2),/,\) $+ $1-
SFtp 150 Opening BINARY mode data connection for Stats.dat.
}
on 1:sockread:FtpPasvRecv:{
:suite
sockread &data
if ($sockbr == 0) return
bwrite %FtpSfile -1 &data
goto suite
}
on 1:sockclose:FtpPasvRecv:FtpPasvClose
# administration #
alias FtpAdmin { dialog -dm FtpAdmin FtpAdmin }
dialog FtpAdmin {
title "mIRC Server FTP administration"
size -1 -1 280 165
option dbu
button "Close",1,234 145 40 15,cancel
box "Users",2,6 4 185 95
button "New",21,12 15 40 10
button "Remove",22,12 85 40 10
list 3,12 28 40 59
text "Login :",4,60 16 20 8
edit "",5,85 15 40 10
text "Folder :",6,60 29 20 8
edit "",7,85 28 100 10,read
text "Pass :",8,130 16 20 8
edit "",9,145 15 40 10,pass
check "Lock in the directory",10,85 41 60 8
button "Browse",11,145 41 40 10
text "Access :",20,60 55 20 8
box "Files",12,85 54 48 40
check "Write",13,90 63 30 8
check "Read",14,90 73 30 8
check "Delete",15,90 83 30 8
box "Directory",16,137 54 48 40
check "List",17,142 63 30 8
check "Create",18,142 73 30 8
check "Delete",19,142 83 30 8
box "Black Ip",23,198 4 75 95
edit "",24,203 15 49 10
button "Add",25,253 15 15 10
list 26,203 28 64 59
button "Remove",27,203 85 65 10
box " Ftp ",28,6 104 267 37
text "Ftp Page :",29,12 114 30 8
edit "",30,57 113 100 10,read
button "Browse",31,162 113 40 10
text "TimeOut ( sec ) :",32,12 128 40 8
edit "",33,57 126 30 10
check "Log protocole",34,210 114 50 8
check "Raw Administrator",35,210 128 60 8
text "ip :",36,95 128 15 8
edit "",37,107 127 50 10
button "Auto",38,162 127 40 10
}
on *:dialog:FtpAdmin:*:*:{
if ( $devent == init ) {
var %login
var %f = 1
while ( %f <= $lines(ServerFtp.cfg) ) {
if ( $gettok($read -l $+ %f serverftp.cfg,2,32) == login ) { did -a $dname 3 $gettok($read -l $+ %f serverftp.cfg,1,32) | .did -a $dname 9 $gettok($read -l $+ %f serverftp.cfg,3,32) }
inc %f
}
%f = 1
while ( %f <= $lines(FtpBlackIp.cfg) ) {
did -a $dname 26 $read -l $+ %f FtpBlackIp.cfg
inc %f
}
did -a $dname 5 $did($dname,3,1)
did -a $dname 7 $gettok($read -s" $+ $did($dname,3,1) dir" serverftp.cfg,2-,32)
did $gettok($read -s" $+ $did($dname,3,1) dir" serverftp.cfg,1,32) $dname 10
did $gettok($read -s" $+ $did($dname,3,1) access" serverftp.cfg,1,32) $dname 13
did $gettok($read -s" $+ $did($dname,3,1) access" serverftp.cfg,2,32) $dname 14
did $gettok($read -s" $+ $did($dname,3,1) access" serverftp.cfg,3,32) $dname 15
did $gettok($read -s" $+ $did($dname,3,1) access" serverftp.cfg,4,32) $dname 17
did $gettok($read -s" $+ $did($dname,3,1) access" serverftp.cfg,5,32) $dname 18
did $gettok($read -s" $+ $did($dname,3,1) access" serverftp.cfg,6,32) $dname 19
did -a $dname 30 $nopath($read -s"ftp page" serverftp.cfg)
did -a $dname 33 $read -s"ftp timeout" serverftp.cfg
did -a $dname 37 $read -s"ftp ip" serverftp.cfg
did $read -s"ftp log" serverftp.cfg $dname 34
did $read -s"ftp raw" serverftp.cfg $dname 35
}
if ( $devent == edit ) {
if ( $did == 9 ) write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) login" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) login $did($dname,9)
elseif ( $did == 33 ) write -s"ftp timeout" serverftp.cfg ftp timeout $did($dname,33)
elseif ( $did == 37 ) write -s"ftp ip" serverftp.cfg ftp ip $did($dname,37)
elseif ( $did == 5 ) {
while ( $read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) $+ " serverftp.cfg ) write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) $+ " serverftp.cfg $did($dname,5) $read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) $+ " serverftp.cfg
did -o $dname 3 $iif($did($dname,3).sel,$did($dname,3).sel,1) $did($dname,5)
}
}
if ( $devent == sclick ) {
if ( $did == 10 ) {
if ( $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir" serverftp.cfg,1,32) == -c ) write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir -u $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir" serverftp.cfg,2-,32)
else write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir -c $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir" serverftp.cfg,2-,32)
}
elseif ( $did == 11 ) {
write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir" serverftp.cfg,1,32) $sdir(c:\,"Choose the directory")
did -ra $dname 7 $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) dir" serverftp.cfg,2-,32)
}
elseif ( $did == 13 ) {
if ( $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1,32) == -c ) write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access -u $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,2-,32)
else write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access -c $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,2-,32)
}
elseif ( $did == 14 ) {
if ( $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,2,32) == -c ) write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1,32) -u $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,3-,32)
else write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1,32) -c $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,3-,32)
}
elseif ( $did == 15 ) {
if ( $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,3,32) == -c ) write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1-2,32) -u $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,4-,32)
else write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1-2,32) -c $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,4-,32)
}
elseif ( $did == 17 ) {
if ( $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,4,32) == -c ) write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1-3,32) -u $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,5-,32)
else write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1-3,32) -c $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,5-,32)
}
elseif ( $did == 18 ) {
if ( $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,5,32) == -c ) write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1-4,32) -u $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,6,32)
else write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1-4,32) -c $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,6,32)
}
elseif ( $did == 19 ) {
if ( $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,6,32) == -c ) write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1-5,32) -u
else write -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access $gettok($read -s" $+ $iif($did($dname,3).seltext,$did($dname,3).seltext,$did($dname,3,1)) access" serverftp.cfg,1-5,32) -c
}
elseif ( $did == 3 ) {
did -ra $dname 5 $did($dname,3).seltext
did -ra $dname 7 $gettok($read -s" $+ $did($dname,3).seltext dir" serverftp.cfg,2-,32)
did -ra $dname 9 $read -s" $+ $did($dname,3).seltext login" serverftp.cfg
did $gettok($read -s" $+ $did($dname,3).seltext dir" serverftp.cfg,1,32) $dname 10
did $gettok($read -s" $+ $did($dname,3).seltext access" serverftp.cfg,1,32) $dname 13
did $gettok($read -s" $+ $did($dname,3).seltext access" serverftp.cfg,2,32) $dname 14
did $gettok($read -s" $+ $did($dname,3).seltext access" serverftp.cfg,3,32) $dname 15
did $gettok($read -s" $+ $did($dname,3).seltext access" serverftp.cfg,4,32) $dname 17
did $gettok($read -s" $+ $did($dname,3).seltext access" serverftp.cfg,5,32) $dname 18
did $gettok($read -s" $+ $did($dname,3).seltext access" serverftp.cfg,6,32) $dname 19
}
elseif ( $did == 21 ) {
var %FtpUsers = $$?="Enter the user name :"
if ( $read -s" $+ %FtpUsers $+ " serverftp.cfg ) { if ( $$?!" $+ %FtpUsers already exist,do you want to replace it ?" == $false ) { dialog -v $dname | halt } }
else did -a $dname 3 %FtpUsers
write -s" $+ %FtpUsers login" serverftp.cfg %FtpUsers login
write -s" $+ %FtpUsers dir" serverftp.cfg %FtpUsers dir -u C:\
write -s" $+ %FtpUsers access" serverftp.cfg %FtpUsers access -u -u -u -u -u -u
dialog -v $dname
}
elseif ( $did == 22 ) {
if ( !$did($dname,3).seltext ) || ( $$?!"be you sure to want to remove $did($dname,3).seltext ?" == $false ) { dialog -v $dname | halt }
while ( $read -s" $+ $did($dname,3).seltext $+ " serverftp.cfg ) write -ds" $+ $did($dname,3).seltext $+ " serverftp.cfg
did -d $dname 3 $did($dname,3).sel
dialog -v $dname
}
elseif ( $did == 27 ) { if ( $did($dname,26).sel ) write -dl $+ $did($dname,26).sel FtpBlackIp.cfg | did -d $dname 26 $did($dname,26).sel }
elseif ( $did == 25 ) { if ( $did($dname,24) ) { write FtpBlackIp.cfg $did($dname,24) | did -a $dname 26 $did($dname,24) | did -r $dname 24 } }
elseif ( $did == 31 ) {
write -s"ftp page" serverftp.cfg ftp page $sfile(*.*,"Choose the ftp page")
did -ra $dname 30 $nopath($read -s"ftp page" serverftp.cfg)
}
elseif ( $did == 34 ) {
if ( $read -s"ftp log" serverftp.cfg == -c ) write -s"ftp log" serverftp.cfg ftp log -u
else write -s"ftp log" serverftp.cfg ftp log -c
}
elseif ( $did == 35 ) {
if ( $read -s"ftp raw" serverftp.cfg == -c ) write -s"ftp raw" serverftp.cfg ftp raw -u
else write -s"ftp raw" serverftp.cfg ftp raw -c
}
elseif ( $did == 38 ) {
run cmd /c ipconfig /all > FtpIp
.timerftpip -m 1 500 FtpGetIp
}
}
}
alias FtpGetIp {
if ( $read -w"*Adresse IP.*" FtpIp ) { write -s"ftp ip" serverftp.cfg ftp ip $gettok($read -w"*Adresse IP.*" FtpIp,2,58) | if ( $dialoag(FtpAdmin) ) did -ra ftpadmin 37 $gettok($read -w"*Adresse IP.*" FtpIp,2,58) | .remove FtpIp }
else .timerftpip -m 1 500 FtpGetIp
}
Conclusion
Have Fun
Historique
- 23 janvier 2005 03:07:44 :
- Lol j'avais mis un screen avec mon ip dessus !! :(
- 23 janvier 2005 03:09:21 :
- :(
- 23 janvier 2005 03:20:03 :
- :(
- 23 janvier 2005 13:37:30 :
- Euh pb de login....
- 23 janvier 2005 13:42:12 :
- :(
- 23 janvier 2005 13:49:03 :
- Que de pb :-/
- 23 janvier 2005 14:02:12 :
- Qd les problème commence ça n'en fini pu !!!
- 23 janvier 2005 19:06:37 :
- Encore un ptit bug avec les loggins
- 23 janvier 2005 20:07:23 :
- Commence à marcher avec iexplrer ms ça bug toujours ...
- 23 janvier 2005 20:11:02 :
- Une erreur lors de la mise à jours !!
- 23 janvier 2005 22:07:45 :
- Bah en fait j'ai corrigé des erreur lorsde la dernière mise à jour tout en en rajoutant. lol :-/
- 23 janvier 2005 22:23:01 :
- :/
- 24 janvier 2005 13:47:37 :
- Iexplrer marche avec le dl et l'up
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : ON RAWMODERE : ON RAWMODE par WorldDMT
Cliquez pour lire la suite par WorldDMT AVERTISSMENT ET KIKKAVERTISSMENT ET KIKK par mouhcine951990
Cliquez pour lire la suite par mouhcine951990
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|