Configuração do cliente de FTP baseada em texto por detrás de um 'proxy'

Preciso de criar um programa bash que se ligue a um servidor FTP, envie um ficheiro e feche a ligação. Normalmente, esta seria uma tarefa fácil, mas eu preciso especificar algumas configurações de proxy específicas que está tornando difícil.

Posso ligar-me à coima de FTP usando um cliente de interface gráfica, ou seja, o Filezilla com as seguintes configurações:

Proxy Settings
--------------
FTP Proxy : USER@HOST
Proxy Host: proxy.domain.com
Proxy User: blank
Proxy Pass: blank

Proxy Settings

FTP Settings
------------
Host : 200.200.200.200
Port : 21
User : foo
Pass : bar

FTP Settings

o que não consigo fazer é replicar estas configurações dentro de um cliente ftp baseado em texto, ou seja, ftp, lftp etc. Alguém pode ajudar a configurar este guião?

Obrigado antecipadamente!

Author: schone, 2011-03-17

1 answers

De acordo com os documentos de , lftp deve suportar a variável de ambiente ftp_proxy, por exemplo

ftp_proxy=ftp://proxy.domain.com lftp -c "cd /upload; put file" ftp://200.200.200.200

Se isso funcionar, podes colocar

export ftp_proxy=ftp://proxy.domain.com

Nos seus ficheiros de configuração da shell, ou

set ftp:proxy=ftp://proxy.domain.com

Na tua ~/.iftprc.

Em alternativa, tente executar os comandos que o seu cliente FTP GUI está a executar, por exemplo

upload.lftp

USER ...@...
PASS ...
PUT ...

E executá-lo usando -s:

lftp -s upload.lftp 200.200.200.200

Ou tentar curl -T (docs) ncftpput (docs ).

Algo como:

FTP_PROXY=ftp://proxy.domain.com curl -T uploadfile -u foo:bar ftp://200.200.200.200/myfile
Pode resultar.
 4
Author: Mikel, 2011-03-17 03:44:29