GithubHelp home page GithubHelp logo

nicolalorusso / nifi-ftps Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lou-vasquez/nifi-ftps

0.0 0.0 0.0 53 KB

Standalone NAR with FTPS support (while waiting for support in base NIFI)

Shell 0.50% Java 99.50%

nifi-ftps's Introduction

nifi-ftps

Standalone NAR with FTPS support (while waiting for support in base NIFI). Modified for use at NCICS:

  • basic FTPS functionality tested working for List/Fetch/Get/Put
  • latest nar version (as of sept 2020 - 1.12.0)
  • host validation off (we authenticate not them)
  • self signed (we authenticate not them)
  • nat workaround option
  • EPSV with IPv4 option

TODO:

  • variable for host validation
  • variable for self sign

History

Why this extension?

FTPS support has started some time ago, but was then moved to a different idea .

Since I cannot wait on it : I took the FTP part of the base NIFI and added FTPS support. Since verification is important, also added some host verification

Installation

mvn clean install
# docker cp nifi-ftps-nar/target/nifi-standard-nar-VERSION.nar nifi-container:/opt/nifi/nifi-current/lib
# NOTE be sure to remove existing standard nar (if above copy does not)
# restart docker/nifi

Since the code only injects an FTPSClient iso an FTPClient, we use all the logic of the FTP classes. This means that there is a very large dependency on the standard processors NAR.

However, using the construct of adding a NAR dependency, this lead to IllegalAccessExceptions when loading the FTPS processors.

So I decided to inject the additional JAR into the standard processor NAR. This way, the JAR feels right at home :-)

Installation is therefore building the "patched" standard processor NAR and replacing the original one by this one.

1.12.0 State

basic testing to VsFTP works for List/Fetch/Get/Put (minor mods) docker run -p 2121:21 -p21100-21110:21100-21110 --name ftps loicmathieu/vsftpd ftps

1.9.2 State (past tag)

Written with NIFI 1.9.2 (thanks for all the commented out solutions, kullervo16).

  • self signed allowed
  • host validation not required

Manually tested (ListFTPS, FetchFTPS) against external data provider ftps

1.7 State (pre-fork kullervo16 version)

Tested with FileZilla and with test.rebex.net.

Note : it forces the FTPS "PROT P" option (encrypted transfer) over TLS (no more SSL) , but it does not support the "TLS session resumption" option

Note 2 : since I have no proxy to test with, the proxy options are disabled

nifi-ftps's People

Contributors

kullervo16 avatar lou-vasquez 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.