[New Plugin] FTP/SFTP plugin needs beta testers

Greetings nocoders <3

I started working on this new plugin for a project of mine. I would love to hear if you can connect to your own FTP or SFTP storage with the demo app? And how do you feel about the features and the limitations? (see bellow for limitations)

Thank you for taking the time, let’s make a great plugin!

Use cases

  • you have an FTP or SFTP and you want your app or your users to upload/download/list/delete files from your storage
  • you want your app to take users FTP or SFTP info and connect to their storage to do stuff

Links:

Demo: https://ftp-plugin.bubbleapps.io/
Editor demo: https://bubble.io/page?id=ftp-plugin
Market page: Not released yet, waiting for feedback

The FTP plugin has these properties which accept dynamic values:

  • host
  • port
  • username
  • password
  • secure

Actions :

  • List files
  • Download
  • Get file info
  • Upload
  • Delete
  • New folder

Data :

  • Files
  • File bytes
  • File info

Beware of these facts

  • this plugin is still in beta, so please report errors here :wink:
  • transferable file size has a limit depending on the speed of your FTP server or the one of your users, let me know if this is an issue
  • not 100% of FTP servers behave well so this plugin do not support 100% of the FTP servers out there, please test with the demo app if your FTP server is supported
4 Likes

Thanks buddy te demo is ok works in my ftp and i need some resctrictions because i want to show some files to users autenticated please u can send documentation

thanks :wink:

Hello @techsacsoporte
Thanks for the test and encouragement! :slight_smile:
You can apply filters on the file name for example or the size etc, is this what you need?
The unauthenticated users will only be allowed to see the files of you allow them to see the list in bubble, is it what you want?
Depending on your answer I will write documentation, where do you think I should put it, here?
Have a great day my friend, bye!

1 Like

Good night my friend

my application allows a previously registered user to download a single file which only belongs to the user
as I show you in the image there is a calendar that allows you to choose the date it was uploaded

I have that file hosted on my web hosting with c-panel right now it works through API

but I see that your plug-in shows the same as it does but in an easier way

When the user connects, is there a way for the plug-in to make the FTP connection, but only show the data that corresponds to the user?

Thank youbu1

Hello
Interesting use case ! :slight_smile:
You can’t do that several ways but I guess the simplest is to have access rights at the application level, as well as upload dates. Or dates in the folders names?
Because you can not set the date you want on a file with ftp
Does it answer your question?
Have a nice day!

1 Like

Hi @alex.hoyau

I think this is a great plugin idea. There are many free SFTP servers (like FileZilla) available that work on all OS systems. Given that bubble charges about 1 per gig for storage, this plugin could be an easy way to find cheap storage as anyone could fire up a Secure FTP server within their own home network.

Setting up user access would be similar to other alternative storage options like s3 / Wasabi, just create access folders by group or user. The call from bubble would contain the username/pass to these specific folders only.

I’d like to test out the app. Ill setup a SFTP server to test.

2 Likes

Hey @gilles thank you for your thoughts, this is very interesting! I did not of this use case. I hope the max size constraint is not too small for this use case
Also I believe you have answered @techsacsoporte question concerning access rights
Let me know how your tests go :slight_smile:

1 Like

Hi - what is the max file size?

I have a 10s timeout if I recall correctly, this is why it depends on bubble servers and the ftp server

1 Like

I will try to change this timeout to 30s and let you know
Meanwhile let me know if you reach the limit in your tests

1 Like

Also what do you think of the use case where your users would give your app access to their ftp, is this useful?

1 Like

Hello
The plugin is live here
The price is 50% off because I am looking for testers
Thank you all!

2 Likes

I actually need this plugin! I’ve been trying to figure out how to accommodate this need without a third party plugin. Thanks for solving a real problem!

1 Like

Could you make it 51% off? :innocent:

Cool @josh10 ! Please let me know if something is missing or seem wrong
What do you mean 51% ? :smiley:

1 Like

I was just messing with you. I purchased it! 50% off is a good deal for a good FTP plugin. Quick question. Can I utilize the plugin via backend workflows to grab files from the FTP server through a scheduled workflow?

