Waarp provides a secure and efficient open source MFT solution
Waarp Platform is a set of applications and tools specialized in managing and monitoring a high number of transfers in a secure and reliable way.
It relies on its own open protocol named R66, which has been designed to optimize file transfers, ensure the integrity of the data provide ways to integrate transfers in larger business transactions.
Current applications are:
- Waarp R66: the transfer agent that implements the R66 protocol (source)
- Waarp Gateway FTP: a service to interconnect FTP- and R66-based file exchanges (source)
- Waarp Password: a tool to generate the password files used by Waarp R66 and Waarp Gateway FTP (source)
- Waarp FTP: a fast and extensible FTP server based on Netty (source)
The following applications are deprecated and won't be maintained anymore:
- Waarp Administrator
- Waarp XmlEditor
- Supports Java 6, 8 and 11 in different Jars (JRE 11 is compatible up to JRE 16)
- Supports multiple databases: Postgresql (recommended), MySQL, MariaDB, Oracle DB, H2
- Unlimited number of transfers
- Unlimited number of connections
- Traceability
- End-to-end security
- End-to-end integrity checks
- Virtualization of access path
- Encrypted connections with TLS
- Partners authentication (with login/password and/or strong TLS client authentication)
- Pre and Post actions, and Error actions, both on sender and receiver sides
- Works in clusters
- REST API
- Support for ICAP servers submission (antivirus for example)
- Support for S3 access with GET, PUT and DELETE operations
- And much much more!
Just clone the project and use Maven version 3.6.3 minimum to build it (3.8.x for JRE > 11).
Even though Java 6 is supported at runtime, Java 8 or 11 is required to build the project (JDK 11 can be replaced by a newer version, tested until 16 but with maven 3.8.x)
git clone https://github.com/waarp/Waarp-All.git
cd Waarp-All
mvn -P jre11 package
If you want to build unofficial RPM/DEV/TGZ/ZIP and documentation, you can do as the following,
ensuring you have already cloned and install using pip
the repo for Sphinx template for Waarp
code.waarp.fr:2222/waarp/sphinx-template.git
with the following packages for Sphinx:
- sphinx
- sphinx-autobuild
- sphinxcontrib-httpdomain
- Possibly fix the current version 1.6 to 1.7
sphinxcontrib/httpdomain.py
- line 766
+ app.add_domain(HTTPDomain)
- Possibly fix the current version 1.6 to 1.7
- sphinxcontrib-openapi
- sphinx.ext.todo
mvn -P jre11,release package
You can use a JDK 11 (or higher) with jre11
profile, and a JDK 8 with jre8
or jre6
profiles.
mvn -P jre11 package
also runs the full test suite, which takes quite some time (for more
information about setting up your environment to run the tests, see below).
If you want to build the jars without running the tests, use the following command instead:
mvn -p jre11 -D skipTests package
After that, you will find the JARs for each module and application in their
respective target
directory (ex: ./WaarpR66/target/WaarpR66-*.jar
)
And moreover, you will have also a shaded jar that include all dependencies,
except Oracle JDBC for licence issue, under name WaarpR66-X.Y.Z-jar-with-depencencies.jar
, or
equivalent for all runnable jars.
A detailed documentation (in French) is also available in the directory doc/releasing.md
.
Detailed instructions are provided in the documentation (in French only for now) to install Waarp R66 from portable archives ad OS packages (Deb, RPM).
Even though Java 6 is supported at runtime, Java 8 is required to build the project
The full test suite (including integration tests on several databases) requires Docker.
From the root of the project, run the command:
mvn -P jre11 test
Documentation is managed with Sphinx. To build it, you need Python:
cd doc/waarp-r66
# create a virtual environment (you need to do this only once
python -m virtualenv .venv
# Enter the virtual environment
. .venv/bin/activate
# Install the requirements
pip install -r requirement.txt
# Build the doc. After that, it will be available in the directory build/html
make html
Note that documentations are built in final module named WaarpPackaging
and WaarpPackaging6
.
Waarp provides professional support and services.
You can also have community support on our forum.
Those projects are part of the Waarp Platform, but are managed seperately:
Waarp solutions are built on the amazing Netty framework.
This project is distributed under the terms of the GNU GPLv3 License