ProFXP

De Lea Linux
Aller à la navigation Aller à la recherche


Introduction à profxp

Introduction à profxp
par DuF
Présentation rapide de profxp

Introduction

Pour ceux qui ne connaissent pas "FXP", je vais faire une présentation rapide. On peut dire que FXP est un protocole, même si en fait ce n'est qu'une application spécifique du protocole FTP faisant partie de la suite de protocoles TCP/IP. Grâce à FXP il est possible d'effectuer des transferts de fichiers de serveur FTP à serveur FTP depuis un poste tier. Cela peut être très utile pour transférer depuis chez soi des fichiers à un ami alors qu'ils sont sur un autre serveur. Ainsi il ne nous est pas obligatoire de les télécharger pour ensuite les renvoyer à notre ami. De plus notre bande passante pendant le transfert n'est à aucun moment réellement utilisé (juste quelques petites infos, mais c'est infime). Par contre il faut savoir que pendant le transfert il n'est pas possible de suivre l'état du transfert, on peut avoir des estimations, mais c'est tout, on sait juste lorsque cela commence, et lorsque cela fini. Il existe plusieurs logiciels, je ne vais parler que d'un seul, profxp, car en fait c'est le seul qui ait marché chez moi. Par contre il est en mode texte, mais une fois habitué, ça va très très bien.

Installation

Alors l'installation est très simple...
Il faut d'abord récupérer le tarball profxp-v3-pre1-linux-glibc.tar.gz (c'est la dernière version au moment où j'ecris ces lignes) sur le site : http://duncanthrax.net/profxp/.
Vous pouvez télécharger aussi les sources, mais cela n'est pas du tout utile pour faire marcher le programme, c'est en perl, ce n'est pas trop compliqué, mais pour pouvoir vous servir du programme perl il vous faudra récupérer des modules non inclus (lire le README fourni avec).

Pour installer et lancer le programme il suffit de faire un

tar zxvf profxp-v3-pre1-linux-glibc.tar.gz
cd profxpv3
./profxp

Il est possible que le nom du répertoire et/ou le nom de l'exécutable ne soit pas tout à fait le même, cela n'a aucune importance.

Utilisation

Bon et bien première chose à faire, c'est de modifier les droits du répertoire ~/.profxpv3 car il va contenir les fichiers "sites" que vous allez enregistrer. Par exemple votre copain Robert vous a ouvert un compte avec adresse IP, port, login et mot de passe et comme vous y allez tous les jours, vous vous dites qu'il serait bienvenue de pouvoir enregistrer les informations de connexion pour ne pas avoir à les retaper à chaque fois. Et bien cela est possible via une commande, mais les informations de connexion chez votre copain Robert vont être enregistrées en clair dans un simple fichier texte .site. Alors je vous conseil donc de faire un
chmod -R 700 .profxpv3

bon maintenant l'utilisation du programme en lui même. Pour le lancer il suffit donc de se mettre dans le répertoire où vous l'avez mis et de faire un ./profxp (ou ./profxpv3 suivant le nom qu'il a).
On arrive sur un bel écran texte comme le suivant :

 ::
 :: -/-------------------------------------------------------------/-
 ::  / :: profxp v3.0 - the final rewrite ::                       /
 ::  /                                                             /
 ::  / (c) duncanthrax aka Tom Kistner < tm@duncanthrax.net >      /
 :: -/-------------------------------------------------------------/-
 ::


Je vous rassure il y a de la couleur :-) mais je l'ai pas mise là !
L'utilisation est très simple et surtout lors de la première utilisation lisez bien tout ce qui est marqué !

Lors du premier lancement, vous avez un écran qui correspond au suivant :

 ::
 ::
 :: -/- Welcome ! -/-
 ::
 :: It looks like this is your first time starting profxp. I have some
 :: very helpful hints for you:
 ::
 :: 1. READ THE DOCS ! (this is a pretty hardcore program)
 :: 2. start commands with CAPS to send them RAW, e.g. 'Site who'.
 :: 3. profxp uses quoteless command lines, DO NOT USE QUOTES FOR PATHS
 :: 4. get familiar with the alias function, it rocks.
 ::
 :: Type 'he' for help. Please use 'cf' to see a list of configuration
 :: flags, set your local interface IP ('cf localif<ipaddr>') if you
 :: want to use active transfer modes.
 ::
[disconnected|no-path]
[disconnected|no-path]


