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);
            }
        }
Exemple #2
0
        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();
        }
Exemple #5
0
        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()
                );
        }
Exemple #8
0
        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();
        }
Exemple #9
0
 public DotNetFileSystemProviderTests()
 {
     _provider = new DotNetFileSystemProvider();
 }