// methods private async Task solveCaptcha(Job j) { string captchaResponse = null; j.Status = "Getting captcha response..."; if (Manager.use2Captcha) { _2Captcha captcha = new _2Captcha(Manager.myKey, Manager.siteKey); captchaResponse = await captcha.solveCaptcha(); } else if (Manager.useAntiCaptcha) { AntiCaptcha captcha = new AntiCaptcha(Manager.myKey, Manager.siteKey); captchaResponse = captcha.solveCaptcha(); } if (captchaResponse == "false") { j.Status = "Error Getting Captcha!"; } else { //_status = true; j.Status = "Got captcha response!"; j.CaptchaResponse = captchaResponse; } }
/// <summary> /// Automatically bypasses HackForums captcha/cloudflare system. /// This should called immediately after initializing, if your program is running on a server. /// </summary> public static bool BypassCaptchaSystem(this HttpClient client, string _2captchApiKey) { // send a request to the API string response = client.ApiGet("?version"); // check if we actually *need* to bypass the captcha if (!response.Contains("HackForums.net wants to verify that you're a human.")) { return(true); } // get the url we'll be submitting our bypass to string submitURL = GetActionURL(response); if (string.IsNullOrEmpty(submitURL)) { return(false); } // get the value of 's' string s = GetValueS(response); if (string.IsNullOrEmpty(s)) { return(false); } // get script data (data-raw and data-sitekey) Tuple <string, string> scriptData = GetScriptData(response); if (scriptData == null) { return(false); } string ray = scriptData.Item1; string siteKey = scriptData.Item2; // use the _2Captcha class to get a valid token to bypass the captcha _2Captcha captcha = new _2Captcha(HACKFORUMS, siteKey, _2captchApiKey); string token = captcha.GetToken(); if (token == null) { return(false); } NameValueCollection queryString = HttpUtility.ParseQueryString(string.Empty); queryString["s"] = s; queryString["id"] = ray; queryString["g-recaptcha-response"] = token; string requestString = submitURL + "?" + queryString.ToString(); _ = client.GetAsync(requestString).Result; return(true); }
private async Task BumpBot() { _config = BuildConfig(); _service = ConfigureServices(); _captcha = new _2Captcha(_config["apiKey"]); _web = new ChromeDriver(@"Componements\"); await Task.Delay(-1); }
static async Task Main(string[] args) { var captcha = new _2Captcha(" ## YOUR API KEY ## "); // .. additionally you can pass your own httpClient class var captchaWithHttpClient = new _2Captcha(" ## YOUR API KEY ## ", new HttpClient()); // Get current balance var balance = await captcha.GetBalance(); // Solve image captcha var image1 = await captcha.SolveImage(new FileStream("captcha.png", FileMode.Open)); var image2 = await captcha.SolveImage("data:image/png;base64,iVBORw0KGgo..."); // Solve text captcha var question = await captcha.SolveQuestion("1 + 3 = ?"); // Solve hCaptcha var hcaptcha = await captcha.SolveHCaptcha("HCAPTCHA_SITE_KEY", "https://example.com"); // Solve ReCaptchaV2 var recaptcha = await captcha.SolveReCaptchaV2("GOOGLE_SITE_KEY", "https://example.com"); var recaptchaInvisible = await captcha.SolveReCaptchaV2("GOOGLE_SITE_KEY", "https://example.com", true); // Solve ReCaptchaV3 var recaptcha3 = await captcha.SolveReCaptchaV3("GOOGLE_SITE_KEY", "https://example.com", "ACTION", 0.4); // Solve ClickCaptcha var click1 = await captcha.SolveClickCaptcha(new FileStream("captcha.png", FileMode.Open), "Click on ghosts"); var click2 = await captcha.SolveClickCaptcha("data:image/png;base64,iVBORw0KGgo...", "Click on ghosts"); // Solve RotateCaptcha var rotate = await captcha.SolveRotateCaptcha(new Stream[] {new FileStream("captcha.png", FileMode.Open)}, "40"); // Solve FunCaptcha var fun = await captcha.SolveFunCaptcha("FUN_CAPTCHA_PUBLIC_KEY", "https://example.com"); var funNoJavaScript = await captcha.SolveFunCaptcha("FUN_CAPTCHA_PUBLIC_KEY", "https://example.com", true); // Solve KeyCaptcha var key = await captcha.SolveKeyCaptcha("USER_ID", "SESSION_ID", "WEB_SIGN_1", "WEB_SIGN_2", "https://example.com"); Debugger.Break(); }
private async void getBalance() { double balance = 0; string title = null; if (radioButton2Captcha.IsChecked == true) { _2Captcha twoCaptcha = new _2Captcha(Manager.myKey, Manager.siteKey); balance = await twoCaptcha.getBalance(); title = "2Captcha"; } else if (radioButtonAntiCaptcha.IsChecked == true) { AntiCaptcha antiCaptcha = new AntiCaptcha(Manager.myKey, Manager.siteKey); balance = antiCaptcha.getBalance(); title = "Anti-Captcha"; } await this.ShowMessageAsync(title, "Balance " + balance, MessageDialogStyle.Affirmative); }
public static async Task <string> SolveRegisterCaptcha() { var captcha = new _2Captcha("5093eb3ba7608e487fd05f6abbeb2f21"); var balance = await captcha.GetBalance(); Console.WriteLine($"2Captcha Balance: {balance.Response}$"); while (true) { var resCaptcha = await captcha.SolveReCaptchaV2("6Lef5iQTAAAAAKeIvIY-DeexoO3gj7ryl9rLMEnn", "https://discordapp.com/api/v6/auth/register", Program.Proxy, _2CaptchaAPI.Enums.ProxyType.Https); if (resCaptcha.Success) { return(resCaptcha.Response); } else { Console.WriteLine("Captcha f****d up"); } } }
public ResolveState Resolve(CaptchaStatics statics, CaptchaService service) { if (service == CaptchaService.CAP_MONSTER) { Capmonter capmonter = new Capmonter(statics); return(capmonter.ResoloveCaptcha()); } else if (service == CaptchaService.ANTI_CAPTCHA) { AntiCaptcha antiCaptcha = new AntiCaptcha(statics); return(antiCaptcha.ResovleCaptcha()); } else if (service == CaptchaService.BYPASS) { AntiCaptcha antiCaptcha = new AntiCaptcha(statics); return(antiCaptcha.ResovleCaptcha()); } else { _2Captcha _2Captcha = new _2Captcha(statics.Apikey); return(_2Captcha.SolveRecaptchaV2(YolikerStatics.GooglePublicKey, YolikerStatics.LikeCustomUri, out statics.SolvedCaptchaResponse)); } }
private static async Task Foo() { /* * Class initialization * Optionally you can pass 2nd parameter `httpClient` with custom HttpClient to use while requesting API */ var captcha = new _2Captcha("API_KEY"); var captchaCustomHttp = new _2Captcha("API_KEY", new HttpClient()); /* * Set custom API url (optional) */ captcha.SetApiUrl("https://CUSTOM_URL"); /* * Get current balance */ var balance = await captcha.GetBalance(); /* * Type: Image * * Documentation (2captcha): https://2captcha.com/2captcha-api#solving_normal_captcha */ var image = await captcha.SolveImage(new FileStream("captcha.png", FileMode.Open), FileType.Png); var image2 = await captcha.SolveImage(File.ReadAllBytes("captcha.png"), FileType.Png); var image3 = await captcha.SolveImage("BASE64_IMAGE", FileType.Png); var imageCaseSensitive = await captcha.SolveImage(new FileStream("captcha.png", FileMode.Open), FileType.Png, new KeyValuePair <string, string>("regsense", "1")); var imageCaseSensitive2 = await captcha.SolveImage(File.ReadAllBytes("captcha.png"), FileType.Png, new KeyValuePair <string, string>("regsense", "1")); var imageCaseSensitive3 = await captcha.SolveImage("BASE64_IMAGE", FileType.Png, new KeyValuePair <string, string>("regsense", "1")); /* * Type: Text * * Documentation (2captcha): https://2captcha.com/2captcha-api#solving_text_captcha */ var question = await captcha.SolveQuestion("1 + 3 = ?"); /* * Type: ReCaptcha V2 * Optionally you can pass 3rd parameter `isInvisible` to indicate if the reCaptcha is setup as invisible * * Homepage: https://www.google.com/recaptcha/ * Documentation (vendor): https://developers.google.com/recaptcha/docs/display * Documentation (2captcha): https://2captcha.com/2captcha-api#solving_recaptchav2_new */ var reCaptcha = await captcha.SolveReCaptchaV2("SITE_KEY", "https://WEBSITE_URL"); var reCaptchaInvisible = await captcha.SolveReCaptchaV2("SITE_KEY", "https://WEBSITE_URL", true); var reCaptchaWithProxy = await captcha.SolveReCaptchaV2("SITE_KEY", "https://WEBSITE_URL", "username:password@address:port", ProxyType.Http); /* * Type: ReCaptcha V3 * * Homepage: https://www.google.com/recaptcha/ * Documentation (vendor): https://developers.google.com/recaptcha/docs/v3 * Documentation (2captcha): https://2captcha.com/2captcha-api#solving_recaptchav3 */ var reCaptchaV3 = await captcha.SolveReCaptchaV3("SITE_KEY", "https://WEBSITE_URL", "ACTION", 0.4); var reCaptchaV3WithProxy = await captcha.SolveReCaptchaV3("SITE_KEY", "https://WEBSITE_URL", "username:password@address:port", ProxyType.Http, "ACTION", 0.4); /* * Type: hCaptcha * * Homepage: https://www.hcaptcha.com/ * Documentation (vendor): https://docs.hcaptcha.com/ * Documentation (2captcha): https://2captcha.com/2captcha-api#solving_hcaptcha */ var hCaptcha = await captcha.SolveHCaptcha("SITE_KEY", "https://WEBSITE_URL"); var hCaptchaWithProxy = await captcha.SolveHCaptcha("SITE_KEY", "https://WEBSITE_URL", "username:password@address:port", ProxyType.Http); /* * Type: GeeTest * * Homepage: https://www.geetest.com/en * Documentation (vendor): https://docs.geetest.com/en * Documentation (2captcha): https://2captcha.com/2captcha-api#solving_geetest */ var geeTest = await captcha.SolveGeeTest("SITE_KEY", "https://WEBSITE_URL", "CHALLENGE"); /* * Type: ClickCaptcha * * Documentation (2captcha): https://2captcha.com/2captcha-api#solving_clickcaptcha */ var clickCaptcha = await captcha.SolveClickCaptcha(new FileStream("captcha.png", FileMode.Open), FileType.Png, "TASK"); var clickCaptcha2 = await captcha.SolveClickCaptcha(File.ReadAllBytes("captcha.png"), FileType.Png, "TASK"); var clickCaptcha3 = await captcha.SolveClickCaptcha("BASE64_IMAGE", FileType.Png, "TASK"); /* * Type: RotateCaptcha * * Documentation (2captcha): https://2captcha.com/2captcha-api#solving_rotatecaptcha */ var rotateCaptcha = await captcha.SolveRotateCaptcha( new Stream[] { new FileStream("captcha1.png", FileMode.Open), new FileStream("captcha2.png", FileMode.Open), new FileStream("captcha3.png", FileMode.Open), }, FileType.Png, "40"); /* * Type: FunCaptcha * * Documentation (2captcha): https://2captcha.com/2captcha-api#solving_funcaptcha_new */ var funCaptcha = await captcha.SolveFunCaptcha("PUBLIC_KEY", "https://WEBSITE_URL"); var funCaptchaNoJavaScript = await captcha.SolveFunCaptcha("PUBLIC_KEY", "https://WEBSITE_URL", true); var funCaptchaWithProxy = await captcha.SolveFunCaptcha("PUBLIC_KEY", "https://WEBSITE_URL", "username:password@address:port", ProxyType.Http); /* * Type: KeyCaptcha * * Homepage: https://www.keycaptcha.com/ * Documentation (2captcha): https://2captcha.com/2captcha-api#solving_keycaptcha */ var keyCaptcha = await captcha.SolveKeyCaptcha("USER_ID", "SESSION_ID", "WEB_SIGN_1", "WEB_SIGN_2", "https://WEBSITE_URL"); Debugger.Break(); }
public Bump(IConfiguration config, ChromeDriver web, _2Captcha captcha) { _config = config; _web = web; _captcha = captcha; }
public Worker(ILogger <Worker> logger, ChromeDriver chrome, _2Captcha captcha) { _logger = logger; _chrome = chrome; _captcha = captcha; }
static async Task DoShit() { Random random = new Random(); while (true) { //CAPTCHA INIT var captcha = new _2Captcha("5093eb3ba7608e487fd05f6abbeb2f21"); var balance = await captcha.GetBalance(); Console.WriteLine($"2Captcha Balance: {balance.Response}$"); //PROXY PREP string[] lines = File.ReadAllLines("proxies.txt"); Proxy = lines[random.Next(0, lines.Length - 1)]; WebProxy proxy = new WebProxy(Proxy); Console.WriteLine($"Using Proxy: {Proxy}"); //REST TEST Stopwatch watch = new Stopwatch(); watch.Start(); Console.WriteLine($"REST request test.."); var client = new RestClient("https://reqres.in/api/"); var request = new RestRequest("users"); request.AddHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"); request.Timeout = 15000; client.Proxy = proxy; var response = await client.ExecutePostAsync(request); var content = response.Content; watch.Stop(); Console.WriteLine($"Elapsed: {watch.Elapsed.TotalSeconds}s"); if (content.Length > 0) { Console.WriteLine($"Proxy usable - returned content ({content})"); } if (content.Length == 0) { continue; } if (watch.ElapsedMilliseconds > (15 * 1000)) { continue; } //CAPTCHA SOLVE Console.WriteLine($"Solving Captcha.."); //var captcha = await captcha.SolveHCaptcha("f5561ba9-8f1e-40ca-9b5b-a0b3f719ef34", "https://discordapp.com/api/v6/auth/register", proxypick, _2CaptchaAPI.Enums.ProxyType.Https); var resCaptcha = await captcha.SolveReCaptchaV2("6Lef5iQTAAAAAKeIvIY-DeexoO3gj7ryl9rLMEnn", "https://discordapp.com/api/v6/auth/register", Proxy, _2CaptchaAPI.Enums.ProxyType.Https); Console.WriteLine($"Result: {resCaptcha.Response}"); Console.WriteLine($"Success: {resCaptcha.Success}"); //CLIENT NAME const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; string randstring = new string(Enumerable.Range(1, 10).Select(_ => chars[random.Next(chars.Length)]).ToArray()).ToLower(); Console.WriteLine($"Random user account: DB{randstring}"); Login = randstring; Console.WriteLine(); Console.WriteLine("--------------------------------------------------------------"); Console.WriteLine("REGISTER LOGIC START"); Console.WriteLine(); while (true) { //REGISTER REQUEST Console.WriteLine("Discord register request.."); client = new RestClient("https://discordapp.com/api/v6/"); request = new RestRequest("auth/register"); request.RequestFormat = DataFormat.Json; request.AddJsonBody(new { email = $"DB{randstring}@coolman.fun", username = $"Coolman", password = "******", invite = "", consent = true, gift_code_sku_id = "", captcha_key = resCaptcha.Response }); request.AddHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"); //request.AddHeader("content-type", "application/json"); //request.AddHeader("Connection", "keep-alive"); client.Proxy = proxy; response = await client.ExecutePostAsync(request); Console.WriteLine($"Register: {response.Content}"); if (response.Content.Length == 0) { Console.WriteLine("Response invalid, press ENTER to repeat process"); Console.ReadLine(); continue; } //RESPONSE PARSE dynamic json = JObject.Parse(response.Content); if (json.ContainsKey("token")) { Token = json.token; Console.WriteLine($"Token: {Token}"); bool didIt = false; while (true) { Imap4Client em = new Imap4Client(); Console.WriteLine(em.ConnectSsl("wes1-imap2.wedos.net", 993)); Console.WriteLine(em.Login("*****@*****.**", "-Poqwlkas1")); //custom var mails = em.SelectMailbox("INBOX"); var msgs = mails.SearchParse("ALL").Cast <Message>(); Console.WriteLine($"Loaded emails {msgs.Count()}"); if (msgs.Count() == 0) { continue; } //MAIL BROWSE foreach (Message mail in msgs) { if (mail.To[0].Email == $"db{randstring}@coolman.fun") { var html = mail.BodyHtml.Text; Regex rg = new Regex("https:\\/\\/click\\.discord\\.com\\/ls\\/click\\?upn=(.*)\" *style.*\n.*Verify"); var link = rg.Match(html); if (link.Success) { //VERIFY LINK RESOLVE Console.WriteLine($"Original: {link.Groups[1]}{Environment.NewLine}"); var resolved = GetFinalRedirect("https://click.discord.com/ls/click?upn=" + link.Groups[1]); Console.WriteLine($"Resolved: {resolved}{Environment.NewLine}"); resolved = resolved.Substring(33); Console.WriteLine($"Token: {resolved}{Environment.NewLine}"); //CAPTCHA Console.WriteLine($"Solving Captcha.."); resCaptcha = await captcha.SolveReCaptchaV2("6Lef5iQTAAAAAKeIvIY-DeexoO3gj7ryl9rLMEnn", "https://discordapp.com/", Proxy, _2CaptchaAPI.Enums.ProxyType.Https); Console.WriteLine($"Success: {resCaptcha.Success}"); //VERIFY request = new RestRequest("auth/verify"); request.RequestFormat = DataFormat.Json; request.AddJsonBody(new { token = resolved, captcha_key = resCaptcha.Response }); request.AddHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"); response = await client.ExecutePostAsync(request); Console.WriteLine($"Login: {response.Content}"); dynamic data = JObject.Parse(response.Content); Token = data.token; /////////////////// didIt = true; break; } } } if (didIt) { break; } Console.WriteLine("No e-mail.. Delay 5s"); await Task.Delay(5000); continue; } break; } else { Console.WriteLine("Response invalid, press ENTER to repeat process"); Console.ReadLine(); continue; } } Console.WriteLine(); Console.WriteLine("--------------------------------------------------------------"); Console.WriteLine("LOGIN & SPAM LOGIC START"); Console.WriteLine(); while (true) { try { Console.WriteLine("Using RestSharp"); client = new RestClient("https://discordapp.com/api/v6/"); client.Proxy = proxy; ///////////////////////////////////////////// //LOGIN request = new RestRequest("auth/login"); request.RequestFormat = DataFormat.Json; request.AddJsonBody(new { email = $"{Login}@coolman.fun", password = "******", undelete = "false", captcha_key = "null", login_source = "null" }); request.AddHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"); response = await client.ExecutePostAsync(request); dynamic data = JObject.Parse(response.Content); Token = data.token; Console.WriteLine($"Login: {response.Content}"); //Console.ReadLine(); /////////////////// //INVITE request = new RestRequest($"invite/{InviteID}"); request.AddHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"); request.AddHeader("Authorization", Token); response = await client.ExecutePostAsync(request); Console.WriteLine($"Invite: {response.Content}"); //Console.ReadLine(); /////////////////// //GATEWAY Console.WriteLine("Connecting to Discord Gateway"); var factory = new Func <ClientWebSocket>(() => new ClientWebSocket { Options = { Proxy = proxy } }); var exitEvent = new ManualResetEvent(false); using (var wsc = new WebsocketClient(new Uri("wss://gateway.discord.gg"), factory)) { wsc.ReconnectTimeout = TimeSpan.FromSeconds(30); //wsc.ReconnectionHappened.Subscribe(info => //Log.Information($"Reconnection happened, type: {info.Type}")); wsc.MessageReceived.Subscribe(msg => { Console.WriteLine($"Gateway incoming: {msg}"); exitEvent.Set(); }); wsc.Start(); //Task.Run(() => wsc.Send("{ message }")); exitEvent.WaitOne(); //Console.ReadLine(); wsc.Send("{\"op\":2,\"d\":{\"token\":\"" + Token + "\",\"intents\":7,\"properties\":{\"$os\":\"linux\",\"$browser\":\"chrome\",\"$device\":\"build\"},\"compress\":true,\"large_threshold\":250,\"guild_subscriptions\":false,\"shard\":[0,1],\"presence\":{\"activities\":[{\"name\":\"What's up\",\"type\":0}],\"status\":\"dnd\",\"since\":91879201,\"afk\":false}}}"); //Console.ReadLine(); exitEvent.WaitOne(); } //SPAM LOOP (unbreakable) Console.WriteLine("Setup successful - SPAM READY"); Console.WriteLine("Press ENTER to start"); Console.ReadLine(); while (true) { var chat = File.ReadAllLines("chat.txt"); request = new RestRequest($"channels/{ChannelID}/messages"); //request.RequestFormat = DataFormat.Json; request.AddQueryParameter("Authorization", Token); request.AddParameter("Authorization", Token); request.AddJsonBody(new { authorization = Token, content = chat[random.Next(chat.Length)], nonce = ((DateTime.Now.Ticks - 1420070400000) * 4194304), tts = "false" }); request.AddHeader("Authorization", Token); response = await client.ExecutePostAsync(request); Console.WriteLine($"Message: {response.Content}"); data = JObject.Parse(response.Content); if (data.ContainsKey("retry_after")) { await Task.Delay(int.Parse(data.retry_after)); } else { await Task.Delay(random.Next(1000, 4000)); } } ; } catch (Exception e) { Console.WriteLine($"Error S2: {e.Message}"); Console.ReadLine(); continue; //reset logic } } Console.WriteLine("End of loop"); Console.ReadLine(); break; } Console.WriteLine("Program End"); }
static async Task DoTempShit() { //CAPTCHA INIT var captcha = new _2Captcha("5093eb3ba7608e487fd05f6abbeb2f21"); var balance = await captcha.GetBalance(); Console.WriteLine($"2Captcha Balance: {balance.Response}$"); //PROXY PREP WebProxy proxy = new WebProxy(Proxy); Console.WriteLine($"Using Proxy: {Proxy}"); //REST TEST Stopwatch watch = new Stopwatch(); watch.Start(); Console.WriteLine($"REST request test.."); var client = new RestClient("https://reqres.in/api/"); var request = new RestRequest("users"); request.AddHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"); request.Timeout = 15000; client.Proxy = proxy; //var response = await client.ExecutePostAsync(request); var content = "s"; //response.Content; watch.Stop(); Console.WriteLine($"Elapsed: {watch.Elapsed.TotalSeconds}s"); if (content.Length > 0) { Console.WriteLine($"Proxy usable - returned content ({content})"); } //Console.WriteLine("Press ENTER to procceed"); //Console.ReadLine(); /////// Random rand = new Random(); try { Console.WriteLine("Using RestSharp"); client = new RestClient("https://discordapp.com/api/v6/"); client.Proxy = proxy; ///////////////////////////////////////////// Imap4Client em = new Imap4Client(); Console.WriteLine(em.ConnectSsl("wes1-imap2.wedos.net", 993)); Console.WriteLine(em.Login("*****@*****.**", "-Poqwlkas1")); //custom var mails = em.SelectMailbox("INBOX"); var msgs = mails.SearchParse("ALL").Cast <Message>(); Console.WriteLine($"Loaded emails {msgs.Count()}"); bool didIt = false; //MAIL BROWSE foreach (Message mail in msgs) { foreach (var to in mail.To) { Console.WriteLine($"{to.Email} vs {Login.ToLower()}"); } if (mail.To[0].Email.CompareTo($"{Login.ToLower()}@coolman.fun") == 0) { Console.WriteLine("Found email"); var html = mail.BodyHtml.Text; Regex rg = new Regex("https:\\/\\/click\\.discord\\.com\\/ls\\/click\\?upn=(.*)\" *style.*\n.*Verify"); var link = rg.Match(html); if (link.Success) { foreach (var grp in link.Groups) { Console.WriteLine($"Group: <<<{grp}>>>"); } //VERIFY LINK RESOLVE Console.WriteLine($"Original: {link.Groups[1]}{Environment.NewLine}"); var resolved = GetFinalRedirect("https://click.discord.com/ls/click?upn=" + link.Groups[1]); Console.WriteLine($"Resolved: {resolved}{Environment.NewLine}"); resolved = resolved.Substring(33); Console.WriteLine($"Token: {resolved}{Environment.NewLine}"); Console.WriteLine("Press ENTER to procceed"); Console.ReadLine(); //CAPTCHA Console.WriteLine($"Solving Captcha.."); var resCaptcha = await captcha.SolveReCaptchaV2("6Lef5iQTAAAAAKeIvIY-DeexoO3gj7ryl9rLMEnn", "https://discordapp.com/", Proxy, _2CaptchaAPI.Enums.ProxyType.Https); Console.WriteLine($"Success: {resCaptcha.Success}"); //VERIFY request = new RestRequest("auth/verify"); request.RequestFormat = DataFormat.Json; request.AddJsonBody(new { token = resolved, captcha_key = resCaptcha.Response }); request.AddHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"); var response = await client.ExecutePostAsync(request); Console.WriteLine($"Login: {response.Content}"); Console.ReadLine(); /////////////////// didIt = true; break; } } } } catch (WebException e) { Console.WriteLine($"Error: {e.Message}"); } }