Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


[Demande] TCLCurl
#1
Bonjour à tous,


J'utilise TCLCurl qui est une librairie TCL pour utiliser le puissant CURL.

http://mirror.yellow5.com/tclcurl/

Dans mon cas, je souhaite l'utiliser pour les protocols FTP / FTPS.
Jusqu'ici pas de problème; excepter que je souhaite faire des transferts entre deux FTPS (FXP) de site a site FTP sans transfert en local les fichiers. Genre un "mirroire" du premier FTP au deuxieme.

https://fr.wikipedia.org/wiki/File_eXchange_Protocol

Je ne trouve aucune méthode, est ce que quelqu'un aurais une idée ?
J'ai bien peur que malgré la puissance de CURL, le FXP n'ai pas supporter ?

Or que LFTP le fais
https://lftp.yar.ru/lftp-man.html

Seulement ce dernier ne prend pas en charge certains fonction que TCLCurl supporte (Socks5 par exemple), et, n'a pas de librairie TCL. Donc ce n'ai pas une solution pour moi.

Bien à vous,
#2
Effectivement, cURL ne gère pas le FXP, mais tous les serveurs FTP n'acceptent pas non plus le FXP. Je dirais même que quasi aucun ne l'accepte encore.
Si tu veux faire du mirroring, tu peux peut-être te tourner vers rsync.

De toutes manières, ce que j'ai vu de lftp fera la plupart du temps transiter par ton poste local:
Quote:ftpcopy
Obsolete. Use one of the following instead:
get ftp://... -o ftp://...
get -O ftp://... file1 file2...
put ftp://...
mput ftp://.../*
mget -O ftp://... ftp://.../*
or other combinations to get FXP transfer (directly between two FTP servers). lftp would
fallback to plain copy (via client) if FXP transfer cannot be initiated or ftp:use-fxp is
false
.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#3
Merci pour ta réponse tonton CrazyCat

(23/08/2016, 13:41)CrazyCat Wrote: Effectivement, cURL ne gère pas le FXP, mais tous les serveurs FTP n'acceptent pas non plus le FXP. Je dirais même que quasi aucun ne l'accepte encore.
Il faut savoir que la plupart l'accepte. Seulement, ce n'ai pas active par défaut. Ceci étant donner qu'une vulnérabilité (détournement du protocol) nommer "FTP bounce" existe.

Par exemple Serveur FTP avec le support FXP :

PureFTPD avec l'option AllowUserFXP
ProFTPD
Serv-U
vsftpd FTP server
wu-ftpd FTP server

GLftpd (point 12)

Et j'en passe. C'est donc répandu le support FXP sur les FTPD.

(23/08/2016, 13:41)CrazyCat Wrote: Si tu veux faire du mirroring, tu peux peut-être te tourner vers rsync.

Effectivement rsync peut-être une solution; mais je pense pas qu'il supporte le protocol FTP, c'est plutôt du SSH.

(23/08/2016, 13:41)CrazyCat Wrote: De toutes manières, ce que j'ai vu de lftp fera la plupart du temps transiter par ton poste local:
ftpcopy
Obsolete. Use one of the following instead:
  get ftp://... -o ftp://...
  get -O ftp://... file1 file2...
  put ftp://...
  mput ftp://.../*
  mget -O ftp://... ftp://.../*
or  other  combinations  to  get FXP transfer (directly between two FTP servers).  lftp would
fallback to plain copy (via client) if FXP transfer cannot be  initiated  or  ftp:use-fxp  is
false
.

Oui, du coup, je pourrais le faire avec TCLCurl, de transité vers le local et envoyer vers le distant (download du FTP A et upload sur le FTP B).
Seulement sa utiliseras ma bande passante(consommation) inutilement, et, perdra l'avantage de la rapidité de celles des deux Serveur FTP.


Pourtant il existe des client FTP en mode graphique avec le support FXP:

FlashFXP
gFTP
profxp
ForkLift
wlFxp
FreeNAS

Ce n'ai pas comme si c'était tout nouveau

Voir RFC 959 - server-server interaction de October 1985


Code:
the same host that initiates the FTP commands via the control
     connection, but the user or the user-FTP process must ensure a
     "listen" on the specified data port.  It ought to also be noted
     that the data connection may be used for simultaneous sending and
     receiving.

     In another situation a user might wish to transfer files between
     two hosts, neither of which is a local host. The user sets up
     control connections to the two servers and then arranges for a
     data connection between them.  In this manner, control information
     is passed to the user-PI but data is transferred between the
     server data transfer processes.  Following is a model of this
     server-server interaction.


                   Control     ------------   Control
                   ---------->| User-FTP |<-----------
                   |          | User-PI  |           |
                   |          |   "C"    |           |
                   V          ------------           V
           --------------                        --------------
           | Server-FTP |   Data Connection      | Server-FTP |
           |    "A"     |<---------------------->|    "B"     |
           -------------- Port (A)      Port (B) --------------


Bref, on dirais qu'il y a du retard a ce niveau là.
#4
Je me suis mal exprimé:
(23/08/2016, 14:15)ZarTek Wrote:
(23/08/2016, 13:41)CrazyCat Wrote: Effectivement, cURL ne gère pas le FXP, mais tous les serveurs FTP n'acceptent pas non plus le FXP. Je dirais même que quasi aucun ne l'accepte encore.
Il faut savoir que la plupart l'accepte. Seulement, ce n'ai pas active par défaut. Ceci étant donner qu'une vulnérabilité (détournement du protocol) nommer "FTP bounce" existe.

Ce que je voulais dire, c'est qu'il y a très peu de serveurs FTP, je ne parle pas de daemon FTP, où ce protocole est activé, justement à cause des failles que cela introduit.

Si tes deux serveurs acceptent le fxp et que tu tiens à utiliser un eggdrop pour faire ton système, pourquoi ne pas faire un tcl qui lancerait un "vrai" client fxp en console comme http://www.yafc-ftp.com/ avec la commande exec ?
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away


Forum Jump:


Users browsing this thread: 1 Guest(s)