1 Like

Oooh ok :smiley:
Yes you should be able to do that
I will give it a try today

2 Likes

I have tested it for you @josh10 and it works fine :slight_smile:

In this public app I have setup a backend workflow

As a test I created an API endpoint which lists a test ftp of mine, you can list files with this POST request:

$ curl -X POST https://ftp-plugin-back.bubbleapps.io/api/1.1/wf/files

This will do something like this:

$ curl -X POST https://ftp-plugin-back.bubbleapps.io/api/1.1/wf/files
{
"status": "success",
"response": {
    "files": {
        "_p_files": [
            {
                "_p_size": 867573,
                "_p_modified": 1585008000000,
                "_p_name": "Spring.jpg",
                "_p_isDir": false,
                "_p_mime": "image/jpeg",
                "_id": "8363f0be06d58cdc2ccd8e055d626e08"
            },
            {
                "_p_size": 839237,
                "_p_modified": 1585008000000,
                "_p_name": "Summer.jpg",
                "_p_isDir": false,
                "_p_mime": "image/jpeg",
                "_id": "f5e5c911f24554cb8cc716f8b782cc9b"
            },
            {
                "_p_size": 664950,
                "_p_modified": 1585008000000,
                "_p_name": "Winter.jpg",
                "_p_isDir": false,
                "_p_mime": "image/jpeg",
                "_id": "27f30da6a00694ba1cf96021b580a946"
            },
            {
                "_p_size": 12664672,
                "_p_modified": 1609200000000,
                "_p_name": "wftpserver-mac-i386.tar.gz",
                "_p_isDir": false,
                "_p_mime": "application/gzip",
                "_id": "a823e77d3c6fbdb9b8129f58e20bdde0"
            },
            {
                "_p_size": 16973815,
                "_p_modified": 1609200000000,
                "_p_name": "wftpserver-linux-64bit.tar.gz",
                "_p_isDir": false,
                "_p_mime": "application/gzip",
                "_id": "8b049a5e599862216dd38076ec40b7de"
            },
            {
                "_p_size": 15108288,
                "_p_modified": 1609200000000,
                "_p_name": "WingFtpServer.exe",
                "_p_isDir": false,
                "_p_mime": "application/octet-stream",
                "_id": "a110fc4d9d22502e44adc5c17d438b44"
            },
            {
                "_p_size": 16335753,
                "_p_modified": 1609200000000,
                "_p_name": "wftpserver-linux-32bit.tar.gz",
                "_p_isDir": false,
                "_p_mime": "application/gzip",
                "_id": "938b48c900c71fe3dc8ee2e3bf2a3b91"
            },
            {
                "_p_size": 15721686,
                "_p_modified": 1609200000000,
                "_p_name": "wftpserver-solaris-i386.tar.gz",
                "_p_isDir": false,
                "_p_mime": "application/gzip",
                "_id": "aa88311ee47d69bc9bad91293557ac1d"
            },
            {
                "_p_size": 466244,
                "_p_modified": 1585008000000,
                "_p_name": "Autumn.jpg",
                "_p_isDir": false,
                "_p_mime": "image/jpeg",
                "_id": "622b7b75eeddf272ef2234eac9ad4419"
            },
            {
                "_p_size": 12133716,
                "_p_modified": 1593388800000,
                "_p_name": "manual_en.pdf",
                "_p_isDir": false,
                    "_p_mime": "application/pdf",
                    "_id": "2bb3133192f025249870b17c4bbc81c0"
                }
            ],
            "_id": "5349d8b4ec43bf03ed52a79fb9f1d6f8"
        }
    }
}
1 Like

Good news, I managed to change the max execution time from 10s to 26s
So the maximum size of the files and number of files will be higher

2 Likes

Hi, friend

your contribution has been incredible

I would like to ask you something like how it could detect the dates of the files created in that host and that bubble detects those dates? And not only that to be able to show them?
Out there, I use C-PANEL’s GET fileman method do you know any other way?

Stay tuned