예제 #1
0
        public static async void Logout()
        {
            var device = new AndroidDevice
            {
                AndroidBoardName      = "msm8996",
                AndroidBootloader     = "G935TUVU3APG1",
                DeviceBrand           = "samsung",
                DeviceModel           = "SM-G935T",
                DeviceModelBoot       = "qcom",
                DeviceModelIdentifier = "hero2qltetmo",
                FirmwareBrand         = "hero2qltetmo",
                FirmwareFingerprint   = "samsung/hero2qltetmo/hero2qltetmo:6.0.1/MMB29M/G935TUVU3APG1:user/release-keys",
                FirmwareTags          = "release-keys",
                FirmwareType          = "user",
                HardwareManufacturer  = "samsung",
                HardwareModel         = "SM-G935T",
                DeviceGuid            = Guid.NewGuid(),
                PhoneGuid             = Guid.NewGuid(),
                Resolution            = "1440x2560",
                Dpi = "640dpi"
            };

            api.SetDevice(device);
            var logoutRequest = await api.LogoutAsync();

            Success("Logged out.");
        }
예제 #2
0
        public async Task <bool> LoginAsync(string userName, string password)
        {
            try
            {
                var userSession = new UserSessionData
                {
                    UserName = userName,
                    Password = password
                };

                var device = new AndroidDevice
                {
                    AndroidBoardName      = "HONOR",
                    DeviceBrand           = "HUAWEI",
                    HardwareManufacturer  = "HUAWEI",
                    DeviceModel           = "PRA-LA1",
                    DeviceModelIdentifier = "PRA-LA1",
                    FirmwareBrand         = "HWPRA-H",
                    HardwareModel         = "hi6250",
                    DeviceGuid            = new Guid("be897499-c663-492e-a125-f4c8d3785ebf"),
                    PhoneGuid             = new Guid("7b72321f-dd9a-425e-b3ee-d4aaf476ec52"),
                    DeviceId            = ApiRequestMessage.GenerateDeviceIdFromGuid(new Guid("be897499-c663-492e-a125-f4c8d3785ebf")),
                    Resolution          = "1080x1812",
                    Dpi                 = "480dpi",
                    FirmwareFingerprint = "HUAWEI/HONOR/PRA-LA1:7.0/hi6250/95414346:user/release-keys",
                    AndroidBootloader   = "4.23",
                    DeviceModelBoot     = "qcom",
                    FirmwareTags        = "release-keys",
                    FirmwareType        = "user"
                };

                var delay = RequestDelay.FromSeconds(1, 1);

                _instaApi = InstaApiBuilder.CreateBuilder()
                            .SetUser(userSession)
                            .UseLogger(new DebugLogger(LogLevel.Exceptions))
                            .SetRequestDelay(delay)
                            .Build();

                _instaApi.SetDevice(device);
                _instaApi.SetAcceptLanguage("tr-TR");

                const string stateFile = "state.bin";
                try
                {
                    if (File.Exists(stateFile))
                    {
                        using (var fs = File.OpenRead(stateFile))
                        {
                            _instaApi.LoadStateDataFromStream(fs);
                        }
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }

                if (!_instaApi.IsUserAuthenticated)
                {
                    // login
                    Console.WriteLine($"Logging in as {userSession.UserName}");
                    delay.Disable();
                    var logInResult = await _instaApi.LoginAsync();

                    delay.Enable();
                    if (!logInResult.Succeeded)
                    {
                        Console.WriteLine($"Unable to login: {logInResult.Info.Message}");
                        return(false);
                    }
                }
                var state = _instaApi.GetStateDataAsStream();
                using (var fileStream = File.Create(stateFile))
                {
                    state.Seek(0, SeekOrigin.Begin);
                    state.CopyTo(fileStream);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
            return(false);
        }
예제 #3
0
        public static async void Login()
        {
            var device = new AndroidDevice
            {
                AndroidBoardName      = "msm8996",
                AndroidBootloader     = "G935TUVU3APG1",
                DeviceBrand           = "samsung",
                DeviceModel           = "SM-G935T",
                DeviceModelBoot       = "qcom",
                DeviceModelIdentifier = "hero2qltetmo",
                FirmwareBrand         = "hero2qltetmo",
                FirmwareFingerprint   = "samsung/hero2qltetmo/hero2qltetmo:6.0.1/MMB29M/G935TUVU3APG1:user/release-keys",
                FirmwareTags          = "release-keys",
                FirmwareType          = "user",
                HardwareManufacturer  = "samsung",
                HardwareModel         = "SM-G935T",
                DeviceGuid            = Guid.NewGuid(),
                PhoneGuid             = Guid.NewGuid(),
                Resolution            = "1440x2560",
                Dpi = "640dpi"
            };

            var delay = RequestDelay.FromSeconds(2, 2);

            api = InstaApiBuilder.CreateBuilder()
                  .SetUser(user)
                  .UseLogger(new DebugLogger(LogLevel.Exceptions))
                  .SetRequestDelay(delay)
                  .Build();

            api.SetDevice(device);

            var loginRequest = await api.LoginAsync();

            Program p = new Program();

            if (loginRequest.Succeeded)
            {
                Console.BackgroundColor = ConsoleColor.DarkGreen;
                Console.ForegroundColor = ConsoleColor.White;
                Console.Write("** SUCCESS:");
                Console.BackgroundColor = ConsoleColor.Black;
                Console.ForegroundColor = ConsoleColor.Green;
                Console.Write(" Logged into user, ");
                Console.BackgroundColor = ConsoleColor.Black;
                Console.ForegroundColor = ConsoleColor.Blue;
                Console.Write("@" + username);
                Console.BackgroundColor = ConsoleColor.Black;
                Console.ForegroundColor = ConsoleColor.Green;
                Console.Write("!\n");
                Console.ResetColor();

                UserInformation(username);

                await p.DownloadImageFromReddit();

                aTimer          = new System.Timers.Timer((60 * 60 * 1000) / 2);
                aTimer.Elapsed += OnTimedEvent;
                aTimer.Enabled  = true;
            }
            else
            {
                ErrorReason("Error", loginRequest.Info.Message);
            }
        }