AspettaAspera (italian for "wait and see" ) is just another file downloader. Currently it supports well the HTTP protocol, with multi-thread download and variable chunk size (through configuration). A basic implementation for FTP is provided as well.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes
To run properly, the following components are required
- JAVA JDK v.1.8
- Apache Maven recent release
From now on, assume you are running on an environment with both JAVA and MAVEN properly installed and configured The following test was done on a UNIX environment. Some changes may apply for Windows.
First thing first, you should download the project and save it inside a known folder We will then navigate to this folder using the command line Let suppose the files of the project are saved inside our disk at: download/project/aspettaaspera
$ cd
$ cd download/project/aspettaaspera
Our command line location should be inside our project folder.
The project is built using maven. The built process can be triggered using the following command
$ mvn clean test compile
The previous command automatically ran the test and build our source files
Inside the project folder at download/project/aspettaaspera, you can launch the test suite as a standalone using the command
$ mvn test
This test suite require access to the file system as well as access to the network Using this command, both unit and integration test are ran.
mvn integration-test -DskipTests=false
Losgs file containing the result of the test suite can be found at inside the target folder located inside our disk at path: download/project/aspettaaspera/target
##running the app
To run the app, we should generate a JAR file This can be done using the following command
$ mvn clean compile assembly:single
inside the target folder located at path download/project/aspettaaspera/target you can find the new generated JAR file named: downloader-1.0-SNAPSHOT.jar The application can be launched in two different ways:
We should provide to the application the path to the configuration file with the alias -c
An example of a configuration file can be found inside the project with the name config.yaml.
Finally we can then provide a list of resource we would like to download. Currently HTTP is supported, FTP support is experimental e.g.
$ java -jar downloader-1.0-SNAPSHOT.jar -c path/to/my/config.yaml http://speedtest.tele2.net/100MB.zip
To run the program in verbose mode, just include the additional option -v as
$ java -jar downloader-1.0-SNAPSHOT.jar -c path/to/my/config.yaml http://speedtest.tele2.net/100MB.zip -v
- Intellij IDEA - The IDE used
- Apache Maven 3.6.0 - Dependency Management
- Junit - The testing framework used
V1.0
- Stephane Kamga
- Hat tip to StackOverflow, Agoda, Silvia