Runftp is an FTP/FTPS/SFTP client that runs in Android.
FTP is short for File Transfer Protocol
. With this tool,
you can exchange text, picture, audio, video or any files
with whatever UNIX servers.
You can search by Runftp
or the developer's name Lewske
in Android Market
and download it,
and it's located in Apps - Communication - Runftp
as well.
| Version | Improvement |
|---|---|
| 1.3.2 | File mark ambiguity fixed. |
| 1.3.1 | New locales (Traditional Chinese, Simplified Chinese and Japanese) are supported. |
| 1.3.0 | Strings now separated to a file for localization. You can choose SFTP private key file with browser. |
| 1.2.9 | Scroller for filer added. |
| 1.2.8 | Connection Management improved. |
| 1.2.7 | Database new creation bug fixed. |
| 1.2.6 | There was a building issue that's been fixed now and a small UI improvement was done. |
| 1.2.5 | SFTP public authentication supported. |
| 1.2.4 | Mark operation flaw fixed. |
| 1.2.3 | SFTP connection stabilized. |
| 1.2.0 | A three-pane GUI added. |
| 1.1.7 |
Default color changed.
Change Themebutton was added in menu. |
| 1.1.6 |
Stability when receiving responses was fixed.
Documentbutton was added in menu. |
| 1.1.5 |
Scrolling and command history functions were enabled.
Helpbutton was added in menu. |
Runftp has many features. So I'm gonna describe the general usage first here.
You must first connect to an FTP server somewhere in the world. They will mostly give you right to access to an FTP server when you are offered services like web hosting or personal web page. You may want to contact the system administrator for details.
You can connect anywhere you want to by clicking the quick connector UI located in the remote file view in the right side. The pane shown by default is called local file view. You can slide the sidebar on the right with your finger to scroll to the remote file view.
|
< Scroll to switch between filer views > |
|
In the remote file view, click on Open New Site
and
type the URL you like or choose one from the list that
remembers some of the history.
The general syntax of URL is :
scheme:username@host.domain:port
where
schemeis either
ftps,
ftpor
sftp,
username, host.domainmeans literally, and
port)
You can also provide your DSA private key for SFTP. ( Only DSA keys are acceptable. Please don't use RSA mistakenly. )
Once connected, you can press a file to copy or delete it, and long-press (touch a file and hold for 1 sec) to invoke batch-process copying or deleting all marked files. To mark a file touch the item and move your finger to somewhere else. Marked items are usually highlighted.
If you are a bit strange and want to use console, you need to
begin connection by open
or its abbreviated form o
command.
For FTP and FTPS, type :
$ o username@blahblah.com
Or for example, for SFTP with public key authentication, prepare a private key beforehand and type :
$ o -i /sdcard/id_dsa sftp:username@blahblah.com
( As written earlier, you can only use DSA keys. )
Then after it prompts with the target FTP
host name and $
sign, enter again
user <your_username>
followed by password. This is not the case if you already provided the user name above.
FTP$ open ftp.hogehoge.net Connected to ftp.hogehoge.net 220 Welcome to hogehoge FTP server. .... ftp.hogehoge.net$ user alibaba 331 Enter your password Password:opensesame 230
FTPS will be turned on whenever it's available.
However you can insert ftps:
and/or username@
between open
and the hostname
to explicitly enable secure (SSL) connection like :
FTP$ open ftps:run.sh
Insert sftp:username@
between open
and the hostname
to enable SFTP (SSH FTP) connection like :
FTP$ open sftp:ryu@run.sh
To list the files in remote directory, just type ls
.
ftp.hogehoge.net$ ls 227 Entering Passive Mode (203,216,247,246,139,157) 150 Opening ASCII mode data connection for . total 256 -rw-rw-r-- 1 53 53 442841 Jan 1 22:06 2009-10-29_16.18.32.jpg -rw-rw-r-- 1 53 53 673902 Dec 29 08:03 2009-12-11_07.54.21.jpg -rw-rw-r-- 1 53 53 398775 Jan 1 22:09 2009-12-30_13.55.25.jpg
You can change the remote directory with cd
command just like
good and old DOS.
The default local directory is /sdcard/dcim/Camera
.
You can change this by typing lcd <target_directory>
ftp.hogehoge.net$ lcd ../..
This example moves the current directory to the upper directory of the parent,
which is /sdcard
.
To download a file named File_Name
in the current directory into your phone, type :
ftp.hogehoge.net$ get File_Name
To upload a file named File_Name
in the current directory in your phone to the connected server, type :
ftp.hogehoge.net$ put File_Name
To download all files in the directory into your phone, type
mget *
.
ftp.hogehoge.net$ mget *
To upload all the files existing in the directory you specified
with lcd
in your phone to the server, type mput *
.
ftp.hogehoge.net$ mput *
Now you should have learned every basic operation of Runftp.
Congrats!
The rest of this page is merely an appendix to be a hint for setting up an FTP server and related programs.
ProFTPD is a highly configurable FTP server. Supports FTPS (FTP over SSL/TLS).
To configure, edit the file /etc/proftpd/proftpd.conf
.
Remove any pounds at first column in <Anonymous ~ftp> section so that you enable anonymous logins.
# Restrict anonymous uploads to only 10 megabytes MaxStoreFileSize 10 Mb user anonymous MaxStoreFileSize *
If you are going to manage a popular site which calls the process
many times, you may set the ServerType
to standalone
instead of inetd
.
ServerType standalone
If you go standalone, you need to also disable ftp process startup
in /etc/inetd.conf
.
#ftp ....
First SIGHUP xinetd, then proftpd.
$ sudo /etc/init.d/xinetd restart $ sudo /etc/init.d/proftpd restart
When you create an SSL certificate for an authority
e.g.
CAcert
, you need to copy the CA.pl
script
contained in openssl package to /etc/ssl
and execute it with -newreq
:
$ cd /etc/ssl/ $ sudo cp /usr/lib/ssl/misc/CA.pl . $ sudo ./CA.pl -newreq
Provide your host name as the common name that's questioned in the program.
Common Name (eg, YOUR name) []:run.sh
To enable SSL/TLS connection, uncomment the tls.conf
inclusion in /etc/proftpd/proftpd.conf
:
Include /etc/proftpd/tls.conf
and edit /etc/proftpd/tls.conf
this way.
<IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSRSACertificateFile /etc/ssl/certs/hoge.crt TLSRSACertificateKeyFile /etc/ssl/private/hoge.key TLSVerifyClient off TLSRequired off </IfModule>
Using TLS 1.0 is currently the best approach. You probably want to disable old SSL 2.0 support in the client that may confuse the handshaking.
AUTH TLS 234
USER xxxx TLS/SSL connection established. 331 Anonymous login ok, send your complete email address as your password PASS xxxx 230 Anonymous access granted, restrictions apply OPTS UTF8 ON 200 UTF8 set to on SYST ---- FEAT ----
PBSZ 0 200 PBSZ 0 successful PROT P 200 Protection set to Private TYPE I 200 Type set to I PASV 227 Entering Passive Mode STOR/RETR hoge.tar.gz 150 Opening BINARY mode data connection for hoge.tar.gz
226 Transfer complete
PBSZ 0 200 PROT C 200 PASV 227 Entering Passive Mode LIST/NLST 150 Opening ASCII mode data connection for file list
226 Transfer complete
SFTP
is not compatible with traditional FTP at all.
It just utilizes the transfer function subsystem
sftp-server
of sshd in OpenSSH.
Generally SFTP packets cannot pass through proxies either.
Have fun.