Github user ijokarumawak commented on the issue:
https://github.com/apache/nifi/pull/2704
@jugi92 FTPTransfer supports SOCKS proxy. Specifically at these lines:
```
if (proxyType == Proxy.Type.HTTP) {
- client = new FTPHTTPClient(proxyHost, proxyPort,
ctx.getProperty(HTTP_PROXY_USERNAME).getValue(),
ctx.getProperty(HTTP_PROXY_PASSWORD).getValue());
+ client = new FTPHTTPClient(proxyHost, proxyPort,
proxyConfig.getProxyUserName(), proxyConfig.getProxyUserPassword());
} else {
client = new FTPClient();
if (proxyType == Proxy.Type.SOCKS) {
client.setSocketFactory(new SocksProxySocketFactory(new
Proxy(proxyType, new InetSocketAddress(proxyHost, proxyPort))));
}
}
```
https://github.com/apache/nifi/pull/2704/files#diff-6e7e715d42f332cbe404edd9afbcaafaL533
For processors those don't support SOCKS proxy, following validation code
should be added into their customValidate method, to confirm that
ProxyConfigurationService is configured with the supported proxy type(s):
```
ProxyConfiguration.validateProxyType(validationContext, results,
Proxy.Type.HTTP);
```
ProxyConfigurationService just holds the centralized proxy settings, each
processor is responsible to use the settings with its own relying SDK/API way.
I checked #2018 but the PR doesn't look active. I will take a closer look
on SFTP processor and #2018 to see if I can include SFTP ones into this PR, too.
---