Text based FTP client settings behind a proxy
According to the docs, lftp
should support the ftp_proxy
environment variable, e.g.
ftp_proxy=ftp://proxy.domain.com lftp -c "cd /upload; put file" ftp://200.200.200.200
If that works, you can put
export ftp_proxy=ftp://proxy.domain.com
in your shell configuration files, or
set ftp:proxy=ftp://proxy.domain.com
in your ~/.lftprc.
Alternatively, try running the commands that your GUI FTP client is running, e.g.
upload.lftp
USER ...@...
PASS ...
PUT ...
And run it using -s
:
lftp -s upload.lftp 200.200.200.200
Or try curl -T
(docs) ncftpput
(docs).
Something like:
FTP_PROXY=ftp://proxy.domain.com curl -T uploadfile -u foo:bar ftp://200.200.200.200/myfile
might work.
Admin
Updated on June 04, 2022Comments
-
Admin almost 2 years
I need to create a bash script which will connect to an FTP server, upload a file and close the connection. Usually this would be an easy task but I need to specify some specific proxy settings which is making it difficult.
I can connect to the FTP fine using a GUI client i.e. Filezilla with the following settings:
Proxy Settings -------------- FTP Proxy : USER@HOST Proxy Host: proxy.domain.com Proxy User: blank Proxy Pass: blank
FTP Settings ------------ Host : 200.200.200.200 Port : 21 User : foo Pass : bar
What I can't seem to do is replicate these settings within a text based ftp client i.e. ftp, lftp etc. Can anyone help with setting this script up?
Thanks in advance!