[APP][2.3+] FTPDroid (2.1.0) - Pure-FTPd ported to Android

Search This thread

peterbonge

Senior Member
Sep 16, 2006
506
116
Can you submit a better one? I'm not very good with that :)

Sorry, no. I'm not a designer.
I think a little Android in combination with the word "FTP" would make sense. Or an "classic" network symbol with an Android. Maybe some designers are reading this.

It's there for the easiest usage: if I disable it, a newbie user would be force to configure options and will probably look for something else...

OK.

Any hint to kill a process with all child processes?

I can't help you with this. I just can say that every other (working) FTP server I've tested is closing the connection properly.
 

developer++

Member
Aug 16, 2011
37
6
Mumbai
I know about this issue (it's present in SSHDroid too): this is because the daemon process spawns subprocesses to manage incoming connections and, when I kill it, the child processes are still alive (this explains your issue).

Any hint to kill a process with all child processes?

I dont know if it works with android but you can maintain a Hashmap of the child Processes spawned..... before killing the parent process iterate over the map and kill all the child processes...
 

berserker_devel

Inactive Recognized Developer
Jan 20, 2011
367
266
I dont know if it works with android but you can maintain a Hashmap of the child Processes spawned..... before killing the parent process iterate over the map and kill all the child processes...
I have no "direct" access to the ID of the child process since FTPDroid is a wrapper around Pure-FTPd. I only know the main process ID and I need something to iterate over the child processes (even using the ndk, no prob with that).
Thanks anyway for the suggestion ;)
 

peterbonge

Senior Member
Sep 16, 2006
506
116
At the moment I'm using FTPDroid to sync my media files (with SyncBackSE).
With my Nexus S (Android 2.3.6) it works really fine, but with my Transformer (Android 3.2) not. There FTPDroid doesn't seem to be able to change the file times (MDTM). All synced files have the current date+time and because of this the sync app always detects changes. It would be nice if this could be fixed.

And a wish: It would be nice if there would be an option for the log to not hide the info between the two lines. Similar to the second screenshot in the first post. Just a little bit higher. And if this is possible there should be an option to remember the last state.
 

peterbonge

Senior Member
Sep 16, 2006
506
116
An update:

Today I wanted to sync my phone again and the sync app wanted to copy every file to my PC because the time-stamps had a difference of 2h.
I'm sure that the time-stamps of the files on the PC are all unchanged. That means that something has changed the time-stamps of all files on the device -2h.
I doubt that this was caused by FTPDroid, because it already happened in the past with another device and via USB connection. I think it was caused by Android. Maybe the media scanner? Has anybody some info? Google Search doesn't help with this problem.

Another problem: It seems that the sync app doesn't always find all files on the phone. Sometimes the sync app shows files as missing on the device and if I scan again these files aren't missing anymore.
 

imakul8

Senior Member
May 25, 2010
860
247
New Orleans, LA.
I love your app man! I had been trying to figure out Filezilla(never did either:eek:) when I discovered your app. I use it with FireFTP on Firefox. It is so simple to use and I have never had a single issue with it. This will remain a staple app for me. Btw, I gave you all my "Thanks" for the day.:D
 

Albert Poon

Senior Member
Aug 7, 2010
475
148
Any hint to kill a process with all child processes?

(Hey Berserker here I come!)

Maybe a loop script running in background?

get the proc id of pure-ftpd (SERVER) and check /proc/$ID, if not exist, kill all pure-ftpd (IDLE) and exit the script?

Also, can you implement wake on command?

I have done some tests regarding transfer speed:

Screen on:
To SSHDroid: 4Mb/s
From SSHDroid: 2Mb/s

Screen off:
To SSHDroid: 3Mb/s
From SSHDroid: 1.6Mb/s

My settings:
Lock Wifi: ON
MicroSD: 32G/class10
SetCPU: 118800/19200, Screen off: 38400/19200
 
Last edited:

berserker_devel

