示例#1
0
        static async Task Main()
        {
            DisplayHelloInfo();

            BashProcess.IsWSL = SettingsManager.AppConfig.WSL;

            _tunnel = new ReverseSSHTunnel(SettingsManager.AppConfig.RemoteHost, SettingsManager.AppConfig.LocalHost);

            (TunnelConnectionState, string)tunnelConnectionState = await _tunnel.CheckAndKillOldProcesses();

            Console.WriteLine($"{DateTime.Now} -> Current tunnel state is: {tunnelConnectionState.Item1}");

            if (!string.IsNullOrWhiteSpace(tunnelConnectionState.Item2))
            {
                Console.WriteLine($"{DateTime.Now} -> Error while killing processes: {tunnelConnectionState.Item2}");
            }

            _client = new DiscordSocketClient();

            _client.Log             += Log;
            _client.MessageReceived += MessageReceived;

            await _client.LoginAsync(TokenType.Bot, SettingsManager.AppConfig.DiscordBot.Token);

            await _client.StartAsync();

            await SetCurrentActivity(tunnelConnectionState.Item1);

            await Task.Delay(-1);
        }
示例#2
0
        static async Task Main()
        {
            BashTools.BashProcess.IsWSL = SettingsManager.AppConfig.WSL;

            ReverseSSHTunnel reverseSSHTunnel = new ReverseSSHTunnel(SettingsManager.AppConfig.RemoteHost, SettingsManager.AppConfig.LocalHost);

            reverseSSHTunnel.Start();

            TunnelConnectionState currentConnectionState = await reverseSSHTunnel.CheckConnectionType();

            Console.WriteLine($"\nTunnel has been started. Current connection state => {currentConnectionState}");

            Console.WriteLine("\nClick any key, to stop tunnel...");
            Console.ReadKey();

            currentConnectionState = (await reverseSSHTunnel.Stop()).Item1;
            Console.WriteLine($"\nTunnel has been stopped. Current connection state => {currentConnectionState}");

            Console.WriteLine("\nClick any key, to exit demo app...");
            Console.ReadKey();
        }