예제 #1
0
        static void Main(string[] args)
        {
            Console.BackgroundColor = ConsoleColor.Cyan;
            Console.ForegroundColor = ConsoleColor.Black;
            Console.WriteLine("\n\t\t                        \n" +
                              "\t\t     Program BitLab     \n" +
                              "\t\t                        ");
            Console.ResetColor();
            Console.BackgroundColor = ConsoleColor.White;
            Console.ForegroundColor = ConsoleColor.Black;
            Console.WriteLine("\t\t          UKSW          \n\n");
            Console.ResetColor();

            Console.Write("Pierwszym krokiem jest wyszukanie peer'a. \n");

            Console.Write("Wprowadz ");
            Console.ForegroundColor = ConsoleColor.Magenta;
            Console.Write("dns-default");
            Console.ResetColor();
            Console.Write(", żeby użyć domyślnego DNS'a (seed.bitcoin.sipa.be). \n");

            Console.Write("Wprowadź");
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.Write(" dns-custom");
            Console.ResetColor();
            Console.Write(", żeby podać własnego DNS'a.\n");

            string input = Console.ReadLine();

            DNS.DNS dns;
            if (input == "dns-default")
            {
                dns = new DNS.DNS(DnsHelperExtension.defaultDnsName, DnsHelperExtension.defaultDnsHost);  //from hardwire seeds,
            }
            else if (input == "dns-custom")
            {
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine("\nPodaj nazwe DNS od którego chcesz uzyskać informacje.");
                Console.ResetColor();

                string dnsName = Console.ReadLine();

                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine("\nPodaj host DNS od którego chcesz uzyskać informacje.");
                Console.ResetColor();

                string dnsHost = Console.ReadLine();
                try
                {
                    dns = new DNS.DNS(dnsName, dnsHost); //DNS lookup
                }
                catch (Exception ex)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Nie udało się połączyć z " + dnsName);
                    Console.ResetColor();
                    return;
                }
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("\nPodałeś zły string. Koniec programu.");
                Console.ResetColor();
                return;
            }
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("\nWysyłam getAddr");
            Console.WriteLine("Process ....");
            Console.ResetColor();

            var dataFromDns = dns.GetAddressNodesAsync(5000);  //getaddr

            Console.Write($"Pobranie peer'ów ");
            if (dataFromDns.IsCanceled == false)
            {
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("powiodło sie.\n");
                Console.ResetColor();
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("nie powiodło się.\n");
                Console.ResetColor();
            }

            if (!dataFromDns.IsCanceled)
            {
                PeersHelperExtension.PrintPeersFromDns(dataFromDns);
            }
        }
예제 #2
0
        static void Main(string[] args)
        {
            for (;;)
            {
                MessageCenter.WelcomeTitle();
                if (!FunctionCenter.isConnect())
                {
                    Console.WriteLine("\n Niestety nie masz aktywnego polaczenia internegowego, sprobuj pozniej \n");
                    return;
                }

                string input = Console.ReadLine();
                input = FunctionCenter.isStrOK(input);
                DNS.DNS dns;

                if (input == "dns-default")
                {
                    dns = new DNS.DNS(DnsHelperExtension.defaultDnsName,
                                      DnsHelperExtension.defaultDnsHost); //from hardwire seeds,
                    MessageCenter.statusMsg();

                    var dataFromDns = dns.GetAddressNodesAsync(5000); //getaddr
                    Console.Write($"Pobranie peer'ów ");
                    if (dataFromDns.IsCanceled == false)
                    {
                        MessageCenter.powMsg();
                    }
                    else
                    {
                        MessageCenter.npowMsg();
                    }

                    if (!dataFromDns.IsCanceled)
                    {
                        PeersHelperExtension.PrintPeersFromDns(dataFromDns);
                    }
                }
                else if (input == "dns-custom")
                {
                    MessageCenter.qdnsMsg();
                    string dnsName = Console.ReadLine();
                    MessageCenter.qdnshMsg();
                    string dnsHost = Console.ReadLine();

                    try
                    {
                        dns = new DNS.DNS(dnsName, dnsHost); //DNS lookup
                        FunctionCenter.customDNS(dns);
                        MessageCenter.statusMsg();

                        var dataFromDns = dns.GetAddressNodesAsync(5000); //getaddr
                        Console.Write($"Pobranie peer'ów ");
                        if (dataFromDns.IsCanceled == false)
                        {
                            MessageCenter.agMsg();
                        }
                        else
                        {
                            MessageCenter.abMsg();
                        }

                        if (!dataFromDns.IsCanceled)
                        {
                            PeersHelperExtension.PrintPeersFromDns(dataFromDns);
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageCenter.acconectMsg(dnsName);
                    }
                }

                //
            }
        }