Giter Club home page Giter Club logo

tiny-ftp-client's Introduction

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.

tiny-ftp-client's People

Contributors

possible-fqz avatar samar1tan avatar zhengfengkai87 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.