Esempio n. 1
0
        static async Task <(Credentials credentials, CookieContainer cookies)> SignUp()
        {
            for (int i = 0; i < SignUpAttempts; i++)
            {
                try
                {
                    var user = await TempMail.CreateRandomUser();

                    var cookies = await PrivateTunnel.SignUp(user);

                    Cache.SaveCredentials(user, cookies);

                    return(user, cookies);
                }
                catch (Exception) { }
            }

            return(null, null);
        }
Esempio n. 2
0
        static async Task Main(string[] args)
        {
            Credentials     user;
            CookieContainer cookies;

            if (!Cache.TryGetCredentials(out user, out cookies, out int usersInCache))
            {
                (user, cookies) = await SignUp();
            }

            FileManager.InjectCredentials(user);
            ProcessManager.RestartClient();

            Task.WaitAll(
                Enumerable.Range(0, UsersCacheSize - usersInCache)
                .Select(i => SignUp())
                .ToArray()
                );

            while (!ExitRequested())
            {
                var(left, total) = await PrivateTunnel.GetTraffic(user.Email, cookies);

                WriteLine($"Left: %Green{left}%, Total: %Green{total}%");
                await Task.Delay(TrafficUpdatePeriod);
            }

            bool ExitRequested()
            {
                while (Console.KeyAvailable)
                {
                    if (Console.ReadKey(true).Key == ConsoleKey.Escape)
                    {
                        return(true);
                    }
                }

                return(false);
            }
        }