Inactive Recognized Developer
Jan 20, 2011
367
266
get the proc id of pure-ftpd (SERVER) and check /proc/$ID, if not exist, kill all pure-ftpd (IDLE) and exit the script?
Thanks for the suggestion, I'll have a look on it ;)

Also, can you implement wake on command?
Can you explain this? As you probably know FTPDroid is a native port of Pure-FTPd and my original idea is to keep it as "clean" as possible without "hacking" it.
 

Ghodmode

Member
Jul 30, 2011
16
0
Kota Kinabalu
www.ghodmode.com
No directory listing

I can't get it to work for me. From the PC, I can log in, but I'm unable to retrieve directory listing. It just hangs after trying to retrieve the directory listing.

I've tried active and passive mode, just in case.

On PC, I'm using Linux. I've tried both Filezilla and the command-line FTP client.

Here's the output:
Connected to sgs2.
220---------- Welcome to Pure-FTPd ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 13:24. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (sgs2:ghodmode): anonymous
230 Anonymous user logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful
150 Connecting to port 57662

Home network using WiFi on LAN
Samsung Galaxy S2 (GT-I9100)
Codeworkx Kernel: Android 2.3.5
CyanogenMod 7

Thank you.

Ghodmode
www ghodmode com
 
Last edited:

berserker_devel

Inactive Recognized Developer
Jan 20, 2011
367
266
Version 1.2.0 has just been released on the market, here it is the changelog:
  • ICS compatibility fixes
  • Active connections are now closed correctly once the service is stopped
  • Translations updated
 

FqFKrazz

Member
Jan 10, 2012
9
0
Visby
Tasker

Hi,

I've tried about all different FTP-servers I can find and yours is the best one I can find.

There is, however, one detail that work with the other servers that doesn't work with yours.
When I try to kill the FTP-server with tasker, it doesn't die.

I have Tasker set up to kill some apps when disconnected from the charger. All apps that I try to kill die, except for the FTPDroid.

So, is there a way to take care of this? Maybe send a parameter to the process or in some other way tell FTPDroid to shut down.

Best regards,
Krazz
 

berserker_devel

Inactive Recognized Developer
Jan 20, 2011
367
266
Hi,

I've tried about all different FTP-servers I can find and yours is the best one I can find.

There is, however, one detail that work with the other servers that doesn't work with yours.
When I try to kill the FTP-server with tasker, it doesn't die.

I have Tasker set up to kill some apps when disconnected from the charger. All apps that I try to kill die, except for the FTPDroid.

So, is there a way to take care of this? Maybe send a parameter to the process or in some other way tell FTPDroid to shut down.

Best regards,
Krazz
Thanks for the feedback ;)
I never used Tasker on Android but you could have a look if that application supports one of the following operations:
  • Send a command to the ftp service: this is the best solution since you could send "STOP" to service berserker.android.apps.ftpdroid.DaemonService (free version) or berserker.android.apps.ftpdroidpro.DaemonService (paid version)
  • Kill the pure-ftpd application: this is more complex since you will need to invoke a shell with "kill <pure-ftpd pid>" where pure-ftpd pid could be read from a file called "pid" located in /data/data/berserker.android.apps.ftpdroid/bin/pid
  • Using killall: you need to invoke the command "killall pure-ftpd" but note that the killall utility, as far as I know, is not available in the standard Android "distribution" (only the kill command). Busybox is the way to go in this case
Hope it helps, let me know :)
 
  • Like
Reactions: FqFKrazz

FqFKrazz

Member
Jan 10, 2012
9
0
Visby
Thanks for the feedback ;)
I never used Tasker on Android but you could have a look if that application supports one of the following operations:
  • Send a command to the ftp service: this is the best solution since you could send "STOP" to service berserker.android.apps.ftpdroid.DaemonService (free version) or berserker.android.apps.ftpdroidpro.DaemonService (paid version)
  • Kill the pure-ftpd application: this is more complex since you will need to invoke a shell with "kill <pure-ftpd pid>" where pure-ftpd pid could be read from a file called "pid" located in /data/data/berserker.android.apps.ftpdroid/bin/pid
  • Using killall: you need to invoke the command "killall pure-ftpd" but note that the killall utility, as far as I know, is not available in the standard Android "distribution" (only the kill command). Busybox is the way to go in this case
