Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using InstagramAccCreator.Logger;
- using MahApps.Metro.Controls;
- using Microsoft.Win32;
- using Newtonsoft.Json.Linq;
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Net;
- using System.Net.Http;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Imaging;
- using System.Windows.Shapes;
- namespace InstagramAccCreator
- {
- /// <summary>
- /// Interaction logic for Creator.xaml
- /// </summary>
- public partial class Creator : MetroWindow
- {
- private static Random random = new Random();
- private static List<String> emails = new List<String> { "@gmail.com", "@yahoo.com", "@outlook.com", "@hotmail.com" };
- private static ILogger logger = FileLogger.Instance;
- List<string> Proxies;
- public Creator()
- {
- InitializeComponent();
- Proxies = new List<string>();
- }
- private void ProxiesBtn_Click(object sender, RoutedEventArgs e)
- {
- OpenFileDialog odf = new OpenFileDialog();
- if (odf.ShowDialog() == true)
- {
- string line = "";
- System.IO.StreamReader file = new System.IO.StreamReader(odf.FileName);
- while ((line = file.ReadLine()) != null)
- {
- Proxies.Add(line);
- }
- file.Close();
- }
- }
- public static string RandomString(int length)
- {
- const string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
- return new string(Enumerable.Repeat(chars, length)
- .Select(s => s[random.Next(s.Length)]).ToArray());
- }
- private Stack<Dictionary<string, string>> GetRandom(int amount)
- {
- try
- {
- Stack<Dictionary<string, string>> ret = new Stack<Dictionary<string, string>>();
- HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://randomuser.me/api/?results=" + amount.ToString());
- request.AutomaticDecompression = DecompressionMethods.GZip;
- string json = null;
- using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
- using (Stream stream = response.GetResponseStream())
- using (StreamReader reader = new StreamReader(stream))
- {
- json = reader.ReadToEnd();
- }
- var parsed = JObject.Parse(json);
- foreach (var user in parsed["results"])
- {
- Dictionary<string, string> tmp = new Dictionary<string, string>();
- tmp["username"] = (string)user["login"]["username"] + RandomString(3);
- tmp["password"] = RandomString(8);
- tmp["email"] = tmp["username"] + '.' + RandomString(3) + emails[random.Next(emails.Count)];
- tmp["name"] = (string)user["name"]["first"];
- tmp["seamless_login_enabled"] = "1";
- ret.Push(tmp);
- }
- return ret;
- }
- catch (Exception e)
- {
- logger.Log(e.ToString());
- return null;
- }
- }
- private void AddTextLine(string text)
- {
- TxtBox.AppendText(text);
- TxtBox.AppendText(Environment.NewLine);
- Thread.Sleep(1000);
- }
- private async Task<ERRORS> Register(string proxy, Dictionary<string, string> details)
- {
- var handler = new HttpClientHandler
- {
- AllowAutoRedirect = true,
- UseCookies = true,
- CookieContainer = new CookieContainer()
- };
- /*
- try
- {
- handler.Proxy = new WebProxy(proxy);
- }
- catch
- {
- logger.Log("Bad Proxy");
- return ERRORS.FAIL;
- }
- handler.UseProxy = true;
- */
- var client = new HttpClient(handler);
- client.BaseAddress = new Uri("https://www.instagram.com");
- client.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");
- client.DefaultRequestHeaders.Add("X-Instagram-AJAX", "846d5a59d9e9");
- client.DefaultRequestHeaders.Add("X-Requested-With", "XMLHttpRequest");
- try
- {
- await client.GetAsync("/");
- }
- catch
- {
- logger.Log("Failed get request, probably bad proxy");
- return ERRORS.FAIL;
- }
- var cookies = handler.CookieContainer.GetCookies(client.BaseAddress);
- client.DefaultRequestHeaders.Add("X-CSRFToken", cookies["csrftoken"].Value);
- var request = new HttpRequestMessage(HttpMethod.Post, "/accounts/web_create_ajax/");
- request.Content = new FormUrlEncodedContent(details);
- request.Headers.Referrer = new Uri(client.BaseAddress, "/");
- HttpResponseMessage response = null;
- try
- {
- response = await client.SendAsync(request);
- }
- catch
- {
- logger.Log("Failed post request, probably bad proxy");
- return ERRORS.FAIL;
- }
- var content = await response.Content.ReadAsStringAsync();
- JObject info = null;
- try
- {
- info = JObject.Parse(content);
- }
- catch
- {
- logger.Log("Failed parsing JSON, probably bad request");
- return ERRORS.FAIL;
- }
- try
- {
- if (info["account_created"] != null && (bool)info["account_created"])
- {
- logger.Log("Created a new user");
- return ERRORS.SUCCESS;
- }
- else
- {
- if (info["errors"] != null && info["errors"].HasValues)
- {
- if (info["errors"]["ip"] != null)
- {
- logger.Log("Bad IP");
- logger.Log(info["errors"].ToString());
- return ERRORS.IP;
- }
- if (info["errors"]["email"] != null)
- {
- logger.Log("Bad Email: " + details["email"]);
- logger.Log(info["errors"].ToString());
- return ERRORS.EMAIL;
- }
- if (info["errors"]["username"] != null)
- {
- logger.Log("Bad User: " + details["username"]);
- logger.Log(info["errors"].ToString());
- return ERRORS.USERNAME;
- }
- }
- }
- }
- catch
- {
- logger.Log("JSON Parsing failed");
- return ERRORS.FAIL;
- }
- return ERRORS.FAIL;
- }
- private void UserToFile(string proxy, Dictionary<string, string> details)
- {
- File.AppendAllText("results.txt", String.Format("{0}:{1}:{2}:{3}:{4}", details["username"], details["password"], details["email"], details["name"], proxy) + Environment.NewLine);
- }
- private async void StartBtn_Click(object sender, RoutedEventArgs e)
- {
- StartBtn.IsEnabled = false;
- AddTextLine("Starting...");
- if (Proxies.Count == 0)
- {
- MessageBox.Show("No Proxies are loaded");
- StartBtn.IsEnabled = true;
- return;
- }
- var users = GetRandom(20);
- int amount = 0;
- if(! int.TryParse(Amnt.Text, out amount))
- {
- MessageBox.Show("Please type an integer");
- StartBtn.IsEnabled = true;
- return;
- }
- foreach (var proxy in Proxies)
- {
- for (var i = 0; i < amount; i++)
- {
- if (users.Count == 0)
- users = GetRandom(20);
- if (users == null)
- {
- MessageBox.Show("Failed getting random details");
- }
- var user = users.Pop();
- ERRORS error = await Register(proxy, user);
- switch (error)
- {
- case ERRORS.SUCCESS:
- {
- UserToFile(proxy, user);
- AddTextLine("User: " + user["username"] + " created");
- break;
- }
- case ERRORS.IP:
- case ERRORS.FAIL:
- {
- users.Push(user);
- AddTextLine("Bad IP, skipping proxy");
- i = amount;
- break;
- }
- case ERRORS.USERNAME:
- case ERRORS.EMAIL:
- {
- AddTextLine("Bad username/email, retrying with new details");
- i--;
- break;
- }
- }
- }
- }
- StartBtn.IsEnabled = true;
- }
- enum ERRORS
- {
- SUCCESS,
- IP,
- EMAIL,
- USERNAME,
- FAIL
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement