Réalisation d’un proxy de compatibilité FTP

Certains systèmes d’exploitation, tels que les ancêtres de Windows, ne disposent pas du mode FTP passif. Or, il s’agit du mode de préférence pour transmettre des fichiers. J’ai donc réalisé un proxy en C qui se charge de traduire le mode passif par défaut en mode actif.

Le proxy en détail

Le proxy qui prend en charge le mode actif d’un côté et le relaye en mode passif de l’autre. Un utilisateur souhaitant établir une session FTP via le proxy s’identifie en tant que login@server. Le programme client établit une connexion de contrôle avec le proxy et lui transmet la commande USER login@server qui permet au proxy d’établir une connexion de contrôle sur la machine d’IP server et d’identifier l’utilisateur à l’aide de login.

Après cette première étape, le reste des échanges est conforme au protocole FTP et transmis tel quel.

Le code du proxy en C est disponible sur son dépôt GitLab. Il devrait compiler et fonctionner sur n’importe quel système d’exploitation.