Comme vous le remarquez vous avez deux fois la ligne : [disconnected|no-path]
En fait cela est très simple, pour pouvoir FXP, il faut être connecté à 2 serveurs FTP en même temps, lorsque vous allez vous connecter au premier serveur, la ligne du bas va changer pour devenir quelque chose du genre : [ftp.dufbusiness.com|/Shares]
Là vous me dites, mais comment je me connectes au deuxième site ? Toute l'astuce réside là, il suffit d'appuyer sur la touche entrée pour basculer sur l'autre prompt (si on peut dire). Donc en ne tapant aucune commande dans la zone prévue à cet effet et en appuyant seulement sur la touche entrée, on bascule du serveur 1 au serveur 2 et vice versa. Enfantin me direz vous...

Commandes de base

on

La toute première commandes, celle qui permet de se connecter à un serveur FTP :
on <hostname/IP> [port] [user] [pass]
Exemple : on ftp.serveurftp.com 21 nom_user mot_de_passe
pour se connecter sur un serveur ftp anonyme qui utilise le port 21 standard il suffit de faire :
on ftp.serveur.com
et vous vous connectez directement sans spécifier le port ou le mot de passe.

cl

Seconde commande, la commande cl : cette commande permet de fermer la connexion avec le serveur en cours. Pas la peine d'épiloguer dessus.

ss

La commande ss permet d'enregistrer une connexion sous un nom plus parlant, en gros vous tapez votre commande on <hostname/IP> [port] [user] [pass] et une fois connecté vous faites ss <sitename> [slotname] et cela va enregistrer votre connexion sous le nom que vous aurez donné dans <sitename>. Il est possible aussi de classer les sites que vous enregistrez en définissant un [slotname], cela vous permet par exemple de regrouper un ensemble de sites ayant un lien dans un même [slotname].

sl

Si vous commencez à avoir beaucoup de sites d'enregistrés, la commande sl est là pour vous aider, elle affiche la liste de tous les sites que vous aurez enregistré.

op

La commande op sert à rendre la commande ss très utile, en effet, admettons que vous ayez enregistré votre site ftp sous le nom "bidule" en faisant un ss bidule auparavant, et bien maintenant lorsque vous lancez profxp, pour vous connectez à votre site bidule il suffit de faire :
op bidule
Il n'y a pas plus enfantin !

sd

La commande sd permet de supprimer un site de votre liste de sites, exemple :
sd bidule

Vous le remarquez l'utilisation des commandes est relativement simple.... Passons aux commandes liées à la navigation une fois connecté à un site.

ls

Et bien c'est en gros la même commande que sous votre shell favori sauf que si vous y regarder de plus près, le ls ici est en fait un ls -la ce qui permet de voir les fichiers cachés (commençant par un . notamment).

ld

Tout simplement la même commande que ls sauf que là les fichiers et répertoires sont rangés par ordre chronologique (d = date).

lr

Pour ma part, de ce que j'en ai constaté, la commande lr revient à faire un ls -l sur le site distant comme si vous étiez en local purement et simplement.

cd

Equivaut à un cd, pas la peine d'épiloguer non plus.

vf

La commande vf (view file) permet d'éditer très simplement tout type de fichier texte, cela évite de télécharger le fichier puis de le visualiser par commandes successives.

rm

La même commande qu'en shell, mais de manière recursive. C'est à dire que tout ce qui est dans l'entrée fournit à rm sera supprimé, les sous-répertoires, etc....

cf

Cette commande est un peu particulière, je ne vais pas rentrer dans les détails car je m'en suis très peu servi, par défaut profxp étant pour moi rêglé sur les bonnes options. En fait la commande cf permet de configurer des options, créer des alias, pouvant s'avérer très utile lorsque l'on utilise les mêmes commandes très souvent ou lorsqu'on a des problèmes pour se connecter sur un site FTP, ou pour transférer un fichier, car il va être possible de changer le mode de transfert de fichier FXP par exemple. Pour connaître les possibilités de commande cf il suffit de taper cette commande sans argument et vous obtenez un écran équivalent au suivant :

