/** * Starts SSL FTP server * * @throws Exception */ public static void startSSLServer() throws Exception { log.info( "Starting Hdfs-Over-Ftp SSL server. ssl-port: " + sslPort + " ssl-data-ports: " + sslPassivePorts + " hdfs-uri: " + hdfsUri); HdfsOverFtpSystem.setHDFS_URI(hdfsUri); DataConnectionConfigurationFactory Dccf = new DataConnectionConfigurationFactory(); Dccf.setPassivePorts(sslPassivePorts); DataConnectionConfiguration dataCon = Dccf.createDataConnectionConfiguration(); MySslConfiguration ssl = new MySslConfiguration(); ssl.setKeystoreFile(new File("ftp.jks")); ssl.setKeystoreType("JKS"); ssl.setKeyPassword("333333"); ListenerFactory lf = new ListenerFactory(); lf.setDataConnectionConfiguration(dataCon); lf.setPort(sslPort); lf.setImplicitSsl(true); lf.setSslConfiguration(ssl); FtpServerFactory fsf = new FtpServerFactory(); fsf.addListener("default", lf.createListener()); // TODO 搞清楚HdfsUserManager的两个null参数应该改成什么。 HdfsUserManager userManager = new HdfsUserManager(null, null); final File file = loadResource("/users.properties"); // userManager.setFile(new File("users.conf")); userManager.setFile(file); fsf.setUserManager(userManager); fsf.setFileSystem(new HdfsFileSystemManager()); FtpServer server = fsf.createServer(); server.start(); }
/** * Starts FTP server * * @throws Exception */ public static void startServer() throws Exception { log.info( "Starting Hdfs-Over-Ftp server. port: " + port + " data-ports: " + passivePorts + " hdfs-uri: " + hdfsUri); HdfsOverFtpSystem.setHDFS_URI(hdfsUri); DataConnectionConfigurationFactory dccf = new DataConnectionConfigurationFactory(); dccf.setPassivePorts(passivePorts); ListenerFactory lf = new ListenerFactory(); lf.setDataConnectionConfiguration(dccf.createDataConnectionConfiguration()); lf.setPort(port); HashMap<String, Listener> lmap = new HashMap<String, Listener>(); lmap.put("2222", lf.createListener()); FtpServerFactory fsf = new FtpServerFactory(); fsf.addListener("2222", lf.createListener()); // fsf.setListeners(lmap); // TODO 搞清楚HdfsUserManager的两个null参数应该改成什么。 HdfsUserManager userManager = new HdfsUserManager(null, null); final File file = loadResource("/users.properties"); userManager.setFile(file); fsf.setUserManager(userManager); fsf.setFileSystem(new HdfsFileSystemManager()); FtpServer server = fsf.createServer(); server.start(); }
public ComputerCraftFTP( int port, String bindAddress, String pasvPorts, String pasvAddress, String maxFilesize) throws FtpException { FtpServerFactory serverFactory = new FtpServerFactory(); ListenerFactory factory = new ListenerFactory(); // set the host and port of the listener if (bindAddress != null && !bindAddress.isEmpty()) factory.setServerAddress(bindAddress); factory.setPort(port); // Data connection config DataConnectionConfigurationFactory configurationFactory = new DataConnectionConfigurationFactory(); if (pasvPorts != null && !pasvPorts.isEmpty()) { configurationFactory.setPassivePorts(pasvPorts); configurationFactory.setPassiveExternalAddress(pasvAddress); } factory.setDataConnectionConfiguration( configurationFactory.createDataConnectionConfiguration()); // Connection config ConnectionConfigFactory connectionConfigFactory = new ConnectionConfigFactory(); connectionConfigFactory.setAnonymousLoginEnabled(false); serverFactory.setConnectionConfig(connectionConfigFactory.createConnectionConfig()); // replace the default listener serverFactory.addListener("default", factory.createListener()); serverFactory.setUserManager(new CCUserManager(maxFilesize)); // start the server FtpServer server = serverFactory.createServer(); server.start(); }