Skip to content

complying with a limited subset of RFC 959 & 3659, a multithreading (i.e., deadlock-prone) FTP client written in Java socket programming and JavaFx GUI framework

License

Notifications You must be signed in to change notification settings

sfu2/tiny-ftp-client

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Tiny FTP Client

Complying with a limited subset of RFC 959 & 3659, a multithreading (i.e., deadlock-prone) FTP client written in Java socket programming and JavaFX 11 GUI framework, which supports the resuming of interrupted downloading / uploading and parallel transfers.

We develop this with pride for our course — Application Design of Computer Networks, Wuhan University.

Install

Before you start, please ensure your JDK (or JRE alone) has been installed, path variable (JAVA_HOME) has been appropriately set, and the current version is 11 by running java -version on the command line.

Why JDK 11?

JDK 8 and 11 are the only two LTS (Long-Term Support) versions for now, which means better stability and continuous fixes, and 8 is older.

If you haven't installed JDK / JRE / "Java" before, you can visit this site to download Oracle JDK installer of your platform, or OpenJDK's version if you prefer open sources.

You can check your setting of path variable from command line by

  • Linux Shell
echo $JAVA_HOME
  • Windows CMD
echo %JAVA_HOME%

If you have installed JDK / JRE / "Java" from Oracle on Windows before, its installer will add extra contents (pointing to java.exe) to environment variable PATH, which is prior to JAVA_HOME and lead a mismatching when doubly clickingtiny-ftp-client-specific_ver.exe. Thus, if you need to upgrade/downgrade your JDK / JRE / "Java", please remember to remove those contents subsequently.

Once done, do sanity check by running

java -version

You should see prompts like

java version "11.0.7" 2020-04-14 LTS

Finally, please download artifacts of your platform from our release page

Usage

  • EXE: just doubly click it.
  • JAR: launch it from command line:
java -jar tiny-ftp-client-specific_ver.jar

Enjoy it!

If the application fails to start because of dependencies, you can clone this repo and use Maven or IntelliJ+Maven (recommended) to build and run.

Please notice we haven't support vsFTPd, which is widely deployed on Linux FTP servers, because it lacks FTP command MLSD. You can use another outstanding, free software FileZilla Server.

Contributing

PRs accepted and welcomed. Although we believe no one else will have an interest. :P

License

GPLv3 © FxxkMultiThreading Group

See Also

For more information about the project, dependencies, and configuration details used by Maven to build the project, please see pom.xml

For Javadoc, please click here for online reading.

About

complying with a limited subset of RFC 959 & 3659, a multithreading (i.e., deadlock-prone) FTP client written in Java socket programming and JavaFx GUI framework

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%