View on GitHub

Google-drive-ftp-adapter

Google Drive FTP Adapter to connect to google drive through the FTP protocol

Download this project as a .zip file Download this project as a tar.gz file

alt tag

News

Latest Release v1.2.3 - 07 April 2016

New features:

Working on...

About

Features

Ideas for the future:

Screenshots

alt tag alt tag alt tag alt tag alt tag alt tag

Notes

Source Code

GitHub

Web Site

www.andresoviedo.org

Downloads

Latest Release 1.2.3 - 07 April 2016

Buid It!

The project is packaged with Maven. If you want to build it just download the project, compile it and run Java with "org.andresoviedo.apps.gdrive_ftp_adapter.Main"

Run it!

Test it!

Ftp example:

$ ftp localhost 1821
Connected to localhost.
220 Service ready for new user.
Name (localhost:andres): user
331 User name okay, need password for user.
Password:
230 User logged in, proceed.
Remote system type is UNIX.
$ ftp> dir
200 Command PORT okay.
150 File status okay; about to open data connection.
drwx------   0 uknown no_group            0 Nov 16  2013 SOFTWARE
drwx------   0 uknown no_group            0 Oct 29  2013 NEXUS7
drwx------   0 uknown no_group            0 Oct 19  2013 MUSIC
-rw-------   0 uknown no_group      5348582 Apr 30 22:15 Dr. Toast - Light.mp3
-rw-------   0 uknown no_group      1936326 Dec 21  2014 avatar2.jpg
226 Closing data connection
$ ftp>

Application Configuration

The application works fine without configuration. However, a default 'configuration.properties' file is provided in case you want to customize them.

If you want, you can also customize the path of the 'configuration.properties' when launching the app:

$ java -jar google-drive-ftp-adapter.jar [propertiesFilename] 

Here are the application parameters you can customize:

# log4j.fileId if you have more than 1 instance of the app running
log4j.fileId=

# account name associated to cache and Google credentials 
account=default

# FTP port listening for incoming connections
port=1821

# FTP Enable anonymous login?
ftp.anonymous.enabled=false

# FTP default user credentials
ftp.user=user
ftp.pass=user

# Illegal characters for your file system so file copying works fine  
os.illegalCharacters=\\/|[\\x00-\\x1F\\x7F]|\\`|\\?|\\*|\\\\|\\<|\\>|\\||\\"|\\:

account

This is the name associated to the cache and Google credentials, so the next time you run the application you don't have to re-login or resynchronize all of the application cache. This is also the name of the subfolder under "/data" where information is going to be stored. Default value is "default".

port

TCP port number where the ftp adapter is going to listen for ftp clients. Default FTP port is 21, but In Linux this is a reserved port and ports below 1024 are privileged, so we use port 1821. Default is 1821. There is another start2.cmd as example (Windows) that start an FTP adapter at port 22.

F.A.Q.

Known Issues

Disclaimer

Project Info

This application lets you connect your FTP applications to your Google Drive files through the FTP protocol rather than using the official Google Drive client.

This custom Google Drive client was created because the official client can't be reinstalled on a new PC without having to download all your drive files again. Also, because the official client does not support FAT32 partitions and I used to have all my files in one of this partitions.

So this application basically starts a FTP server in your local machine emulating that it is hosting your Google Drive files, acting as a gateway. Once this setup is done, you can connect any FTP client to connect to your Google Drive files. I use it in conjunction with Beyond Compare to compare my local files (stored anywhere in my cloud ;) and compare them to ones I have in the Google Drive cloud.

You are free to use this program while you keep this file and the authoring comments in the code. Any comments and suggestions are welcome.

Contact Information

Contact

Change Log

(f) fixed, (i) improved, (n) new feature