Hope it helps, let me know :)
Ok, I will look into those options. :)
 

FqFKrazz

Member
Jan 10, 2012
9
0
Visby
Ok, I will look into those options. :)
Since I have a rooted phone (SGS2) with busybox I also have the killall command.

So (using a terminal emulator) I tried killall pure-ftpd which worked. That is, the ftp server was killed and I was unable to access it.
FTPDroid was however still running, which made it impossible to connect again. So I also had to execute a "kill ftpdroid". After that I could run FTPDroid as usual and it works.

For others using Tasker:
In Tasker I added a Run Shell command (Misc -> Run Shell) where the command is "killall pure-ftpd" and Use Root is checked.
In the same task as the above Run Shell command, I also added a Kill App (App -> Kill App) where I selected FTPDroid and Use Root is checked.
It's also important that the Run Shell command is executed before the Kill App. If not, this won't work.

Thanks for the help. I will now buy your app as a token of appreciation. ;)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 23
    FTPDroid is an FTP server for Android that will let you to manage files and folders on your device without the USB cable.
    Why FTPDroid is the best FTP server for Android? Because it's not YAFS (Yet Another FTP Server) since is a native port to Android of best FTP server around: Pure-FTPd

    The benefits of using this application are:
    • Transfer files and folders to/from any computer and your device without the need of the USB cable.
    • No need anymore to mount/unmount the SD card.
    • Easily share files with other devices (Android or anything else, see the FAQs)
    • Keep the USB port of your device safe.

    image.png
    image.png

    image.png
    image.png

    Features
    • Anonymous access
    • Configurable users
    • Restrict access to specific folders
    • Active and passive mode
    • Multiple files transfers
    • UTF-8 support
    • Root support to allow binding on standard FTP port 21 (please note that root is supported but NOT required)
    • SSL/TLS support (pro)
    • App widget (pro)
    FAQs
    • q: How can I share files with another device?
      a: Look for an FTP client (every system like Android, iOS and Windows Phone has its own).
    • q: Why my transfer speed decrease when I turn off the screen?
      a: Enable the option 'Lock Wifi'. If your device is running at least Android 2.3.x, you should get full speed transfer even when the screen is off, otherwise enable the option 'Lock screen' too.
    • q: How can I disable anonymous access?
      a: Please follow the instructions in the help (open the menu from the main page of the application).
    • q: How can I automate the application start/stop?
      a: Use the following broadcast intents:
      • START: berserker.android.apps.ftpdroid.command.START
      • STOP: berserker.android.apps.ftpdroid.command.STOP
    FTPDroid on Google Play

    Changelog 2.1.0
    • Optimized layout for tablets
    • Fixed a problem with in-app purchase restore
    • Google Play Services updated
    • Minor UI changes
    Changelog 2.0.3
    • fixed file overwrite issue
    Changelog 2.0.2
    • minor changes
    Changelog 2.0.1
    • complete UI rewrite!
    • sperimental x86/mips support
    • armeabi-v7a performance improvement
    • AdChecker removed
    • android.permission.ACCESS_SUPERUSER permission added
    • new option to enable/disable an ftp user
    • new option "autostart service"
    • new option "enable root"
    • new option "anonymous can read dotfiles"
    • new option "resolve hostname"
    • better home folder selection
    • no more adchecker (pro version has more features)
    • SSL/TLS support (pro version)
    • WiFi white list (pro version)
    • Transfers page (pro version)
    • Widget support (pro version)
    Changelog 1.2.0
    • ICS compatibility fixes
    • Active connections are now closed correctly once the service is stopped
    • Translations updated
    Changelog 1.1.0
    • Bandwidth (download/upload) can now be limited
    • The main application icon can now be long pressed to toggle the FTP service (short press is supported too)
    • Notification icon can be disabled
    • New translations: chinese, croatian, french, germanm italian, polish, russian and ukrainian
    • AdMob SDK update (free version only)
    • AdChecker now allows to revert the hosts file (free version only)
    welg.png
    If you want to become a beta tester of this app please follow these steps:
    Support this project
    2
    If you want to translate FTPDroid into a new language:
    • download the attached file (translate.zip)
    • edit the xml inside the zip (strings.xml) in this way:

      Original line:
      <string name="ftp_user_invalid_password">Invalid password</string>
      Translated line:
      <string name="ftp_user_invalid_password">My translation of Invalid password</string>
      Please do not translate anything inside the "name" attribute:
      <string name="do not translate this">
      But only:
      <string name="my_key">Please translate only this part</string>
    • Attach in this topic a modified version of the file or send me a pm with the download link (please remember to indicate the new language!)

    I'll be glad for every contribution :)

    Available translations:
    2
    Troubleshooting Help

    I recently got the update to lollipop on my htc one m8, and the app stopped working. It wasn't auto starting, and when I pressed start the text on screen would flash quickly, and the status would never change from stopped. I uninstalled the ftpdroid app, and re-installed and now the app says the server is running, but I'm not able to connect with a client. I've tried windows, my backup client (syncback), and filezilla. None appear to get any response from my phone and ftpdroid never shows anything in the log. I have the unlocked pro version of ftpdroid, and have signed up to the beta channel but still no luck. Any ideas to help troubleshoot? I am not rooted. Is this a known issue? The new OS has only been available for a couple weeks on the HTC.

    ---------- Post added at 11:33 PM ---------- Previous post was at 11:03 PM ----------

    I recently got the update to lollipop on my htc one m8, and the app stopped working. It wasn't auto starting, and when I pressed start the text on screen would flash quickly, and the status would never change from stopped. I uninstalled the ftpdroid app, and re-installed and now the app says the server is running, but I'm not able to connect with a client. I've tried windows, my backup client (syncback), and filezilla. None appear to get any response from my phone and ftpdroid never shows anything in the log. I have the unlocked pro version of ftpdroid, and have signed up to the beta channel but still no luck. Any ideas to help troubleshoot? I am not rooted. Is this a known issue? The new OS has only been available for a couple weeks on the HTC.
    SCRATCH THAT! After seeing reviews from people with my same device on the app that seem to have no problems. I uninstalled the app, and the unlocker app. Reinstalled both apps, rebooted phone, and it's working now! Anyone having issues after a lollipop upgrade should do the same.

    ---------- Post added at 11:45 PM ---------- Previous post was at 11:41 PM ----------

    I have the paid version and I am unable to write to the external card. The "Enable Root" option is disabled.

    How can I enable the option to allow root access and/or get write access to the external card?

    Samsung Galaxy S5 running Android 5.0

    Kevin

    Write access to the SD card has been an OS limitation up until Lollipop. The "enable root (if available)" option is disabled for me too, but my phone is not rooted, so that is expected. Is your phone rooted? If you have the paid version and your phone is rooted, than you may actually have a valid problem, but it appears to me that you need a rooted phone to be able to use the enable root option. Hopefully the developer will integrate the SD card write access features made available in Lollipop soon so even those of us without root access will be able to write to our SD cards via FTP server again. I'm assuming you have a special requirement for the FTP functionality, but if you're just trying to copy a file to your phone via wifi, write access to SD is integrated into ES file explorer already, and you can copy from an ftp server or other network location to your SD card manually in the meantime.
    1
    Best FTP-server app. :) I can help with translation into Russian and Ukrainian.
    Hi, thanks for your help ;)
    I modified the second post with the instructions for making a new translation, if you have any question write me a pm.
    Thanks again ! ;)
    1
    Installed the server, launched it says "ready" with ip address, but inserting this address in any ftp client it isn't reachable. It's limited to wifi? i'm in 3G.
    Hi, it's not "limited" to WiFi but on 3G is carrier dipendent...does it work on WiFi?