public void Start() { var log = LogHelper.GetLogger(this.GetType()); // 启动FTP服务器 try { var membershipProvider = new AnonymousMembershipProvider(); var fsProvider = new DotNetFileSystemProvider(Path.Combine(Path.GetTempPath(), "TestFtpServer"), false); ftpServer = new FtpServer(fsProvider, membershipProvider, "127.0.0.1"); ftpServer.Start(); } catch (Exception ex) { log.Error("Create FtpServer failed.", ex); } // 启动Websocket服务器 try { // see: https://github.com/jjrdk/websocket-sharp webSocketServer = new WebSocketServer(null, int.Parse(webSocketPort)); webSocketServer.AddWebSocketService <SocketServer>("/Socket"); webSocketServer.Start(); } catch (Exception ex) { log.Error("Create websocket server failed.", ex); } }
private void LaunchFtpServer() { Directory.CreateDirectory(@"root"); // allow only anonymous logins var membershipProvider = new AnonymousMembershipProvider(); // use %TEMP%/TestFtpServer as root folder var fsProvider = new DotNetFileSystemProvider("root", false); // Use all commands from the FtpServer assembly and NOT the one(s) from the AuthTls assembly var commandFactory = new AssemblyFtpCommandHandlerFactory(typeof(FtpServer).Assembly); // Initialize the FTP server _ftpServer = new FtpServer(fsProvider, membershipProvider, "127.0.0.1", FtpPort, commandFactory) { DefaultEncoding = Encoding.ASCII, // This can cause trouble. LogManager = new FtpLogManager(), }; // Start the FTP server _ftpServer.Start(); }
public bool Start(string rootDir, string ipserver) { if (_HasInit) { Console.WriteLine("FtpServer already start"); return(true); } ipself = ipserver; if (!Directory.Exists(rootDir)) { Directory.CreateDirectory(rootDir); } fsProvider = new DotNetFileSystemProvider(rootDir); if (_FtpServer != null) { _FtpThreadAutoResetEvent.Reset(); _FtpServer.Stop(); _FtpServer.Dispose(); } _FtpThread = new Thread(new ThreadStart(DoStart)); _FtpThread.Start(); return(true); }
public void OnetimeSetup() { port = new Random().Next(10000, 20000); var membershipProvider = new AnonymousMembershipProvider(); var fsProvider = new DotNetFileSystemProvider("ftp", false); ftpServer = new FtpServer(fsProvider, membershipProvider, "127.0.0.1", port, new AssemblyFtpCommandHandlerFactory(typeof(FtpServer).GetTypeInfo().Assembly)); ftpServer.Start(); }
private static void Main() { // Load server certificate var cert = new X509Certificate2("test.pfx"); AuthTlsCommandHandler.ServerCertificate = cert; // Only allow anonymous login var membershipProvider = new AnonymousMembershipProvider(new NoValidation()); // Use the .NET file system var fsProvider = new DotNetFileSystemProvider(Path.Combine(Path.GetTempPath(), "TestFtpServer")); // Use all commands from the FtpServer assembly and the one(s) from the AuthTls assembly var commandFactory = new AssemblyFtpCommandHandlerFactory(typeof(FtpServer).Assembly, typeof(AuthTlsCommandHandler).Assembly); // Initialize the FTP server using (var ftpServer = new FtpServer(fsProvider, membershipProvider, "127.0.0.1", Port, commandFactory) { DefaultEncoding = Encoding.ASCII, LogManager = new FtpLogManager(), }) { #if USE_FTPS_IMPLICIT // Use an implicit SSL connection (without the AUTHTLS command) ftpServer.ConfigureConnection += (s, e) => { var sslStream = new FixedSslStream(e.Connection.OriginalStream); sslStream.AuthenticateAsServer(cert); e.Connection.SocketStream = sslStream; }; #endif // Create the default logger var log = ftpServer.LogManager?.CreateLog(typeof(Program)); try { // Start the FTP server ftpServer.Start(); Console.WriteLine("Press ENTER/RETURN to close the test application."); Console.ReadLine(); // Stop the FTP server ftpServer.Stop(); } catch (Exception ex) { log?.Error(ex, "Error during main FTP server loop"); } } }
public DotNetFileSystemProviderTest() { _fileSystem = new DotNetFileSystemProvider(); _assemblyPath = Path.GetDirectoryName(typeof(DotNetFileSystemProviderTest).GetTypeInfo().Assembly.Location); _textFileName = "TextFile1.txt"; _csvFileName = "CsvFile1.csv"; _fileToMoveName = "FileToMove.txt"; _localFilesFolder = $"IO{Path.DirectorySeparatorChar}FileSystem{Path.DirectorySeparatorChar}Files"; _filesPath = Path.Combine(_assemblyPath, _localFilesFolder); _originFilesPath = Path.Combine(_assemblyPath, $"IO{Path.DirectorySeparatorChar}FileSystem{Path.DirectorySeparatorChar}OriginFolder"); }
private static void SetUpDependencies() { var dotNetFileSystemProvider = new DotNetFileSystemProvider(); _cli = new VersionCli( new GitVcs(), new ProjectFileDetector( dotNetFileSystemProvider ), new ProjectFileParser(), new ProjectFileVersionPatcher(dotNetFileSystemProvider), new SemVerBumper() ); }
public void Start() { var outPath = Path.Combine(Environment.CurrentDirectory, config.Path); outPath.EnsureDirectoryExistence(); log.Debug("Start FTP server: [{0}]", outPath); var membershipProvider = new AnonymousMembershipProvider(new NoValidation()); var provider = new DotNetFileSystemProvider(outPath, false); // Initialize the FTP server ftpServer = new FtpServer(provider, membershipProvider, "127.0.0.1", config.Port, new AssemblyFtpCommandHandlerFactory(typeof(FtpServer).GetTypeInfo().Assembly)); ftpServer.LogManager = new FtpLogManager(); // Start the FTP server ftpServer.Start(); }
public DotNetFileSystemProviderTests() { _provider = new DotNetFileSystemProvider(); }