[> cf
 :: -/-------------------------------------------------------------/-
 :: profxp configuration options
 :: ---------------------------------------------------------------
 ::   aliases [ aliases to abbreviate commands ]
 ::      |- chmod = 'Site chmod'
 ::      |- del = 'Dele'
 ::      |- new = 'Site new'
 ::      |- mkdir = 'Mkd'
 ::      |- who = 'Site who'
 ::      |- rmdir = 'Rmd'
 ::   cmode = '0' [ connexion mode (0-direct_passive 1-direct_active 2-proxy_passive 3-proxy_active) ]
 ::   fmode = '0' [ FXP mode (0-normal 1-alt) ]
 ::   listing [ display options for directory listings ]
 ::      |- 0 = '1'
 ::      |- showdot = '0'
 ::      |- pauselines = '30'
 ::   localif = '0.0.0.0' [ the local interface to use for outgoing connexions ]
 ::   noopcmd = 'NOOP' [ anti-idle command to send (use NOOP or PWD) ]
 ::   noopdelay = '60' [ anti-idle interval in seconds ]
 ::   skipdot = '1' [ skip dot files ]
 ::   skipempty = '1' [ skip empty directories ]
 ::   skipext [ file extensions to skip ]
 ::      |- 'diz'
 ::      |- 'core'
 ::   skipsame = '1' [ skip files present with same size ]
 ::   skipzero = '0' [ skip 0-byte files ]
 ::   socks [ set SOCKS parameters ]
 ::      |- ip = '0.0.0.0'
 ::      |- pass = ''
 ::      |- port = '1080'
 ::      |- type = '4'
 ::      |- user = ''
 ::   sortrev = '0' [ sort files literally reverse on multifile xfers ]
 ::   sortup [ file extensions to transfer 1st in a listing ]
 ::      |- 'nfo'
 ::      |- 'sfv'
 ::   timeout [ various timeouts (in seconds) ]
 ::      |- data = '15'
 ::      |- connect = '15'
 ::      |- command = '10'
 ::   verbose = '2' [ set verbosity level (1 min, 3 max) ]
 ::   viewer = 'less' [ text file viewer program ]
 ::   xmode = '0' [ FXP mode (0-standard 1-alternative) ]
 :: ---------------------------------------------------------------
 :: for simple toggles, '0' means OFF and '1' means ON
 :: -/-------------------------------------------------------------/-


On voit que des alias existent déjà, c'est le cas pour chmod ou del par exemple. On voit aussi qu'il est possible de spécifier un serveur proxy par la configuration de la partie socks et qu'il y a bien d'autres options. Par exemple, si jamais vous souhaitez que les fichiers de 0 octets ne soient pas transférés, il suffit de mettre skipzero à la valeur '1' et non '0'.

xi

La commande que tout le monde attend :-), c'est elle qui permet de transférer un fichier (ou groupe de fichiers) depuis un serveur vers un autre. Pour cela il faut se connecter sur les 2 serveurs et faire en sorte que le serveur qui va recevoir le fichier ne soit pas celui sur lequel vous passez la commande (ie: vous devez taper cette commande sur le shell correspondant au serveur d'envoi). En gros si vous souhaitez transférer un fichier vous devez obtenir quelquechose comme l'exemple suivant :
[serveur1|/rep/reception]
[serveur2|/rep/envoi]

On a donc le serveur2 qui a le fichier toto.txt que l'on souhaite envoyer au serveur1, il suffit donc de faire :
xi toto.txt
Et voilà c'est parti, si vous souhaitez transférez tous les fichiers toto il suffit de faire :
xi toto*

Informations complémentaires

Pour le moment je n'ai pas trouvé le moyen de gérer des queues de fichiers, si jamais quelqu'un trouve, qu'il n'hésite pas à en faire part.
Sinon sachez que vous pouvez passer tout type de commandes compréhensibles par un serveur FTP, comme des commandes "site", mais pour cela vous devez les taper en majuscules ou tout du moins la première lettre en majuscule, pour que le logiciel n'essaie pas d'interpréter lui-même la commande et qu'il l'envoi tel quel au serveur, exemple :
Site user anonymous
Autre petite information pratique, la touche [tab] peut être utilisée à tout moment, pour la liste de vos sites, les noms de fichiers et répertoires sur les FTPs où vous êtes, cela évite si jamais vous avez donné un nom trop long à un site ou qu'un fichier a un nom trop long, de le taper en entier, il suffit de taper les premières lettres et un appui sur la touche [tab] et le tour est joué....

Conclusion

Voilà pour ce qui est de cette présentation de profxp. Ce type de logiciel est réservé à une utilisation bien spécifique, bien peu d'entre vous en auront besoin je pense, mais on sait jamais, moi je trouve ça très utile comme logiciel et permet de faire des transferts de fichiers depuis des connexions bas débits très facilement.
Il vous est aussi possible de télécharger les sources pour voir comment cela marche et pourquoi pas vous en servir comme exemple de programmation Perl :-)
Et n'oubliez pas, les mots de passes sont stockés en clair dans les fichiers .site du répertoire ~/.profxpv3/ et lorsque vous vous connectez sur un serveur le mot de passe est aussi affiché en clair à l'écran, alors soyez prudent.

Pour finir un lien vers la page de l'auteur : http://duncanthrax.net/profxp/



@ Retour à la rubrique Réseau et sécurité

Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par DuF le 26/04/2002.

Copyright

Copyright © 26/04/2002, DuF

Creative Commons License
Creative Commons Attribution iconCreative Commons Share Alike iconCreative Commons Noncommercial
Ce document est publié sous licence Creative Commons
Attribution, Partage à l'identique, Contexte non commercial 2.0 :
http://creativecommons.org/licenses/by-nc-sa/2.0/fr/