User documentation: see http://ppareit.github.io/swiftp/
Developer documentation: see file HACKING
FTP server for your android device.
Home Page: http://ppareit.github.com/swiftp/
License: Other
User documentation: see http://ppareit.github.io/swiftp/
Developer documentation: see file HACKING
Under Android 4.4 cannot write to external microSD Cards as they could under 4.3 / 4.2. This is due to a change in the API / Permissions in Android 4.4.2.
See http://developer.android.com/about/versions/android-4.4.html and http://developer.android.com/about/versions/android-4.4.html#UserContent
I have an ethernet card connected to my Android device and wifi disabled.
When I now try to start the FTP server it fails and suggest to turn on wifi:
http://img526.imageshack.us/img526/9010/screenshot2012120212215.png
However, when I temporary enable wifi, start the server and disable wifi again it works.
Even though the server will prompt the warning "Can't retrive url".
So the server should check not for a wifi connection but for any type of network connection. Or at least start without wifi enabled.
Ftp server starts when not on a wifi network. This is strange beheavior.
Or we should not start.
Or we should first start the wifi network.
It would be useful to allow addition of multiple accounts. Each with a separate login, password and rootfolder.
(from play store request by Van Li)
Each individual line with a feature returning should start with a space.
src/be/ppareit/server/CmdFEAT.java
I wonder if this functionality is limited in demo version.
FC almost every time after deleting files.
logcat:
http://pastie.org/private/ncao2wxxr9nijel3j22a
(Also the device is a Motorola Moto G with stock Android 4.4.2)
There should be an option to allow anonymous ftp. Possible with only read access right.
Support the MDTM command to set the proper modification date/time after copying files to the FTP server. This is essential in order for this program to be compatible with backup and sync utilities.
Note: please use this issue tracker for swiftp, and not the google play store comment section. It is hard to keep track and I cannot close issues there.
It would be very useful to have a command in the settings to manually rescan the storage media after transferring files, so that they appear e.g. in the media player.
You can see for example this feature implemented in Ghost Commander (http://f-droid.org/repository/browse/?fdfilter=ghost&fdid=com.ghostsq.commander): Menu -> Application -> Rescan media
public class CmdPASV extends FtpCmd implements Runnable {
private static final String TAG = CmdPASS.class.getSimpleName();
With ZeroConfiguration we can connect to device with it's hostname rather than IP address, it would be handy if the device is on a network dynamically assigning addresses.
AFAICS this can be implemented by jmdns library, FYI.
http://jmdns.sourceforge.net/
Preserve date and time stamps of the files when copying.
While this is some exceptional case, we should try to handle this graceful. How to reproduce:
Notification of server running stays active. From other device it is not possible to log in to sever, giving timeout.
I believe it would be best if it was "/mnt/sdcard" instead of "/". The reason
for this is the app does not have permissions to manage root
directories and the main use is to access the external storage from
another device wirelessly. That directory would be the default for
many phones, but it changes on some to "/mnt/extsdcard' and probably
others directories too. (guitarist)
When the wifi stops working (user or connection), swiftp should stop the server.
I only get about 200KB/s of data transfer, I wondered if the demo version app have such speed limit?
My device is Nexus 7(2013) in a 802.11G strong Wi-Fi network
Title says it all. This is really needed.
Tested version: 2.10
Steps to reproduce:
Expected results: FTP server should start.
Observed results: "Failed to start the FTP server, not connected to the local network (wifi or ethernet)?"
WiFi tethering seems to work fine.
There's a bug that existed in the old version and still exists here. Whene you delete the file, it disappears from the remote folder but, if you go looking into the phone (or if you simply refresh the Filezilla window), you'll notice that the file will appear with the same name and a size of 0 bytes. You have to manually delete them from an Android file manager like Astro.
Hi,
I'm getting an "Invalid name or chroot violation" when I set the "Stay in folder" setting to "/sdcard" and try to access some subfolders using lftp. Accessing the /sdcard folder works though. Here is the scenario and the result from it:
user$ lftp ftp:[email protected]:2121
lftp [email protected]:/> ls
drwxr-xr-x 1 owner group 4096 Jan 31 01:25 Android
drwxr-xr-x 1 owner group 4096 Jan 01 05:25 Music
drwxr-xr-x 1 owner group 4096 Jan 01 05:25 Podcasts
drwxr-xr-x 1 owner group 4096 Jan 01 05:25 Ringtones
drwxr-xr-x 1 owner group 4096 Jan 01 05:25 Alarms
drwxr-xr-x 1 owner group 4096 Jan 01 05:26 Notifications
drwxr-xr-x 1 owner group 4096 Jan 28 20:25 Pictures
drwxr-xr-x 1 owner group 4096 Jan 01 05:25 Movies
drwxr-xr-x 1 owner group 4096 Jan 28 23:47 Download
drwxr-xr-x 1 owner group 4096 Jan 31 13:19 DCIM
drwxr-xr-x 1 owner group 4096 Jan 28 20:31 .estrongs
drwxr-xr-x 1 owner group 4096 Jan 28 21:07 backups
drwxr-xr-x 1 owner group 4096 Jan 28 23:47 Data
drwxr-xr-x 1 owner group 4096 Jan 28 23:41 .thinkfree
drwxr-xr-x 1 owner group 4096 Jan 30 01:59 tmp
drwxr-xr-x 1 owner group 4096 Jan 31 00:59 current
drwxr-xr-x 1 owner group 4096 Jan 29 15:06 Books
lftp [email protected]:/> cd tmp/
lftp [email protected]:/tmp> ls
ls: Zugriff nicht möglich:550 Invalid name or chroot violation
lftp [email protected]:/tmp>
Access also works if the "Stay in folder" setting is set to "/".
Thanks for your work,
Best regards,
Karl
Required to support resume of uploads in many popular clients.
Seems like one version won't start if the other version is installed. The intent to start the server can't be the same for both.
Possible solution:
Provide public intents:
be.ppareit.swiftp.START_FTPSERVER
be.ppareit.swiftp.STOP_FTPSERVER
??
be.ppareit.swiftp.IS_FTPSERVER_RUNNING
From mail by Stan (19/1/2014, subject 'ftp server')
I'm using fireftp in firefox as client. If enabled, FireFTP will do a hash check after a file transfer. This is used to verify that every bit of the file has transfered correctly. Although rare, sometimes a file can be corrupted when downloaded or uploaded, and a bit can change or could be lost. A hash of a file gives you a short string of characters that uniquely identifies a file. If the FTP server's hash of the file and FireFTP's hash match then splendid, all is well - if they don't match, then your file is corrupted and you should transfer it again. (The FTP server must be configured to allow the XMD5 or XSHA1 command for this option to work.)"
Add an option to start the ftp server when the app starts.
Hello,
I bought the program from the Android Market some weeks ago and I'm very satisfied with it. It's simple and it works!
There's a minor annoyance I'd like addressed. When listing files from a directory, the entries are not sorted, which can be a bit annoying depending on the client you're using.
I'm not a Java or Android developer, so I can't provide a pull request. However, if I understood the code correctly, sorting could happen just before this loop:
And Arrays.sort and something like the DirAlphaComparator from here should do the job:
http://leepoint.net/notes-java/data/collections/comparators.html
Thanks in advance!
Edit: correct line number in link.
Hi!
I get an Error 550 when I try to write to the external storage on my Samsung Tablet running Android 4.4.2.
Can you make it possible to store things on the external SD card?
Mebus
Currently the password is displayed. Use a password text box instead. Optionally add option 'Show password'.
Device Nexus 4
Android 4.2.2
Client Nautilus on Gnome 3.6
Putting certain .png files on it and then removing them is only truncating the file.
Enable scripting by implementing Tasker/Locale support.
The app could use the Wi-Fi tethering option on the phone.
There is a crashing bug when deleting a file. I currently don't know how to reproduce. See email on 14 december by Isaiah.
It is important that this is resolved by next release.
This is the latest version for FTP Server.
And I found a mistake in English
"Can't retreive url"
It's should be
"Can't retrieve url"
The password must consist of 1 or more alphanumeric characters. No other characters are allowed.
It's Password? It isn't Username?
Attachment of Chinese translation: see mail of 28/08/13
Currently the password is limiting the characters that can be used. There should not be such a limit.
ssl support requested
Widget that can toggle Ftp server running.
Reproduce:
The handler that resets the state is not cleared when user tries to reconnect.
At the moment (2.5.4 from f-droid repository, android 2.3.* device), a media rescan process is run every time a file is deleted during an ftp session.
This is not needed, and can cause significant slowdown and even hang the device, for example when moving/deleting dozens (hundred) of files from the device.
The media rescan process should only be run once at the end of the ftp session, not right after each file deletion.
Starting with Android 4.1 there is a new API to publish a server on the LAN, using DNS Service Discovery (http://developer.android.com/training/connect-devices-wirelessly/nsd.html). This would allow to automatically see the FTP server eg. in Nautilus, without having to manually enter its IP.
My smartphone is connected through a VPN.
When I try to access the FTP server with the VPN IPv4, everything works fine.
But when I use the IPv6, I get a 502 error.
Here is the Filezilla log:
Status: Connecting to [2a00:5881:8100:100::5]:2121...
Status: Connection established, waiting for welcome message...
Response: 220 SwiFTP 2.10 ready
Command: USER pierre
Response: 331 Send password
Command: PASS *********
Response: 230 Access granted
Command: SYST
Response: 215 UNIX Type: L8
Command: FEAT
Response: 211-Features supported by FTP Server
Response: UTF8
Response: MDTM
Response: MFMT
Response: 211 End
Command: OPTS UTF8 ON
Response: 200 OPTS accepted
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/"
Command: TYPE I
Response: 200 Binary type set
Command: EPSV
Response: 502 Command not recognized
Command: EPRT |2|2a01:e35:8a04:870:5246:5dff:feb8:a42b|48257|
Response: 502 Command not recognized
Error: Failed to retrieve directory listing
An option to automatically start the FTP server when connected to a specific wifi network. (vergil)
Ftp server starts when not on a wifi network. This is strange beheavior.
Or we should not start.
Or we should first start the wifi network.
Everytime I transfer music (FLAC and OGG) from laptop to phone, it would appear as double entries on my phone.
The message after pressing "Start FTP server" is:
"Failed to start the FTP server, no wifi?"
...which is not quite understandable - after all, wifi is active. Also, it would be awesome. No need to connect both my laptop and my phone to the same network anymore, mobile fileserver, ...
Thanks for your great app btw!
The file rename operation doesn't account for upper/lower case.
If I try to rename the file "A.jpg" to "a.jpg" through the ftp client, the file name stays A.jpg (I don't get any errors from the ftp client).
Tested on swiftp 2.5.3 and a couple of different ftp clients (on Linux).
The "prefix" argument in File.createTempFile must be at least 3 characters. If the "prefix" argument is less than 3 characters, File.createTempFile will throw java.lang.IllegalArgumentException.
Add the MFMT (Modify Fact: Modification Time) command to the android ftp server app / swiftp. With this command it is possible to preserve the original date and time of a file after copying it to the server. E.g. filezilla supports this command via enabling the option "Transfer" -> "Preserve timestamps of transferred files"
When tapping the widget, there should be a feedback (background changing colour). This was not possible earlier, but because we are now using newer sdk version, this be easy to add.
Ftp server starts when not on a wifi network. This is strange beheavior.
Or we should not start.
Or we should first start the wifi network.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.